Estou procurando algo como uma alternativa ao XNA - não me importo se é um mecanismo 2D ou 3D. Não é porque eu não gosto do Windows ou sou anti-Microsoft; é porque eu gosto de rodar o Linux, código completamente no Linux (para C # eu uso o Mono, obviamente), e de maneira alguma tenho nenhum hardware para realmente suportar a programação no XNA, simplesmente porque minha placa de vídeo tem 6 anos. Também não tenho um CD do Windows 7 / Vista para DirectX 10.
Assim, para o desenvolvimento de jogos, estou meio que preso na idade da pedra. No entanto, eu gosto muito de c # e odiaria ter que descartá-lo como idioma devido a isso.
Há algo que eu possa fazer?
Respostas:
Receio que não exista uma alternativa completa ao XNA no mundo das estruturas de plataforma cruzada baseadas em C #. A Monoxna está morta há muito tempo e muito poucas outras ferramentas de plataforma cruzada usam C # como idioma de sua escolha.
No entanto, essa futura porta do XNA no iOS e Android parece muito promissora: ExEn . Porém, não conheço os requisitos.
Como você usou a palavra "mecanismo", pode querer algo mais complexo. Lembro-me apenas de um mecanismo C # completo e barato que pode ser executado no Linux e tem requisitos de hardware bastante tolerantes: o NeoAxis .
No entanto, se seu objetivo principal são jogos 2D, você pode conferir esta pequena biblioteca de jogos multiplataforma: AgateLib . Dois anos atrás, era bom usar um pouco de buggy, talvez agora as coisas estejam melhores.
De qualquer forma, se algo mais falhar, você sempre pode usar o OpenGL com SDL via OpenTK ou SDL.Net .
fonte
Por que procurar uma alternativa quando você pode usar uma porta?
"O MonoGame é uma implementação OpenGL gratuita do XNA 4.0 Framework. Ele é desenvolvido com base na excelente variedade de compiladores Mono e é compatível com MonoTouch (iOS), Mono para Android (Android), MonoMac (Mac OS X), Mono para Windows e agora Linux!
Nosso objetivo é permitir que os desenvolvedores de XNA no Windows e Windows Phone 7 portem seus jogos para iOS / Android / Mac OS X / Windows / Linux e vice-versa, com o mínimo de problemas ".
http://monogame.codeplex.com
https://github.com/mono/MonoGame
fonte
2 bibliotecas adequadas para renderização de software:
Sou o Allegro mais poderoso do ponto de vista de empurrar pixels, mas não acho que ele veja o mesmo nível de atividade que o SDL, e embora o SDL seja mantido atualizado por seu autor, acho que esse é muito menos o caso do Allegro.
fonte
Você pode conferir o ANX:
O ANX.Framework é uma estrutura compatível com a origem do XNA framework 4.0 da Microsoft. Compatibilidade de origem significa que você pode "converter" um projeto de jogo XNA para ser um projeto de jogo ANX simplesmente substituindo todos os namespaces de Microsoft.XNA.Framework para ANX.Framework. A vantagem do ANX é simplesmente que você pode trocar o RenderSystem, o InputSystem e o AudioSystem. Ao trocar esses sistemas, você não fica mais limitado a executar seu jogo usando o DirectX9, que o XNA está usando. O ANX vem com um DirectX10 RenderSystem como padrão. Um DirectX 11, DirectX 11.1 e um OpenGL 3 RenderSystem estão atualmente em desenvolvimento. Isso tornará possível rodar seus jogos no Linux e em outras plataformas suportadas pelo OpenGL etc. simplesmente trocando os namespaces.
~ Site Codeplex: http://anxframework.codeplex.com/
Ainda está em desenvolvimento pesado, mas a maioria dos recursos básicos do XNA está implementada.
fonte