É uma boa idéia simplificar um mecanismo de jogo orientado a personagens até o ponto em que é desnecessário aprender scripts / programação?

9

Lembro-me, e ainda penso, que nem se pode fazer um jogo 3D prototipado para testar comportamentos simples, sem usar ferramentas gigantescas como unidade ou conhecer programação extensa em C ++, padrões de design, um mecanismo 3D decente ou básico, etc.

Agora, estou pensando, desde que conheço programação, se tenho mais sorte do que aqueles que precisam aprender programação antes de saber como fazer alguma coisa. Até mecanismos com scripts como o Unity não são para crianças, e no meu sentido eles tendem a ditar suas maneiras de fazer as coisas. Este não é o caso de motores como Ogre ou Irrlicht.

Agora, estou pensando que jogos baseados em personagens ocupam uma grande parte do mercado de jogos. Você acha que é uma boa ideia criar um mecanismo de jogo orientado ao controle de personagens que permita a criação de IA com exclusão de qualquer outra coisa?

Quando digo protótipo, quero dizer também "genérico", no sentido de que é possível escolher rapidamente um conjunto de parâmetros de jogo, como o gerenciador de cenas, o POV da câmera do jogador, os controles, algumas colisões / física muito básicas e integração da direção básica (OpenSteer, por exemplo). A idéia principal é criar uma sandbox de IA, mas em 3D, para que possa ser demonstrada sem as restrições 2D (e também torná-la mais adequada para prototipar em 3D para um projeto 3D em vez de 2D).

jokoon
fonte
Um mecanismo 3D 'básico' não é enorme e o C ++ é péssimo para a criação de protótipos. Experimente o Python para isso.
O pato comunista

Respostas:

6

Eu realmente gosto do mecanismo de jogo subestimado no Blender. (http://www.blender.org) O modelo sensor-controlador-atuador é realmente fácil de seguir, mesmo para não programadores, e é possível fazer um jogo razoavelmente completo (mover um personagem animado, disparar uma arma, destruir alvos , mostre a pontuação, acompanhe a saúde, redefina o nível ou vá para um novo) sem nenhuma programação.

Obviamente, algumas coisas exigem programação (especialmente obtendo a entrada do mouse para um FPS.) No entanto, o blender já incorpora o Python, e os scripts do Python são muito bem vinculados ao modelo, para que você nunca precise substituir os atuadores dos sensores pelo Python. Em vez disso, basta alternar de um controlador de passagem simples para um script Python completo que pode ler todos os sensores em cena e passar o controle a todos os atuadores.

É bastante viável criar um protótipo de jogo em poucos dias no Blender (eu o fiz para um projeto em um museu infantil local no ano passado.)

Obviamente, nada substitui o bom e velho conhecimento de programação e, eventualmente, um desenvolvedor precisa entender a programação.

Dois pi
fonte
Isso seria muito bom para usar este motor de jogo com código em vez de caixas ... talvez não seja o suficiente limpa para uso, mas eu me pergunto ...
jokoon
4

Independentemente do mecanismo de entrada, no final do dia você ainda precisa configurar algum tipo de maneira de dizer ao jogo qual é a lógica. "Script" é um bom termo coloquial para isso. Então, basicamente, eu discordo da afirmação de que você pode simplificar algo a ponto de não precisar conhecer "scripts".

Dito isto, nem todos os scripts precisam ser feitos com uma linguagem de programação baseada em texto. Houve algum trabalho (mas não muito) para criar um sistema de script visual. A ferramenta de script de nível da Unreal, Kismet, é um bom exemplo de um. O mecanismo de origem tem um mecânico semelhante, mas usa entidades no mundo em vez de em um plano.

Basicamente, você tem caixas que você arrasta em algum tipo de ambiente que possui entradas e saídas. Se você precisar de algum tipo de saída ramificada, terá uma caixa com uma entrada e várias saídas. Essas saídas podem ir para ações que possuem dados vinculados a elas (por exemplo, "vá para este ponto", "diga esta linha", "faça esta pergunta" etc.). Geralmente, é uma barreira significativamente menor à entrada para que algo funcione em uma linguagem visual, já que você não precisa conhecer palavras-chave ou sintaxe, apenas possui um conjunto limitado de caixas para escolher, das quais todas têm comportamentos definidos, e você apenas conecte-os juntos.

No entanto, é minha opinião que os mecanismos de script visual não valem a pena. Você precisa pensar estruturado e logicamente para informar com êxito ao mecanismo o que deseja fazer. Se você pode pensar assim, dar um salto de caixas com entradas / saídas para instruções básicas de ramificação e chamadas de função em uma linguagem de script não é nada demais. De fato, depois de um tempo, a parte visual é provavelmente um obstáculo. Além disso, é muito mais trabalhoso no lado do motor. Você tem que fazer coisas como implementar desfazer, copiar / colar, talvez tenha alguns recursos de nível superior para organizar seus scripts. Com uma linguagem baseada em texto, você pode deixar tudo isso para o IDE.

Tetrad
fonte
Você quer dizer como Unreal Kismet?
91311 DeadMG
1

Em geral, será uma troca. Se você realmente deseja remover a necessidade de executar qualquer tipo de script, geralmente estará falando sobre criar algum tipo de interface que agrupe os scripts em segundo plano (ou apenas conecte objetos lógicos ou não). Existem jogos inteiros em que esse é o ponto principal para eles, um ambiente bem definido onde você arrasta e solta a funcionalidade para ver como ela interage.

No final do dia, no entanto, sempre haverá uma troca. Quanto mais simples você tentar tornar a interface, mais simplistas serão as coisas criadas por essa interface.

James
fonte