Neste tutorial, você aprenderá como marcar uma missão como concluída em um jogo através da API OpenAI. É importante que o cliente, ou seja, o navegador do jogador, receba as seguintes informações: A missão foi concluída com sucesso. Isso permite ao jogador a oportunidade de falar com o Dr. Owen e assim se aproximar do objetivo do jogo. Vamos nos aprofundar nos detalhes!
Principais descobertas
- A missão é marcada com a propriedade "completedQuest" no objeto de resposta.
- Essa informação é transmitida ao cliente para que o status da missão possa ser atualizado.
- Quando a missão é marcada como concluída, o jogador pode interagir com o Dr. Owen.
Guia passo a passo
Comece configurando, garantindo que sua aplicação base esteja corretamente preparada. Neste exemplo, utilizamos uma mensagem de resposta para atualizar o status da missão.
Adicionamos uma nova propriedade chamada "completedQuest" à mensagem de resposta. Essa propriedade nos permite armazenar o status atual da missão relacionada à bebida que o Dr. Owen ofereceu.
No nosso código, definimos "completedQuest" como sendo a bebida feita pelo Dr. Owen. Isso significa que a missão é considerada concluída uma vez que a função é chamada.
Em seguida, inserimos o nome dessa missão na propriedade. Isso nos dá flexibilidade para gerenciar várias missões.
Após definir a propriedade "completedQuest", enviamos esse objeto de resposta ao cliente. É vital não enviar apenas o texto da resposta, mas também essas informações adicionais.
Então, recebemos essa resposta no cliente e processamos o objeto de resposta. Aqui, devemos garantir que estamos acessando a propriedade correta.
Ao receber a resposta no arquivo chat.jsx, acessamos o conteúdo do objeto de resposta. Para isso, acessamos o conteúdo e a propriedade "completedQuest".
Se a propriedade "completedQuest" não estiver indefinida, conseguimos procurar pelo ID da quest correspondente. Esse ID nos permite encontrar a quest específica que precisa ser concluída.
Uma vez que possuímos o ID da quest, definimos a propriedade "completed" como verdadeira, marcando assim a quest como concluída de fato.
Neste processo, utilizamos uma verificação para garantir que o ID corresponda ao ID do "completedQuest" e que a quest correta seja encontrada.
Exploramos os dados em tempo de execução do jogo, que contêm todas as missões. Inicialmente, o status de cada missão é definido como falso. Quando a missão é marcada como concluída, alteramos esse status para verdadeiro.
Para facilitar, passamos os dados em tempo de execução do jogo como propriedade para o nosso componente de chat. Isso nos permite gerenciar e usar as missões no local correto do código.
No componente de chat, usamos esses dados para buscar as missões. Certificamo-nos de ter o ID correto para encontrar a missão corretamente concluída.
Quando encontramos a missão-alvo, definimos o status como verdadeiro. Isso também atualiza o status visual no jogo.
Para testar o comportamento, vamos até o bar e interagimos com o barman. Dessa forma, damos novamente a ordem de comprar bebidas para o Dr. Owen.
Enviamos a mensagem: “Por favor, compre uma bebida para o Dr.” Neste ponto, a quest deve ser marcada como concluída.
Se tudo estiver implementado corretamente, o Dr. Owen será exibido na interface do usuário e o status será atualizado adequadamente.
Agora é necessário garantir que, se a quest não estiver totalmente concluída, o jogador não consiga interagir com o Dr. Owen.
Assim que o status da quest for definido como verdadeiro, você pode permitir a interação com o Dr. Owen. Isso melhora a experiência do jogador e faz com que a quest pareça significativa.
Para refinar ainda mais a interação, você deve adicionar um menu suspenso nas próximas etapas, onde vários personagens para conversar podem ser selecionados. Os jogadores devem poder interagir com diferentes personagens no jogo.
Resumo
Neste tutorial, você aprendeu como marcar uma quest no jogo como concluída e quais etapas são necessárias para isso. Uma gestão correta do status da quest permite aumentar a interatividade no jogo e tornar a experiência mais emocionante para os jogadores.
Perguntas Frequentes
O que é uma "completed Quest"?Uma "completed Quest" é uma missão ou tarefa que o jogador concluiu com sucesso.
Como o status da quest é atualizado?O status da quest é atualizado através da propriedade completedQuest na mensagem de resposta.
Posso gerenciar várias quests simultaneamente?Sim, você pode gerenciar várias quests usando IDs de quest diferentes e atualizando seus status individualmente.
Para que serve a propriedade completedQuest?A propriedade completedQuest sinaliza que uma quest específica no jogo foi concluída, permitindo que o cliente reaja adequadamente.
O que devo fazer antes de falar com o Dr. Owen?Você deve garantir que o status da quest correspondente esteja definido como verdadeiro antes que o jogador possa interagir com o Dr. Owen.