Os sistemas de código são sistemas de código. A boa arquitetura de código tende a seguir princípios bastante universais, independentemente de o sistema estar governando tabelas ou sistemas de iluminação. A construção de sistemas de software program é ver as regras gerais no trabalho e usar aquelas para escrever código que adere a essas regras.
Realmente ajuda a ter uma visão maior do que um jogo é da perspectiva de engenharia de software program. Um jogo (ou qualquer software program importante) é um monte de sistemas compostos por subsistemas menores e como esses sistemas individuais interagem entre si. Todos os sistemas de código precisam fazer três coisas:
- Decide quando o sistema precisa fazer seu trabalho
- Retornar os resultados processados desse trabalho interno para externo sistemas que precisam desses resultados para fazer seu próprio trabalho
- Faça seu próprio trabalho interno para processar e lidar com solicitações corretamente
Ao planejar o que um sistema fará, ajuda a dividir o trabalho nesses três baldes. Depois de saber o que o sistema precisa fazer, o engenheiro pode quebrar as funções individuais e os membros de dados de que precisará para realmente fazer esse trabalho.
Vamos seguir em frente com um exemplo – diga que eu queria construir um sistema furtivo em meu jogo de aventura de ação. O documento de design diz que eu quero que o jogador esteja por trás de um inimigo desconhecido, pressione um botão e tocar uma animação emparelhada que mata o inimigo. Usando os três baldes mencionados anteriormente, vamos quebrá -lo.
Quando o sistema precisa fazer seu trabalho?
- Posição de jogador e inimigo
- Jogador e inimigo enfrentando a direção
- Estado da conscientização do inimigo
- Estado de entrada do controlador de jogo
Que resultados eu preciso fornecer?
- Preciso saber quando o jogador atende às condições de estar atrasado e enfrentar um inimigo desconhecido (ligue para o sistema de interface do usuário para mostrar o immediate de botão)
- Eu preciso chamar o sistema de animação para reproduzir as animações do jogador e do inimigo (chame o sistema de animação para reproduzir a animação)
- Eu preciso matar o inimigo (chame o sistema de danos para matar o inimigo)
O que preciso para fazer o trabalho interno para fornecer esses resultados?
- Eu preciso calcular se o jogador está por trás do inimigo
- Eu preciso calcular se o jogador está enfrentando o inimigo
- Eu preciso determinar se o inimigo está ciente do jogador
- Eu preciso saber quando o jogador pressiona o botão de ataque
À medida que cada um desses elementos é construído e funciona, podemos usá -los para interagir entre si. Verificações lógicas, como se o jogador está por trás do inimigo determinará se a ação pode ser tomada. Ações como realizar as animações de remoção são então anexadas às condições. Eles se combinam para formar as regras do designer e nasce um sistema.
(Junte -se a nós na discórdia) e/ou (Apoie -nos no Patreon)
Tem uma pergunta ardente que você deseja responder?