Que tecnologia devo usar para um jogo baseado na Web? [fechadas]
12
Qual é a melhor tecnologia para um jogo online, ou seja, jogável através de um navegador da web? Eu acho que as únicas opções são:
Applets Java
Instantâneo
luz cinza
Estou inclinado a applets Java, simplesmente porque eles parecem ter melhores recursos de programação que o Flash, e os gráficos para um jogo de applets java podem ser mais baratos que os gráficos para Flash. Não sei muito sobre o Silverlight.
Presumivelmente, não existe um único "melhor" aqui, apenas que ferramentas diferentes são melhores que outras em situações específicas e existem trocas com tudo?
Ian Schreiber
Isso é definitivamente subjetivo e deve ser CW. Tenho a sensação de que isso se transformará em uma lista.
Ricket 20/08/10
Por que você não encontra um jogo ou jogos que gosta e descobre o que foi usado para criá-lo?
Sam
Respostas:
7
Só porque os applets Java não são populares, não significa que eles não sejam poderosos ou dignos de jogos. Na verdade, estou focado no desenvolvimento de jogos Java no momento; Gosto da natureza de alto nível da linguagem, da sua plataforma cruzada (em comparação com o C #), da biblioteca JOGL , que fornece uma experiência OpenGL muito parecida com o C para a plataforma Java (ou sua alternativa, LWJGL ou um mecanismo como jMonkeyEngine ) e sua velocidade (obviamente mais lenta que C ++, mas consideravelmente mais rápida que linguagens de script como Python).
Com o Java, você pode implantar seu aplicativo como um Applet para rodar no navegador e até fornecer uma alternativa JNLP para aqueles que preferem instalar algo.
Você pode tirar proveito de todas as ferramentas que foram criadas para Java; o maravilhoso IDE Eclipse (ou qualquer um dos outros IDEs existentes), ferramentas de teste, integração contínua, a enorme comunidade de programadores Java, etc.
A estatística para qual porcentagem de computadores em que Java está instalado varia (e a versão varia ainda mais), mas vi números bastante altos para a penetração no mercado de Java. E o processo de instalação permanece bastante simples, de modo que, se algum usuário ainda não tiver o Java instalado, ele poderá estar pronto para executar seu jogo em muito pouco tempo.
Pessoalmente, sinto-me menos hesitante em instalar o plugin Java do que o Unity. De fato, ainda estou para instalar o plugin do jogo Unity no meu computador; Eu simplesmente não confio nisso. Java é comprovado; teve um começo difícil, mas agora, muitos anos depois, é estável e rápido e, bem, continua a ter alguns problemas de segurança (o mesmo acontece com o Flash), mas na maioria das vezes é confiável. Continuarei a evitar jogos da Web Unity até que o plug-in da Web Unity seja um pouco mais amplo e comprovado.
Portanto, eu recomendo absolutamente o Java , seja por meio de um applet ou pelo Java Web Start ou por um JAR executável.
PS O MMO on-line gratuito mais popular do mundo, reconhecido pelo Guinness World Records, é o RuneScape , que é executado como um applet Java e, recentemente, possui uma versão para desktop. Ele suporta DirectX e OpenGL, bem como um renderizador 3D de software, e possui aproximadamente 10 milhões de contas ativas .
você realmente está perdendo se ainda não experimentou o Unity Engine. Ele pode gerar um executável autônomo para o SO de desktop (PC e Mac, sem Linux), para que você nem precise do plug-in do navegador para experimentar o desenvolvimento no Unity. Vamos lá, entenda , você sabe que quer. :)
Ciclope
@ Cyclops, bem, é um requisito do meu curso de desenvolvimento de jogos este semestre, então devo me submeter aos caminhos da Unity em um mês ou dois. Até então eu vou continuar o meu Java + OpenGL R & D :)
Ricket
1
O C # também é multiplataforma (Moonlight, padrão ECMA, ...), mas não é tão multiplataforma quanto Java ... Mas o C # funciona bem na maioria dos sistemas Windows, Linux e Mac OS X; por que alguém jogaria fora dessa caixa? Veja também: balder.codeplex.com e kit3d.codeplex.com
Tamara Wijsman
4
TomWij, considere adicionar sua própria resposta em vez de tentar atacar a minha. Tenho certeza que o Silverlight tem seus próprios profissionais, que devem ser detalhados. Por exemplo, assim como apontei o IDE Eclipse, o Visual Studio também é um IDE maravilhoso. Mas seu comentário é um argumento fraco; O Moonlight fica muito atrás do Silverlight (o Silverlight 4 lançado há 5 meses e o Moonlight ainda está trabalhando no 3), e os dois projetos que você apontou estão no status alfa.
Ricket 18/09/10
Windward é um exemplo de um cliente de jogo que é escrito em C #, mas roda em Mac / Linux também, o desenvolvedor disse que usou o Mono.
Eu acho que alguém tinha que dizer isso. :) Sério, é um ótimo mecanismo de jogo em 3D de plataforma múltipla (navegadores, SOs e iPhone, etc). E tem uma versão gratuita e profissional.
Infelizmente agora é descompilável através de um determinado descompilador. Portanto, é ruim por razões de integridade do jogo.
Wight
1
Tudo é descompilável com bastante trabalho - a única solução de consenso é não incluir dados confidenciais no software cliente.
Cyclops
Java é descompilável a ponto de o Minecraft ter 10 bilhões de mods sem qualquer suporte para mods. É apenas melhor para os jogadores. Isso e segurança através da oscuridade blá blá.
Jimmy
11
A tecnologia que acho interessante para jogos na Web é o JavaScript + Canvas. Isso tem a vantagem de o usuário não precisar de um plug-in para jogar seu jogo. O próximo IE também suportará canvas, incluindo aceleração de hardware. A melhor opção para 3D seria o WebGL, mas ainda não faz parte dos navegadores mais inovadores. Você já encontra muitas demos de tecnologia usando canvas e até um iso-engine.
Além disso, é claro que nada disso (exceto "HTML5", também conhecido como JS + Canvas + CSS + HTML + etc) será executado em todas as várias plataformas móveis (sim, você pode empacotar jogos do Unity para iPhone e outros, mas isso é diferente de usar o web player).
precisa saber é o seguinte
11
Adobe Flash
O Flash ainda é a melhor escolha para muitos tipos de jogos.
Código aberto
O SDK é de código aberto e existem ótimas ferramentas de desenvolvimento de código aberto por aí. Acredito que o FlashDevelop é o melhor IDE do ActionScript existente.
O FlashPlayer está em toda parte
Quase todos os computadores têm o Flash Player instalado, e o processo de atualização é bastante simplificado agora.
Plataforma Flash
O Flash agora é uma plataforma, portanto, existem muitas opções para implantar o conteúdo em flash, mantendo uma política de gravação, uma vez implantada em qualquer lugar.
Bibliotecas e comunidade
Existe uma comunidade ativa massiva em torno do Flash e até mesmo em jogos Flash especificamente. Há também uma tonelada de bibliotecas no ActionScript. Muitas das principais bibliotecas de "jogos" de outros idiomas são portadas para o AS3.
Desenvolvimento ativo da Adobe
O FlashPlayer e a plataforma estão ficando cada vez melhores a cada versão. Há mais coisas adicionadas à plataforma o tempo todo, como Flex, Adobe AIR, Pixel Bender, etc. Basta dar uma olhada rápida no Adobe Labs para ver todas as grandes novidades.
Existem inúmeros outros benefícios, incluindo o Flash IDE (sim, é um benefício), AMF, sites e programas estabelecidos para jogos em Flash (kongregate, mochi media etc.).
Embora ainda não esteja maduro, o Google está trabalhando com uma tecnologia chamada Native Client, ou NaCl, para abreviar. NaCl é uma sandbox que permite a execução segura, segura e rápida do código binário nativo. Ele suporta OpenGLES para saída acelerada em 3D e OpenAL para uma camada de áudio.
Em resumo, você poderá jogar jogos de alta qualidade instalados localmente no navegador, com apenas cerca de 5% de redução de velocidade.
Acredito que tenha potencial para ser um matador de Java e um matador de Flash, embora ainda precise de algum tempo para amadurecer. O Unity está portando seu mecanismo para ele, e já existe uma extensão do Firefox para suportá-lo.
Java Web Start é uma escolha melhor do que os applets java. O JNLP permite acessar recursos de nível nativo como o OpenGL. Você pode ter todo o poder da placa de vídeo e, ao mesmo tempo, iniciar o jogo a partir do navegador, sem a necessidade do usuário instalar nenhum plug-in (desde que ele tenha o tempo de execução do java em seu PC).
O jMonkeyEngine é um ótimo mecanismo 3D construído em torno desse princípio. Executando exemplos em seu site.
O mecanismo Slick é um mecanismo Java 2D que também pode ser iniciado a partir do navegador.
O Java Web Start é apenas uma ferramenta de distribuição, é possível tornar um jogo jogável diretamente, via JWS e um applet. IMHO, a principal vantagem do JWS é que ele pode instalar seu aplicativo em 1 clique e atualizá-lo automaticamente usando o arquivo JNLP. Portanto, o acesso a recursos no nível nativo também pode ser feito em um applet (o LWJGL pode funcionar em um applet). Mas se você deseja ter um acesso nativo, ele exibirá um aviso, a menos que você tenha (compre) um certificado de uma autoridade de certificação.
precisa saber é o seguinte
5
O WebGL é suportado por todos os (mais recentes compilações noturnas) de navegadores, exceto o IE, e oferece o mesmo poder e flexibilidade que o OpenGL ES normalmente oferece, apenas em interface com o navegador. http://en.wikipedia.org/wiki/WebGL
Venho reproduzindo as entradas de execução no navegador e ignorando as entradas de download de necessidades. A maioria das execuções no navegador é Flash, algumas são Unity, algumas são Java, outras são HTML / JS. Ainda não notei nenhum Silverlight.
Se você procurar a melhor maneira de alcançar seus clientes (por exemplo, quais plug-ins são mais pré-instalados):
Javascript
Instantâneo
Java
luz cinza
Unity WebPlayer
Plug-in personalizado
Se você observar quais ferramentas são melhores para atingir seu objetivo específico, precisará esclarecer mais sobre que tipo de experiência de jogo você tenta criar. Algumas ferramentas não estão prontas para jogos com alto FPS, baixa latência, enquanto outras não são boas para 3D, outras possuem cadeias de ferramentas muito lentas, etc.pp.
Os applets Java não parecem tão populares hoje em dia. A tela HTML está indo muito bem em termos de desempenho. Fique de olho nos desenvolvimentos do WebGL também.
Respostas:
Só porque os applets Java não são populares, não significa que eles não sejam poderosos ou dignos de jogos. Na verdade, estou focado no desenvolvimento de jogos Java no momento; Gosto da natureza de alto nível da linguagem, da sua plataforma cruzada (em comparação com o C #), da biblioteca JOGL , que fornece uma experiência OpenGL muito parecida com o C para a plataforma Java (ou sua alternativa, LWJGL ou um mecanismo como jMonkeyEngine ) e sua velocidade (obviamente mais lenta que C ++, mas consideravelmente mais rápida que linguagens de script como Python).
Com o Java, você pode implantar seu aplicativo como um Applet para rodar no navegador e até fornecer uma alternativa JNLP para aqueles que preferem instalar algo.
Você pode tirar proveito de todas as ferramentas que foram criadas para Java; o maravilhoso IDE Eclipse (ou qualquer um dos outros IDEs existentes), ferramentas de teste, integração contínua, a enorme comunidade de programadores Java, etc.
A estatística para qual porcentagem de computadores em que Java está instalado varia (e a versão varia ainda mais), mas vi números bastante altos para a penetração no mercado de Java. E o processo de instalação permanece bastante simples, de modo que, se algum usuário ainda não tiver o Java instalado, ele poderá estar pronto para executar seu jogo em muito pouco tempo.
Pessoalmente, sinto-me menos hesitante em instalar o plugin Java do que o Unity. De fato, ainda estou para instalar o plugin do jogo Unity no meu computador; Eu simplesmente não confio nisso. Java é comprovado; teve um começo difícil, mas agora, muitos anos depois, é estável e rápido e, bem, continua a ter alguns problemas de segurança (o mesmo acontece com o Flash), mas na maioria das vezes é confiável. Continuarei a evitar jogos da Web Unity até que o plug-in da Web Unity seja um pouco mais amplo e comprovado.
Portanto, eu recomendo absolutamente o Java , seja por meio de um applet ou pelo Java Web Start ou por um JAR executável.
PS O MMO on-line gratuito mais popular do mundo, reconhecido pelo Guinness World Records, é o RuneScape , que é executado como um applet Java e, recentemente, possui uma versão para desktop. Ele suporta DirectX e OpenGL, bem como um renderizador 3D de software, e possui aproximadamente 10 milhões de contas ativas .
fonte
Unity3d Game Engine
Eu acho que alguém tinha que dizer isso. :) Sério, é um ótimo mecanismo de jogo em 3D de plataforma múltipla (navegadores, SOs e iPhone, etc). E tem uma versão gratuita e profissional.
fonte
A tecnologia que acho interessante para jogos na Web é o JavaScript + Canvas. Isso tem a vantagem de o usuário não precisar de um plug-in para jogar seu jogo. O próximo IE também suportará canvas, incluindo aceleração de hardware. A melhor opção para 3D seria o WebGL, mas ainda não faz parte dos navegadores mais inovadores. Você já encontra muitas demos de tecnologia usando canvas e até um iso-engine.
fonte
Adobe Flash
O Flash ainda é a melhor escolha para muitos tipos de jogos.
Código aberto
O SDK é de código aberto e existem ótimas ferramentas de desenvolvimento de código aberto por aí. Acredito que o FlashDevelop é o melhor IDE do ActionScript existente.
O FlashPlayer está em toda parte
Quase todos os computadores têm o Flash Player instalado, e o processo de atualização é bastante simplificado agora.
Plataforma Flash
O Flash agora é uma plataforma, portanto, existem muitas opções para implantar o conteúdo em flash, mantendo uma política de gravação, uma vez implantada em qualquer lugar.
Bibliotecas e comunidade
Existe uma comunidade ativa massiva em torno do Flash e até mesmo em jogos Flash especificamente. Há também uma tonelada de bibliotecas no ActionScript. Muitas das principais bibliotecas de "jogos" de outros idiomas são portadas para o AS3.
Desenvolvimento ativo da Adobe
O FlashPlayer e a plataforma estão ficando cada vez melhores a cada versão. Há mais coisas adicionadas à plataforma o tempo todo, como Flex, Adobe AIR, Pixel Bender, etc. Basta dar uma olhada rápida no Adobe Labs para ver todas as grandes novidades.
Existem inúmeros outros benefícios, incluindo o Flash IDE (sim, é um benefício), AMF, sites e programas estabelecidos para jogos em Flash (kongregate, mochi media etc.).
fonte
Embora ainda não esteja maduro, o Google está trabalhando com uma tecnologia chamada Native Client, ou NaCl, para abreviar. NaCl é uma sandbox que permite a execução segura, segura e rápida do código binário nativo. Ele suporta OpenGLES para saída acelerada em 3D e OpenAL para uma camada de áudio.
Em resumo, você poderá jogar jogos de alta qualidade instalados localmente no navegador, com apenas cerca de 5% de redução de velocidade.
Acredito que tenha potencial para ser um matador de Java e um matador de Flash, embora ainda precise de algum tempo para amadurecer. O Unity está portando seu mecanismo para ele, e já existe uma extensão do Firefox para suportá-lo.
fonte
Java Web Start é uma escolha melhor do que os applets java. O JNLP permite acessar recursos de nível nativo como o OpenGL. Você pode ter todo o poder da placa de vídeo e, ao mesmo tempo, iniciar o jogo a partir do navegador, sem a necessidade do usuário instalar nenhum plug-in (desde que ele tenha o tempo de execução do java em seu PC).
O jMonkeyEngine é um ótimo mecanismo 3D construído em torno desse princípio. Executando exemplos em seu site.
O mecanismo Slick é um mecanismo Java 2D que também pode ser iniciado a partir do navegador.
fonte
O WebGL é suportado por todos os (mais recentes compilações noturnas) de navegadores, exceto o IE, e oferece o mesmo poder e flexibilidade que o OpenGL ES normalmente oferece, apenas em interface com o navegador. http://en.wikipedia.org/wiki/WebGL
fonte
Eu já vi algumas demos HTML 5 bem legais. Se você realmente quer estar no limite, pode dar uma olhada nisso.
fonte
Um ponto de dados, veja as entradas para Ludum Dare 18.
http://www.ludumdare.com/compo/ludum-dare-18/?action=preview
Venho reproduzindo as entradas de execução no navegador e ignorando as entradas de download de necessidades. A maioria das execuções no navegador é Flash, algumas são Unity, algumas são Java, outras são HTML / JS. Ainda não notei nenhum Silverlight.
fonte
Se você procurar a melhor maneira de alcançar seus clientes (por exemplo, quais plug-ins são mais pré-instalados):
Se você observar quais ferramentas são melhores para atingir seu objetivo específico, precisará esclarecer mais sobre que tipo de experiência de jogo você tenta criar. Algumas ferramentas não estão prontas para jogos com alto FPS, baixa latência, enquanto outras não são boas para 3D, outras possuem cadeias de ferramentas muito lentas, etc.pp.
fonte
Os applets Java não parecem tão populares hoje em dia. A tela HTML está indo muito bem em termos de desempenho. Fique de olho nos desenvolvimentos do WebGL também.
fonte
Flex / Flash + RED5. É grátis.
fonte