Como eu iria criar eventos / cenas do NPC? Por exemplo, qualquer RPG terá uma tonelada de cenas diferentes no jogo, nas quais você pode expressar uma história.
O que eu pensei até agora é ter gatilhos diferentes e um número indicando o estado da história em que o jogador está. Quando o jogador toca em um desses gatilhos, vou verificar o estado e avançar a partir daí. Estou na página certa?
Depois disso, como animar as cenas? Eu apenas os codifico no jogo? Eu estava pensando que é aqui que uma linguagem de script pode ser útil? eu não tenho certeza
Sei que essa é provavelmente uma pergunta grande, mas se alguém pudesse apontar na direção certa, seria ótimo.
Estou usando c # e XNA, se isso importa.
Atualmente, como os sistemas são configurados, os eventos gerados por objetos acionam cenas, como você afirmou que os acionadores de jogadores causam mudanças de cena e, certamente, você pode usar uma máquina de estado. Você pode criar seu próprio protocolo de cena de animação, para que ele não precise ser codificado. Você também tem a opção de reproduzir arquivos de filme reais, se desejar, mas geralmente eles são muito grandes.
Acho que você está definitivamente na página certa, já que este é o seu programa - você pode fazer o que quiser da maneira que desejar. Criar funcionalidades para coisas como essa é intrigante e gratificante.
Eu nunca vi nenhuma documentação real sobre esse assunto, por isso ficaria interessado em ver a opinião de outras pessoas.
fonte
Não tenho certeza se você queria mais um exemplo de código do que teoria, mas dê uma olhada nesta pergunta
fonte
Você tem a idéia certa de definir gatilhos em seus mapas de jogos e jogos para disparar eventos (observe, eu não necessariamente quero dizer os eventos no idioma C #). Os scripts são opcionais, mas podem ser uma maneira mais flexível de adicionar esses gatilhos ao seu jogo e recarregar novos, se uma mudança no enredo solicitar.
Independentemente de você estar usando scripts ou não, geralmente seria bom ter um "carregador de eventos" que possa transmitir um novo grupo de eventos ou gatilhos para os mapas do jogo sempre que necessário. Com os scripts, ele será considerado um carregador de scripts e será responsável por preencher o mundo do jogo com novos eventos em locais específicos, incluindo eventos que podem carregar outro script.
Por exemplo, no início do jogo, o primeiro script (ou objeto do carregador de eventos) será chamado automaticamente e enche o jogo com gatilhos de eventos. Um desses eventos pode ser acionado após derrotar o primeiro chefe, e esse evento, por sua vez, carregará outro script que substitui parte ou todos os acionadores de eventos do jogo. Agora você tem um novo conjunto de interações ou objetivos que você pode explorar. Isso adiciona uma camada de flexibilidade aos caminhos de ramificação nas missões e na história, mas, com isso, lembre-se de planejar bem os caminhos de ramificação do seu enredo, para que você saiba que todos os seus eventos fazem sentido na história.
fonte