Estou aprendendo a criar um mecanismo de jogo do zero no XNA. Estou procurando exemplos de mecanismos de jogos muito pequenos, especificamente a arquitetura e a estrutura dos arquivos de origem, etc. Deve incluir um mecanismo de script. Os artigos também são apreciados.
Mais especificamente, tenho um problema em saber como conectar o mecanismo de script ao restante do mecanismo do jogo, como carregar modelos do script.
open-source
Shawn Mclean
fonte
fonte
Respostas:
O Angel Engine é um mecanismo Open Source pequeno e muito bom, escrito em C ++ e OpenGL. Além disso, possui uma interface de script Python. Embora o mecanismo não seja escrito em C #, ele deve fornecer algumas dicas e idéias, e pelo pouco que eu joguei com ele, o código é muito limpo e fácil de entender, mesmo que você não esteja totalmente em C ++.
fonte
Gosto do livro Programação de jogos de papéis com DirectX (2ª edição) para sua seção de scripts; Eu realmente não vi um tutorial do início ao fim sobre como criar um mecanismo de script em outro lugar. E, é claro, sendo um livro, ele o guiará passo a passo, criando a parte de script do mecanismo (e todo o restante do mecanismo de jogo que ele estabelece ao longo do livro, é claro). Infelizmente, o código fonte não está disponível online.
Depois de ter um mecanismo de script, eu manteria separados os modelos 3D dos scripts . Os scripts geralmente estão no lado lógico das coisas, enquanto os modelos 3D são certamente o lado da apresentação / exibição das coisas, e esses não devem realmente ser misturados. Quando um script ordena que um caractere "caminhe para (3,5)", não precisa dizer "carregar animação curta, defina a velocidade como (-1,1), aguarde 3 segundos, defina a velocidade como zero, carregue ocioso animação"; você normalmente teria apenas uma
walkTo(x,y)
função disponível para o script, e o código intermediário cuidaria de modelos 3D, animações etc.Mas, ei, se você realmente precisar, defina suas próprias funções no seu intérprete de script que obtém modelos 3D e faz o que for necessário com eles. Eu acho que você está pensando um pouco longe demais; primeiro, preocupe-se em escrever um interpretador de script simples e adicione as funções necessárias ao intérprete enquanto escreve seus scripts.
fonte