Você pode recomendar um bom mecanismo de jogo em C # para o desenvolvimento de plataformas cruzadas (Win / Mac / Linux, não me importo com consoles)?
Eu tenho alguma experiência com o OpenGL bruto e brinquei com as ligações Java e o JMonkeyEngine. No entanto, estou um pouco desapontado com essas soluções e tentei o Ogre3D, que parecia realmente promissor, mas preferia não ter que desenvolver com o PITA que é C ++.
Dei uma olhada nesta lista, mas é bastante esmagadora. Não estou procurando uma solução tudo em um, ou seja, eu realmente não preciso de suporte para redes, áudio e todo esse jazz, mas não faria mal se for suportado.
Talvez haja também uma solução Java incrível por aí que eu não conheça?
c#
java
cross-platform
mono
Raoul
fonte
fonte
Respostas:
O Unity está realmente usando o Mono em seu back-end. Embora muitos de seus tutoriais de script usem JavaScript, você pode programar o Unity completamente em C # / Mono.
fonte
O JMonkeyEngine é realmente o mecanismo 3D mais recomendado para Java. O Xith3D às vezes é recomendado como uma alternativa, pois também é um mecanismo de gráficos no estilo cenário.
Você poderia usar o LWJGL ou o JOGL, mas esses não são mecanismos, mas bibliotecas, e você escreveria o OpenGL puro.
Eu não recomendo o Java3D , acho que é tudo abandonado.
Eu acho que o LWJGL é o melhor que você vai conseguir, mas, novamente, é uma biblioteca de jogos, não um mecanismo gráfico. OGRE é um mecanismo gráfico de cenário como o JMonkeyEngine; LWJGL é para Java o que SDL é para C ++. Ele fornece funções para OpenGL, áudio e entrada, e você deve executar com isso. Eu pessoalmente gosto desse tipo de poder.
fonte
Gostaria de olhar para o Ardour3D e dar uma outra olhada no JMonkeyEngine.
Ardour3D
Criado pelo (s) desenvolvedor (es) JMonkeyEngine original (s) que decidiram que era necessária uma pausa limpa para que pudessem recomeçar e usar todo o conhecimento adquirido ao desenvolvê-la para criar uma API e plataforma melhores.
As pessoas que conheço que usaram o Ardour3D têm coisas muito positivas a dizer sobre seu design e API. Ele está em desenvolvimento ativo e tem uma boa comunidade e boa documentação de API, embora os tutoriais tenham um pouco de falta de fornecimento e geralmente você precise se familiarizar com os conceitos de programação em 3D para poder buscá-lo.
JMonkeyEngine
Uma aquisição liderada pela comunidade do JMonkeyEngine que os desenvolvedores do Ardor3D deixaram para trás, foi de força em força desde o lançamento do JME3, que abordou várias deficiências no design do JME2.
Há uma ampla documentação, incluindo tutoriais e muitos projetos usando-o. Se você teve problemas com o JMonkeyEngine 2 ou anterior, vale a pena dar uma olhada na versão 3.
Outras
fonte
O Axiom 3D Engine é baseado em uma porta C # do Ogre. Possui renderizadores DirectX, OpenGL e XNA, por isso é muito portátil, embora algumas plataformas não sejam mantidas ativamente.
fonte
dê uma olhada no Ploobs Engine , agora ele suporta XNA 4, é de código aberto e possui muitos recursos interessantes:
fonte
Veja http://www.devmaster.net/engines/search.php e também confira a estrutura do XNA.
fonte
SDL mais o .NET Wrapper ?
fonte
O OpenTK está sendo usado para o MonoGame . Infelizmente, o MonoGame suporta apenas a API 2D do XNA no momento, mas você mencionou que tinha alguma experiência em OpenGL para poder usar o wrapper OpenTK para criar gráficos 3D. Você também pode provavelmente encontrar algumas bibliotecas de gráficos de cena implementadas em C # ou em C ++ com wrappers em C #.
Para áudio, o OpenTK envolve o OpenAL, ou se você deseja algo mais robusto e planeja lançar o jogo como freeware, o FMOD não custa nada para usar. Fica caro se você deseja cobrar pelo seu jogo. Uma alternativa mais barata seria BASS .
fonte