Eu sou apenas um iniciante em jogos 3D, minha plataforma preferida é o Android. Eu postei uma pergunta em outro fórum sobre "O que usar: OpenGL ou Unity3d?" Todos enfatizaram o Unity3D e usaram seus recursos e ferramentas embutidos, que eu teria que codificar para mim mesmo se usasse o OpenGL. Mas então alguém diz que a maioria dos jogos complexos exige mecanismos personalizados. Por que eu usaria um mecanismo como o Unity3D sobre o OpenGL?
25
Respostas:
Acho que você já respondeu a essa pergunta. Você disse: "Eu sou apenas um iniciante em jogos 3D" . Além disso, você disse "... o Unity3D e o uso de recursos e ferramentas integrados, que eu teria que me codificar para usar o OpenGL" .
Essencialmente, isso significa que se você estiver usando o OpenGL sozinho, estará escrevendo um mecanismo de jogo e, potencialmente anos depois, escrevendo seu jogo. Se você deseja se concentrar em um jogo, utilize os recursos disponíveis para chegar o mais perto possível desse objetivo. Usar um mecanismo de jogo é a melhor maneira de concentrar seus esforços na criação de um jogo, em vez de escrever todo o material necessário para criar um jogo.
Veja esta pergunta relacionada: Qual é a diferença entre uma Biblioteca e um Mecanismo e este? O que é uma estrutura de jogo versus um mecanismo de jogo?
fonte
Porque os iniciantes, por definição, não sabem o que estão fazendo .
O OpenGL tem uma enorme curva de aprendizado. Claro, você pode emitir alguns comandos do glBegin, se empolgar ao colocar alguns triângulos na tela e sair do fundo do poço com algo mais complexo que você nem está pronto para enfrentar. Essa não é uma ótima maneira de aprender. Uma analogia (um pouco exagerada) pode ser aprender um pouco de física básica do ensino médio e depois ser encarregada do Large Hadron Collider. Não é nadar ou afundar, é nadar ou deixar um grande buraco radioativo no chão.
Supõe-se que a maioria das pessoas pergunta "Eu quero fazer um jogo, o que devo usar?" A pergunta realmente quer fazer um jogo (caso contrário, eles teriam feito uma pergunta diferente, com certeza?) Portanto, a resposta é adaptada à pergunta e o uso de um kit de ferramentas, estrutura ou mecanismo preexistente é uma maneira de ajudá-los a alcançar essa ambição. sem se distrair com a agonia sobre se uma UBO ou glUniform chama é preferível para atualizar uma única matriz.
Trata-se de dar um passo de cada vez, facilitar o processo de aprendizagem e oferecer a você algo gratificante no final. Tentar aprender como criar um jogo e como usar adequadamente uma API 3D madura e poderosa ao mesmo tempo provavelmente é demais para um iniciante. É como o efeito Dunning – Kruger menos as conotações negativas. Você não sabe o que não sabe; portanto, não tem realmente nenhum tipo de imagem realista do que estaria assumindo.
Por outro lado, se seu objetivo é aprender OpenGL, você não quer realmente fazer um jogo! Você quer aprender OpenGL, e fazê-lo no contexto de criação de um jogo pode ser uma maneira divertida de aprender, mas criar um jogo é um meio para um fim, não um fim em si mesmo (e certamente não é a única maneira de aprender o OpenGL ) Você provavelmente nunca o lançará, e quase definitivamente olhará para trás em alguns anos e ficará terrivelmente envergonhado por algumas das coisas estúpidas que fez.
fonte
Realmente depende do que você deseja obter deste projeto. Se seu objetivo principal é se concentrar no design do jogo, provavelmente você está melhor com um mecanismo pré-construído, porque isso o levará à parte de criação de jogos muito mais rapidamente. Se seu objetivo é aprender sobre a parte da programação de criação de jogos (especialmente se você estiver tentando se preparar para um emprego na indústria), provavelmente descobrirá que trabalhar com o OpenGL será uma experiência mais valiosa. Lembre-se de que nenhuma das instruções anteriores é verdadeira 100% do tempo.
Realmente não há regra ao decidir sobre esse tipo de coisa. A maioria das respostas que você ouve nesse tipo de pergunta são opiniões e muito poucas serão completamente relevantes para o seu próprio projeto e conjunto de habilidades.
fonte
A diferença é simples. Unidade é uma carruagem com quatro rodas redondas que podem levá-lo a lugares. O OpenGL é uma serragem que você pode montar em uma loja e potencialmente usar para moldar um carro e rodas melhorados e mais modernos. Ou seja, se você investir muitas horas do seu tempo aprendendo o que as pessoas antes de você ter feito primeiro.
Seu objetivo como iniciante deve ser o primeiro estudo das carruagens existentes e seus designs. Não faz sentido jogar tudo pela janela e começar do zero. Primeiro aprenda o que já existe e obtenha um conhecimento completo dele. Se não, como você conhece suas limitações e se você não conhece as limitações, como você pode quebrá-las? Qual o sentido de tornar algo medíocre inútil e ignorante de todas as vibrantes ferramentas existentes que já estão disponíveis?
As etapas de um desenvolvedor iniciante de jogo são:
Trabalhar sozinho em fazer algo que já foi feito não o tornará um desenvolvedor valioso para ninguém, porque você não será produtivo na verdade ou um bom aprendiz, basta copiar os bits existentes do código e talvez aprender a leia e entenda. Como diz o velho ditado Pokemon, "Não é muito eficaz ...".
A pior parte é que esse tipo de abordagem não é fácil de acompanhar, porque não há gratificação; portanto, você está utilizando a força de vontade bruta, que foi cientificamente comprovada como um recurso limitado para os seres humanos. Você precisa fazer algo que ofereça gratificação diária ou provavelmente não será capaz de mantê-la.
Portanto, para resumir, um mecanismo é enfatizado porque você pode fazer as coisas com um mecanismo e é muito mais provável que tenha sucesso dessa maneira. Até grandes criadores de jogos confiaram no trabalho anterior de outra pessoa e essa é a natureza do progresso. Você precisa entender o cenário geral e saber como brincar com as peças de Lego fornecidas por outras pessoas antes de criar suas próprias peças de Lego personalizadas.
fonte
Assumindo que o seu objetivo é criar um jogo, o cara que falou sobre motores de medida sejam obrigados estava errado. De qualquer forma, jogos complexos exigem um mecanismo maduro que foi projetado, implementado, otimizado, testado e mantido por profissionais que estão no setor há muito tempo - ou que podem corresponder à sua qualidade (pelo menos para os fins de um determinado jogo) , se isso for possível.
Os grandes desenvolvedores de jogos constroem mecanismos internos, mas ainda os reutilizam fortemente para seus futuros jogos. Mas lembre-se de que seus orçamentos, tamanhos de equipe e muitos outros fatores são muito diferentes dos desenvolvedores independentes - pode fazer muito mais sentido para os negócios criarem seu próprio mecanismo, mesmo que os existentes não fiquem aquém tecnologicamente.
Obviamente, ainda existe o equívoco, porque muitos recursos não existem prontos para uso nos mecanismos existentes, que eles não podem ser implementados nesse mecanismo, mas isso geralmente é impreciso.
Lembre-se de que alguns dos jogos modernos mais inovadores, como Portal e Antichamber, foram criados usando os mecanismos existentes. Alguns jogos online bastante complexos, como o Aion e o TERA, foram criados usando os mecanismos existentes. Alguns dos jogos mais bonitos visualmente, como Bioshock Infinite e Thief, foram criados usando os mecanismos existentes. E, claro, alguns não eram. Mas o ponto é: nada que eu já vi realmente exigia um mecanismo personalizado.
Por outro lado, se seu objetivo é aprender conceitos de programação gráfica, é claro que o OpenGL é o caminho a seguir. Mas, mesmo assim, lembre-se de que estar familiarizado com alguns mecanismos existentes o ajudará tremendamente a entender o que você está fazendo e o que deve procurar.
fonte
citation needed
s #