Qualquer motor 3D leve, sujo e barato, para iniciantes? [fechadas]

8

Eu tenho duas perguntas, a segunda é mais algum tipo de pergunta de opinião.

1ª questão:

Todo mundo já ouviu falar de panda3d, OGRE e IrrLicht: eles são ótimos motores, com muitos recursos. Com o OGRE, você pode fazer quase qualquer coisa imaginável se aprender o motor; com o Irrlicht, você pode fazer muito, mas o motor é um pouco mais fácil para iniciantes e leve. O Panda3D também é ótimo, o python facilita as coisas, mas muitas coisas também são possíveis.

Antes da nova era da programação trazida pela evolução do C ++, os jogos 3D que precisavam ser executados em máquinas lentas eram programados em C, mas desde então, todos os dias aumentamos os transistores para outros limites, esquecendo o quão horrível era programar jogos em C ++. os "velhos tempos". Ok, talvez não tenha sido horrível, mas como a programação em 3D é complicada em 2D, e como a maioria dos mecanismos suporta coisas brilhantes como shaders, gerenciador de cenas, nós de cenas, NURBS, sombras, animações etc., não existe um mecanismo ou renderizador 3D simples isso seria adequado para pessoas que têm o suficiente com 3D simples, sem texturas ou apenas texturas realmente simples?

Desde que ouvi "não reinventar a roda", tenho certeza de que é um pouco demais aprender a criar um mecanismo completo usando D3D ou opengl, e como vou aprender D3D isso a seguir em uma escola de programação em 3D, eu pensei que, com todos os motores livres disponíveis, deve haver um que atenda às minhas necessidades.

2ª questão:

Desde os bons e velhos tempos do PlayStation, ainda vejo a chegada dos gráficos de alta definição (como o 360, PS3) como uma praga: é sempre mais difícil aprender a programar software mais sofisticado, é desafiador e dá um resultado satisfatório , mas no final, ainda é um programa estúpido que renderiza pixels!

Eu sinto que a diversão nos jogos não evoluiu de todo ou simplesmente caiu em comparação com os velhos tempos em que os caras que faziam o jogo não eram necessários apenas para alimentar os olhos do jogador, mas para proporcionar uma experiência e diversão.

Sinto que hoje em dia os jogos são apenas softwares que mostram a tecnologia disponível, mas, exceto algumas pérolas, os jogos não são mais idéias, são apenas uma espécie de demonstração de como o dinheiro investido pode brilhar em beleza no CEO que não sabe nada sobre como é feito um jogo e o que é realmente possível fazer.

Bem, exceto os jogos independentes, é claro, que brilharão um dia ou outro graças ao XBox Live e Steam, mas estão longe de permitir que programadores e designers façam o que querem. Não estou dizendo "corporações más", etc., mas sinto que o realismo da foto é apenas uma chatice: mesmo se tivermos milhares de energia a mais, qual é o ponto a tentar: não podemos realmente "simular a realidade", pois contradiz as leis da física ... Poderíamos calcular uma realidade alternativa, mas ainda assim seria muito complicado projetar ...

jokoon
fonte
5
Realmente deveria haver apenas uma pergunta por, hum, pergunta.
Tetrad
Tente tornar a pergunta mais curta e mais simples. Além disso, não consigo encontrar a parte da pergunta 2, apenas vejo muitas opiniões e declarações.
AttackingHobo
11
question 1 tl; dr -> Procurando por barebones, um motor 3D fácil de usar, sem todos os truques. pergunta 2 tl; dr (eu acho?) -> Novos jogos sacrificam diversão pela tecnologia, você não acha?
Deleter
Acho que seria divertido discutir suas opiniões na sala de bate-papo do gamedev. chat.meta.stackoverflow.com/rooms/73/game-development - não é sua sala de chat tradicional em tempo real; se não houver ninguém, deixe uma mensagem e volte mais tarde e leia as respostas.
Ricket 23/09/10
duh. precisa de 20 rep, mas em meta.stackoverflow
jokoon

Respostas:

3

No lado do OpenGL, acho que vale a pena mencionar o Horde3D . Talvez não seja tão fácil para iniciantes, pois não oferece muitas ferramentas de GUI como o Unreal SDK, mas isso o torna muito leve. Acima de tudo, acho ótimo para aprender.

A Horda ensina você a ser muito organizado com seu código. Ele usa XML para dados (malhas, shaders, gráficos de cena etc.) e C ++ para controle.

Eu gosto do fato de que não é um "motor de jogo". É um mecanismo de renderização 3D que lida com seleção, níveis de detalhe, iluminação, animação etc., mas deixa toda a lógica do programa para você.

Como Bummzack disse, todo mecanismo existente permitirá que você faça coisas básicas de polígono. Mas como você está no caminho de aprendizado, convém aprender um mecanismo que também permita abordar assuntos mais complexos no futuro.

Usuário não encontrado
fonte
Para o inferno, com as ferramentas de interface do usuário, esqueci de mencionar que elas realmente não são necessárias e, geralmente, elas não fazem o seu trabalho como eu precisaria ou consomem os recursos do mecanismo para permitir melhores recursos do editor. Horde3d ainda está em beta, mas parece ser o que eu estou procurando ...
jokoon
3

Bem, vou tentar.

Em relação à sua primeira pergunta, recomendo sinceramente o SDL para você. Não é um mecanismo de gráfico de cena, e todos os seus gráficos serão feitos com o OpenGL, mas lida com o essencial para você, como criar uma janela, configurar o contexto do OpenGL, receber entrada e reproduzir áudio. Sinto absolutamente sua dor no que diz respeito aos mecanismos 3D e achei meu estudo do OpenGL bastante interessante e desafiador. Eu pessoalmente mudei para Java, usando LWJGL (ou JOGL, se você preferir), porque gosto da linguagem de alto nível e do uso de applets, e o Java também lida com a criação de janelas, entradas, sons etc. para você.

No entanto, o fato de você em breve aprender o DirectX pode significar que você deve se concentrar nisso. Não conheço nenhum equivalente ao SDL para DirectX, mas acredito que o DirectX atualmente tem algumas funções auxiliares que o colocam em funcionamento rapidamente. Infelizmente, eu realmente não sei muito sobre o DirectX, então não posso falar sobre detalhes específicos. Mas eu recomendo que você tente.

Tenho certeza de que é um pouco demais aprender como criar um mecanismo completo usando D3D ou opengl

Sim, é demais. E eu vejo isso o tempo todo. Não faça um motor; faça um jogo. Não seja pego na criação de um monte de classes com códigos não testados e não utilizados e chame-o de "biblioteca" ou "mecanismo" porque é mais provável que seja apenas uma "bagunça teórica". Basta fazer o que você precisa fazer para criar um jogo.


Sua segunda "pergunta" é apenas uma observação, e uma deprimente e (na minha opinião) muito errada nisso. Certamente existem jogos ruins por aí, jogos com gráficos pesados ​​e pouca jogabilidade. Os jogos de filmes vêm à mente, pois geralmente são os que não são tão bons. Mas gráficos e jogabilidade não são mutuamente exclusivos . Ao ler seu discurso, quase me pergunto se você jogou algum jogo recentemente; há uma enorme variedade de opções por aí e tenho certeza de que há algo para você. Mas não vejo por que bons gráficos implicam uma jogabilidade ruim. E se você é totalmente contra gráficos sofisticados, ainda existem jogos por aí. Você pode até ir ao eBay e comprar um sistema antigo e jogos antigos por preços baratos.

O engraçado é que eu gostaria de apostar que essa opinião existe há muito tempo, nas últimas gerações de consoles. Tenho certeza de que as pessoas olharam para o Nintendo 64 quando o lançaram e pensaram a mesma coisa: ótimos gráficos (para a época) = jogabilidade ruim. E havia jogos N64 bons e ruins. E então eu sei que as pessoas estavam preocupadas com esse tipo de coisa durante a era do Gamecube, PS2 e Xbox. Caramba, eu me sentei e assisti os jogos do Xbox fazer exatamente isso. Portanto, sempre existem bons e maus jogos, e você precisa apenas se acalmar, respirar fundo e procurar alguns jogos que sejam interessantes para você. Sempre haverá jogos em cada extremidade do espectro; jogos de baixa resolução que você não pode parar de jogar anos depois (CounterStrike 1.6, alguém?) e jogos de alta resolução que são fracassos totais.

E sim, sempre haverá mais deste último, porque os gráficos são mais fáceis de produzir do que as boas idéias de jogo . Sua existência não tira a existência dos bons jogos, nem reduz seus números. Eles apenas dão aos designers mais evidências do que não fazer ao projetar seu próximo jogo. Isso é tão ruim assim?

Ricket
fonte
Boa resposta e ótima resposta à segunda pergunta / declaração do PO.
bummzack
É uma boa resposta, mas o SDL não é mais um mecanismo 3D do que a API do Win32.
Kylotan
1

Se você não deseja todos os benefícios (e inchaço?) De um mecanismo 3D, por que não usar o GLUT ?

Eu acho que SceneManagers e afins realmente aumentam a facilidade de uso de um mecanismo 3D, em vez de tornar as coisas mais complicadas.

Você pode fazer renderizações muito básicas (sem texturas, sem sombreadores) com todos os mecanismos 3D mencionados. Alguns deles até têm uma arquitetura modular (Plugin) para que você possa realmente remover tudo o que não precisa (atualmente).

IMHO não existe um mecanismo 3D para iniciantes ou mesmo uma estrutura / biblioteca para iniciantes . Você sempre terá que aprender e se acostumar com um pacote de software primeiro. Parece-me que você está tentando pular essa etapa :)

bummzack
fonte
(Isso serve como um comentário à resposta de bummzack) Em vez de usar o GLUT diretamente, acho que o GLFW pode ser mais adequado para jogos, pois também lida com entrada e tempo.
Usuário não encontrado
-2
  1. uma. SDL (Simple Direct Layer) Possui um mecanismo de renderização em 3D bastante simples e extensível, que é de código aberto. No entanto, o C ++ é eficiente, é uma curva de aprendizado acentuada.

    b. O sdlbasic é um intérprete BASIC pequeno, eficiente e multiplataforma para criar jogos usando o poder da biblioteca SDL. Foi inspirado no antigo e glorioso AMOS. - está no repositório Ubuntu e provavelmente outros também.

    c. ?

  2. uma. eu concordo com seus sentimentos, embora "jogos casuais" como quebra-cabeças 2D e jogos de diversão fáceis online e como pacotes de colecionadores pareçam ter adquirido mais imóveis no mercado de jogos do que o tipo intensivo de hardware simplesmente devido à natureza prática de um jogo com baixos requisitos de sistema. seria bom ver um pouco mais de criatividade nos substratos inferiores do inventivo hemisfério de criações em 3D da games world inc.

kmonke
fonte