Java ou C# para criação de engine

Então galera eu tenho muitos questionamentos sobre criar jogos principalmente na parte da criação de engines e o processo por trás dos metodos que já vem prontos nelas,eu tentei usar unity mas tive muitas desavenças com ela e outras engines então resolvi criar minhas proprias engines ou jogos atráves do java ou c# puro mas achei pouco conteudo de c# no inicio estou ultilizando java mas tenho medo de acabar escalando e puxando muita memória do usuário então não sei qual escolher.

Depende do quão “avançada” você quer que essa engine seja. Se for para algo 2D “simples”, usando imagens e sprites e desenhando com Java2D (ou equivalente do C#) não acho que faz muita diferença você usar Java ou C#, ou qualquer outra linguagem. Já se for algo mais complexo, e envolvendo 3D e polígonos, o cenário muda totalmente, e, a não ser que você realmente queira meter a mão na massa e criar bibliotecas em baixo nivel (em C ou C++), você provavelmente vai querer usar ao menos bibliotecas como a lwjgl.

No entanto, considerando seus outros tópicos, acho que você precisa adquirir um pouco mais de confiança em programação no geral, antes de partir para um projeto como esse. Mesmo engines “simples” requerem uma boa arquitetura e bom conhecimento da linguagem. Pra usar uma engine já pronta e complexa (como Unity e Unreal), um certo grau de experiência é esperado.

Note que você tem mais opções que a Unity, se ainda não se deu bem com ela. Como está iniciando, talvez seja mais interessante uma engine ou biblioteca mais simples, como a libGDX, Cocos2D-X, Love2D, raylib/raylib-cs, phaser.io, etc. Não faltam opções hoje em dia.

Abraço.

2 curtidas

Java
É muito melhor pra multi plataforma, inclusive em JavaFX o mesmo fonte em desktop/celular/raspberry (C# é conversinha de quem somente usa no windows e acredita na microsoft que irá rodar bem em outras plataformas)

E o JavaFX tem ótimos recursos para games, e conta com aceleração de hardware

Quanto a memoria o coletor de lixo ZGC devolve memoria não utilizada para o SO

Verdade que em C/C++ a tendencia é usar menos memoria, mas C/C++ não tem a segurança do Java e são amigonas dos vírus. Ganha de um lado e perde do outro.

Ainda sobre esse inferninho nos dias atuais chamado memoria RAM, a JVM Open J9 da IBM usa menos memoria que o Hotspot.

https://developer.ibm.com/languages/java/semeru-runtimes/downloads/

2 curtidas

Sobre esse fato de .NET, ser multiplataforma é conversinha afiada. Tem muita coisa que nao pode ser desenvolvida em linux ou mac por falta de IDE. “Ai mas tem o rider”, “ai mais tem vscode”. Os cara sao tao cego que rider e uma plataforma paga e o vscode tem a nova extensao que provsvelmente sera paga pra ter recursos poderoso. O VS so tem pra windows e o linux? Mac os cara da nem suporte.

1 curtida

muito obrigado meu primeiro dia na plataforma colocando post e foi respondido bem rápido e é bom ver que tem gente com tanto conhecimento aqui

1 curtida

eu estudo a uns 3 anos mas fiquei muito perdido esse tempo todo com esses videos do youtube e preocupações atoas então não sou um bom programador mas acho que consigo fazer uma engine simples em 2d só pra fazer uns joguinhos mas quando tiver experiencia quero criar graficos e o resto em c++ eu acho muito legal criar as coisas do zero e c++ foi uma das primeiras linguagens que estudei