este é um post que detalha minha pesquisa da maneira mais agradável para um programador de jogos amadores adocicar seu tempo livre ao fazer um jogo.
Meus requisitos: olhei primeiro para o Flash, fiz alguns jogos pequenos, mas duvido do desempenho. Eu gostaria de fazer um jogo de estratégia bastante grande, com várias centenas de unidades lutando simultaneamente, incluindo explosões e animações. Também mapas com zoom. Vi que a Adobe possui uma nova API 3D para Flash, mas não sei se isso também melhora o desempenho em 2D. Não encontrei nada relacionado a essa pergunta nas sessões do MAX10. Você diria que o Flash é uma boa tecnologia para criar jogos 2D grandes facilmente? Gosto muito do Actionscript e adoro a facilidade com que tudo é no Flash. Existem vários mecanismos disponíveis que facilitam ainda mais.
Eu apenas faço isso por diversão, e seria ainda melhor se houvesse editores adequados de animação / partículas disponíveis e se o mecanismo que eu fosse usar estivesse disponível para várias plataformas. (para que mais pessoas possam jogar meu jogo assim que terminar). Gostaria de tê-lo disponível em muitas plataformas móveis também. (porque eu amo a entrada por toque por algum motivo)
Conheço muito bem a estrutura do XNA, mas não há bons mecanismos disponíveis para ela, e ela só será executada no Windows, o que é um grande desligamento. Ainda maior é que você precisa instalar o XNA redistribuível toda vez que quiser dar o jogo a alguém. Se eu usar o XNA, teria que fazer todas as ferramentas pessoalmente e provavelmente teria que fazê-las com o WPF. (Adoraria criar ferramentas com o Adobe AIR, mas, infelizmente, as APIs para manipulação de imagens etc. são muito piores no Flash do que no XNA / WPF.) Agora, estou ciente de que poderia criar meu próprio mecanismo que suporta cada uma dessas plataformas, mas, francamente, isso seria muito trabalho através das APIs. Afinal, eu quero fazer um jogo, não um motor.
Portanto, a pergunta se torna: Existe um mecanismo de plataforma cruzada (livre ou livre para desenvolver?) Disponível que eu poderia usar no desenvolvimento 2D? Eu prefiro: C #, Actionscript. Não me importo de usar c ++ se o conjunto de ferramentas estiver acima da média, mas duvido muito que exista algo assim por aí. Por favor, prove que estou errado :) Então, resumo: eu gostaria de usar o Flash, mas não sei se ele é bem dimensionado. Não sou scripter, quero algumas APIs reais com as quais possa trabalhar dentro de um IDE adequado.
Só para obter informações, procurei várias alternativas, já estou procurando há muito tempo. Você me ajudaria muito a tomar uma decisão finalmente.
Em termos de recursos, o mecanismo Flatredball seria o ideal. Mas eu tentei suas ferramentas e, francamente, elas são horríveis. Absolutamente inutilizável, eu precisaria fazer o meu próprio com certeza. Eu não olhei para a API deles, mas se suas ferramentas são tão ruins, não estou inclinado a procurar mais.
Unity3D. Este é muito bom, mas eu realmente não preciso de 3D , e é bastante ... muito trabalho para aprender. Também não gosto que seja tão caro usá-lo em plataformas diferentes e que só posso codificá-lo através de scripts. Você precisa comprar cada plataforma separadamente. A usabilidade do editor é média, o produto em geral é bom o suficiente para a maioria dos propósitos, mas aprender por mim mesmo seria um exagero.
Shiva 3D. Parece bom o suficiente, mas novamente: eu realmente não preciso de 3D. A usabilidade do editor é um pouco pior que o Unity3D na minha opinião e não estava claro para mim como começar a programar. Eu acho que requer C ++ para codificação, então isso também é negativo. Eu quero me divertir, e c # é divertido;)
SDL. Francamente, eu ainda precisaria portar para todas essas implementações diferentes de SDL. E eu não gosto de programação no estilo OpenGL, é simplesmente feio. E ele precisa de c ++, eu sei que pode haver alguns wrappers disponíveis, mas eu não gosto de usar wrappers, porque ...
Irrlicht. Muitos recursos, mas o suporte parece ser baixo e é voltado para entusiastas. As ligações C # são descartadas repetidamente. Não sou entusiasta de motores, só quero fazer um jogo. Não vejo isso acontecendo com Irrlicht.
Ogre3D. Muito trabalho, é apenas um mecanismo gráfico. Também não há suporte a múltiplas plataformas e c ++.
Torque2D. Custa algo para usar, e eu não ouvi muitas coisas boas sobre suporte e documentação. Também custa extra para cada plataforma.