Desenvolvendo Jogos com Kodu Game Lab Manual Básico (adaptado)
SUMÁRIO INTRODUÇÃO MÓDULO 1: APRESENTANDO O DESENVOLVIMENTO DE JOGOS E O KODU GAME LAB Atividade 1.1 Apresentação pessoal Atividade 1.2 Apresentando o Kodu Game Lab Atividade 1.3 O que é um jogo? Atividade 1.4 Jogos do Kodu MÓDULO 2: PROGRAMAÇÃO BÁSICA EM KODU Atividade 2.1 Apresentando a linguagem de programação Kodu Atividade 2.2 Resolvendo os tutoriais 2 e 3 Atividade 2.3 Conhecendo os robôs e os objetos Atividade 2.4 Programando robôs Atividade 2.5 Jogos com dois robôs
MÓDULO 3: PROCESSO DE DESENVOLVIMENTO INFORMAL Atividade 3.1 Gerando Ideias Atividade 3.2 Ideias para jogos Atividade 3.3 Escolas: cases de sucesso Projetando modelos MÓDULO 4: CRIANDO MUNDOS Atividade 4.1 Projetando espaços de jogo Atividade 4.2 Padrões de projeto e receitas de códigos Atividade 4.3 Padrões de espaços para jogos MÓDULO 5: PADRÕES DE PROJETOS DE JOGOS Atividade 5.1 Projeto padrão de progresso de jogo Atividade 5.2 Projeto padrão de jogabilidade Atividade 5.3 Projeto padrão de informações de jogo MÓDULO 6: PRÓXIMOS PASSOS Atividade 6.1 Processo de criação interativa Atividade 6.2 Ferramentas de solução de problemas, depuração e desenvolvimento MÓDULO 7: PRÓXIMOS PASSOS
INTRODUÇÃO Kodu Game Lab é uma linguagem de programação visual que permite a qualquer pessoa, mesmo sem qualquer conhecimento ou experiência em programação, criar jogos em 3D. O Kodu usa ícones intuitivos para controlar seus personagens e objetos, expressando essas características em ações. Dessa maneira, mesmo sendo todo em inglês, pessoas de qualquer idade e mesmo sem nenhum conhecimento da língua conseguem utilizá-lo sem maiores dificuldades. O objetivo deste manual é dar as primeiras noções do Kodu e mostrar o quanto é fácil criar jogos ricos e interessantes no contexto escolar. O curso irá abranger as habilidades necessárias para projetar e criar mundos e jogos com Kodu Game Lab, além de investigar o processo de criação de jogos e como o Kodu pode ser usado no currículo escolar. Projetando e criando seus próprios jogos, os participantes irão aprender o quão poderosa e interessante é a ferramenta de criação de jogos. Este curso vai: • Capacitar os participantes a criar e programar personagens e objetos. • Permitir aos participantes criar mundos em 3D. • Apresentar os principais elementos do processo de criação de jogos. • Fornecer uma gama rica de exemplos de códigos e de jogos. • Fornecer exemplos de como o Kodu Game Lab Lab tem sido utilizado
•
em escolas. Fortalecer a confiança e a segurança dos participantes para a aplicação dos recursos do Kodu.
MÓDULO 1: APRESENTANDO O DESENVOLVIMENTO DE JOGOS E O KODU GAME LAB Atividade 1.1 Apresentação pessoal Se você fosse um personagem de jogo eletrônico, o que você gostaria de ser? NOME: _______________________________________________________________ PODERES: ___________________________________________________________
Três características que tornam o seu personagem especial: _______________________________________________________________ ______ _______________________________________________________________ ______ _______________________________________________________________ ______ Desenhe seu personagem abaixo:
Atividade 1.2 Apresentando o Kodu Game Lab Durante esta atividade, vamos explorar o Kodu Game Lab, sua finalidade e o que outras pessoas já criaram com ele. Se julgar necessário, use o espaço abaixo para registrar as ideias mais importantes sobre o assunto. ANOTAÇÕES: _______________________________________________________________ ______ _______________________________________________________________ ______ _______________________________________________________________ _______________________________________________________________ ____________ _______________________________________________________________ ______ _______________________________________________________________ _______________________________________________________________ ____________ _______________________________________________________________ ______ _______________________________________________________________ _______________________________________________________________ ____________
_______________________________________________________________ ______ _______________________________________________________________ _______________________________________________________________ ____________ _______________________________________________________________ ______ _______________________________________________________________ _______________________________________________________________ ____________ _______________________________________________________________ ______ _______________________________________________________________ _______________________________________________________________ ____________ _______________________________________________________________ ______ _______________________________________________________________ _______________________________________________________________ ____________ _______________________________________________________________ ______ _______________________________________________________________ _______________________________________________________________ ____________ _______________________________________________________________ ______ _______________________________________________________________ _______________________________________________________________ ____________ _______________________________________________________________ ______ _______________________________________________________________ _______________________________________________________________ ____________ _______________________________________________________________ ______ _______________________________________________________________ _______________________________________________________________ ____________ _______________________________________________________________ ______ _______________________________________________________________ _______________________________________________________________ ____________ _______________________________________________________________ ______ Atividade 1.3 O que ĂŠ um jogo?
Lista abaixo 5 jogos eletrônicos que você gosta de jogar. _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ ________________________ Pensando sobre os jogos que você listou, identifique os fatores-chave que tornam o jogo um jogo. Use o gráfico em forma de diamante de 9 quadros para mostrar as 9 características marcantes dos jogos, sendo que as mais importantes devem ficar no topo do diamante.
“Um jogo é uma atividade de solução de problemas, abordada com uma atitude de interatividade.” (Jesse Schell) Atividade 1.4 Jogos Kodu O Kodu Game Lab tem aproximadamente 50 mundos e jogos padrão incluídos. Nesta atividade, nós vamos explorar alguns desses mundos e jogos para aprender sobre o que pode ser feito com o software e o que faz um jogo do Kodu Game Lab. ANÁLISE DE JOGO (EXEMPLO)
NOME DO JOGO: Bonk Out v18. OBJETIVO: Derrubar os castelos enquanto protege seus pontos. REGRAS: Um botão lança bombas. Robôs de pressão lançam discos que destroem tudo, exceto o jogador. O jogador pode controlar a direção dos discos pulando e desviando-os. POR QUE É DIVERTIDO? Este jogo é fácil de entender e é similar ao clássico Breakout. Também é divertido porque é rápido. Este jogo seria muito melhor se fosse mais longo.
A SUA ANÁLISE DE JOGO: NOME DO JOGO: _______________________________________________________________ ______ OBJETIVO: _______________________________________________________________ ______ _______________________________________________________________ _______________________________________________________________ ____________ REGRAS: _______________________________________________________________ ______ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ __________________ POR QUE É DIVERTIDO? _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ __________________
MÓDULO 2: PROGRAMAÇÃO BÁSICA EM KODU
Atividade 2.1 Apresentando a linguagem de programação Kodu Nesta atividade, nós vamos escrever a nossa primeira programação de jogo no Kodu Game Lab. O Kodu contém três tutoriais padrão e nós vamos trabalhar nesses três tutoriais. ANOTAÇÕES: _______________________________________________________________ ______ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ ________________________ Resolvendo o tutorial 1: 1. Abra o tutorial 1. O robô Kodu vai lhe dizer: “Eu quero visitar o castelo” (“I want to visit the castle.”) 2. Pressione a tecla Esc (ou start se estiver usando o controle do vídeo game) para editar o mundo.
3. Selecione a ferramenta Add and Program Objects (adicionar e programar objetos), localizada na barra de ferramentas na parte inferior da tela. 4. Selecione o robô que é exibido no mundo clicando com o botão direito (ou tecla Y no controle).Ele ficará brilhando em amarelo e um menu de edição deverá aparecer. 5. Clique com o botão esquerdo na opção Program. A programação do robô deverá aparecer e então nós temos duas maneiras de editar essa programação: uma delas é editar o código que já existe na primeira linha; a outra forma é adicionar uma nova linha de códigos de programação. Vamos agora editar a primeira linha, mas adicionar outra linha de códigos é uma abordagem que também
funciona. A primeira linha diz:
Nós
vamos fazer a seguinte modificação: 6.
Remova os comandos “Express” e “Hearts” clicando com o botão direito ou usando a tecla Delete (ou com o botão X no controle). 7. Adicione os novos comandos clicando com o botão esquerdo (ou
pressionando A no controle) no ícone
.
8. Selecione a opção move (movimentar)
9. Selecione towards (em direção à) O novo código então ficará assim:
.
.
10.
Pressione a tecla Esc (ou duas vezes o B no controle) para sair da tela de programação e voltar para a barra de ferramentas. 11. Clique em Play na barra de ferramentas ou pressione novamente Esc para jogar. 12. O robô Kodu deve agora se mover em direção ao castelo.
Atividade 2.2 Resolvendo os tutoriais 2 e 3 Nesta atividade, nós vamos resolver os tutoriais 2 e 3. As instruções para resolver esses tutoriais estão incluídas nas próximas páginas, mas tente, se for possível, resolver os tutoriais sem olhar as instruções. _______________________________________________________________ ______ _______________________________________________________________ ______ _______________________________________________________________ ______ _______________________________________________________________ ______ _______________________________________________________________ ______ _______________________________________________________________ ______ _______________________________________________________________ ______ _______________________________________________________________ ______ _______________________________________________________________ ______ _______________________________________________________________ ______ _______________________________________________________________ ______ _______________________________________________________________ ______ _______________________________________________________________ ______ _______________________________________________________________ ______ _______________________________________________________________ ______ _______________________________________________________________ ______ _______________________________________________________________ ______ _______________________________________________________________ ______ _______________________________________________________________ ______ _______________________________________________________________ ______ _______________________________________________________________ ______
_______________________________________________________________ ______ Solução do Tutorial 2: Objetivo: reprogramar o robciclo para pular o rio. 1. Abra o Tutorial 2. 2. Pressione Esc (ou start) para editar o mundo.
3. Selecione a ferramenta Add and Program Objects (adicionar ou programar objetos) na barra de ferramentas na parte inferior da tela. 4. Selecione o personagem clicando sobre ele com o botão direito (ou movimentando o cursor no controle). Ele ficará brilhando em amarelo e um menu de edição deverá aparecer. 5. Selecione a opção Program clicando com o botão esquerdo (ou com o botão Y do controle). O código de programação do robô será mostrado e nós temos duas formas de editá-lo: ou editar o código que já existe nas linhas 3 e 4 ou adicionar novas linhas de código. Nós vamos editar as linhas préexistentes, mas adicionar linhas de código também é uma opção válida. As linhas de código atuais são:
Nós precisamos mudá-las para:
6.
Adicione os novos comandos clicando com o botão esquerdo (ou com o botão A do
controle) no botão
.
7. Selecione a opção Jump (pular) com o botão A do controle).
Nota: clique em Action (ação)
com o botão esquerdo (ou
para visualizar a opção Jump
. O código então será:
8.
voltar para a barra de
Pressione Esc no teclado (ou B duas vezes no controle) para sair da tela de programação e ferramentas.
9. Clique no botão Play na barra de ferramentas (ou no controle) ou pressione Esc novamente. 10. Agora, o robô Kodu vai saltar toda vez que foi pressionada a barra de espaço ou o botão A no controle.
Solução do Tutorial 3 Objetivo: programar o robociclo para pegar uma maçã. 1. Abra o tutorial 3. 2. Pressione Esc no teclado (ou Start no controle) para editar o mundo.
3. Selecione a opção Add and Program Objects (adicionar e programar
objetos) na barra de ferramentas, na parte inferior da tela. 4. Selecione o personagem clicando com o botão direito (ou movendo o cursor com o controle). Ele ficará brilhando em amarelo e um menu de edição deverá aparecer. 5. Selecione Program clicando com o botão esquerdo (ou com o botão Y do controle). A segunda linha de códigos é:
Nós precisamos modifica-la
para:
6. Adicione
os novos comandos clicando com o botão esquerdo (ou com o botão A do
controle) no botão
.
7. Selecione a opção Grab (apanhar) mouse (ou com o botão A do controle). Nota: clique no grupo O novo código será:
com o botão esquerdo do
para encontrar a opção
.
8. Pressione Esc no teclado (ou B duas vezes no controle) para sair da tela de programação e voltar para a barra de ferramentas. 9. Clique no botão Play na barra de ferramentas (ou no controle) ou pressione Esc novamente. 10. Agora, o robô Kodu vai pegar a maçã brilhante e vai conseguir
atravessar a ponte.
Atividade 2.3 Conhecendo os robôs e os objetos Nesta atividade, vamos explorar os vários robôs e objetos disponíveis no Kodu Game Lab, bem como os diferentes atributos e habilidades de cada robô. ANOTAÇÕES:
_______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ ___________________________
2.4 Programando robôs Robôs controlados pelo jogador Vimos nos tutoriais anteriores que podemos programar um robô para ser controlado pelo teclado ou pelo controle do Xbox. Nós também podemos associar ações como pular, por exemplo, a teclas específicas do teclado ou do controle do videogame.
Robôs de Inteligência Artificial Vamos ver como programar outros robôs para interagir com os robôs do jogador.
Ou
então:
Se quisermos que o robô apenas passeie pelo mundo, ao invés de seguir o outro robô, podemos usar:
AÇÕES POSSÍVEIS DO COMANDO “WHEN” (QUANDO) Atenção: 1. See (ver), hear (ouvir), got (ir), bump (encontrar), shot hit (atirar), health (vida), held by (segurado), on land (na terra) e on water (na água) são ações físicas do robô ou objeto. 2. Timer (temporizador), scored (pontuação), gamepad (controle), keyboard (teclado) e mouse (mouse) são ações externas às quais o robô pode responder. 3. Nem todas as ações estão disponíveis para todos os robôs e objetos. ANOTAÇÕES:
_______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _________
AÇÕES POSSÍVEIS DO COMANDO “DO” (FAZER)
Robôs e objetos têm configurações que definem certos atributos, e são esses atributos que determinam como eles se comportam. A programação não pode modificar essas configurações enquanto o jogo está sendo jogado. As modificações desses atributos devem ser feitas enquanto se projeta o jogo. ANOTAÇÕES _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _________
2.5 Jogos com dois robôs Nesta atividade, vamos montar um jogo simples com dois robôs. Esta atividade deve ser direcionada para a construção de um jogo simples com dois robôs. O jogo não deve ser complicado e deve ser finalizado em um tempo curto. Crie seu primeiro robô. 1. Abra o mundo Small World with Water. 2. Pressione Esc no teclado (ou start no controle) para editar o mundo.
3. Selecione a opção Add and Program Objects na barra de ferramentas, na parte inferior da tela. 4. Adicione o personagem clicando com o botão esquerdo (ou com o botão A no controle). Selecione o robô ou objeto desejado. 5. Para programar o robô ou objeto, selecione a opção Program com o botão esquerdo (ou Y no controle). 6. Adicione o código de programação desejado. 7. Pressione Esc (ou B duas vezes no controle) para sair da tela de programação. 8. Clique em Play na barra de ferramentas na parte inferior da tela para verificar a programação. 9. Repita o processo para adicionar o segundo robô. ANOTAÇÕES: _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________
MÓDULO 3: PROCESSO DE DESENVOLVIMENTO INFORMAL
Atividade 3.1 Gerando Ideias Liste abaixo ideias para aprimorar o jogo desenvolvido na atividade anterior: _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ ________________________________________________ Atividade 3.2 Ideias para jogos Nesta atividade, o objetivo é ter ideias para a construção de jogos com Kodu Game Lab. Liste uma ideia de jogo que você fazer. Exemplo: Nome: Duck Out. Objetivo: este jogo é similar ao Bonk Out, exceto no fato de que, em vez de usar castelos e robôs-
palito, barcos e tartarugas serão utilizados, e o jogo se passará na água. As tartarugas também serão capazes de ficar submersas por 2 segundos, a fim de conseguirem desviar dos discos. Regras: o jogador controla o peixe. O peixe deve proteger as três tartarugas dos discos voadores jogando-os para longe. O jogador também pode submergir as tartarugas por um curto espaço de tempo a fim de protegê-las. Robôs utilizados: barcos, tartarugas, peixe e discos.
O seu projeto de jogo: Nome: _______________________________________________________________ ______ Objetivo: _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ __________________ Regras: _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ ________________________ Robôs utilizados: _______________________________________________________________ _______________________________________________________________ ____________
Atividade 3.3 Escolas: cases de sucesso Nesta atividade, vamos conhecer algumas escolas que tem utilizado o Kodu Game Lab com seus alunos e as atividades desenvolvidas por elas.
ANOTAÇÕES: _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _____________________________________________
MÓDULO 4: CRIANDO MUNDOS
Atividade 4.1 Projetando espaços de jogo O objetivo desta atividade é dar um entendimento geral sobre os recursos de jogo, os recursos de câmera e as definições de mundos de jogos do Kodu. Mundos grandes (com grandes extensões de terreno) geralmente utilizam grandes quantidade de recursos, e por isso é essencial criar mundos tão pequenos quanto possível. ANOTAÇÕES: _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________
_______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________ Atividade 4.2 Padrões de projeto e receitas de códigos Os padrões de projeto e as receitas de códigos permitem aos programadores utilizar abordagens já testadas e bem conhecidas para resolver problemas de programação. Esta atividade irá explicar como os padrões de design de jogos podem ajudar a resolver as situações mais comuns. Esta atividade também irá introduzir o conceito de receitas de código, que são códigos específicos para os problemas mais comuns de programação. ANOTAÇÕES: _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ ____________________________________________________________
Atividade 4.3 Padrões de espaços para jogos Padrão “mundo aberto” Jogos que utilizam o padrão de mundo aberto permitem ao jogador andar por onde quiser, com sua trajetória própria. Jogos de mundo aberto normalmente envolvem um padrão de jogo não-linear, onde o jogador pode escolher a sequência na qual ele quer completar as tarefas. Neste caso, a câmera segue o jogador (padrão dos jogos desenvolvidos no Kodu Game Lab). Jogos de mundo aberto são mais convenientes para situações de apenas um jogador. ANOTAÇÕES: _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ ______________________________
FERRAMENTAS UTILIZADAS NA EDIÇÃO DE UM MUNDO ABERTO (“EM BRANCO”):
Use o Ground Brush (Pincel de Terreno) para adicionar ou remover terreno. Segure o botão esquerdo enquanto arrasta o mouse para adicionar terreno ou segure o botão direito enquanto arrasta o mouse para apagar o terreno. Existem diferentes formatos de pincel e diferentes tamanhos, que podem ser utilizados para adicionar rapidamente uma grande área de terreno e para fazer desenhos de terreno mais complexos, quando necessário. Também há várias opções de cor de terreno.
Use a ferramenta Up/Down Brush (Pincel para cima/para baixo) para criar vales e montanhas. Utilize o botão esquerdo do mouse sobre o terreno para trabalhá-lo. Nessa ferramenta, os diferentes pinceis e formatos ajudam a criar diferentes efeitos.
Utilize o Water Brush (Pincel de Água) para adicionar, remover ou colorir a água. O botão esquerdo do mouse controla o nível de água adicionado e o botão direito apaga a água.
Use o Flatten Brush (achatador) para criar áreas planas e rampas. Use o botão esquerdo do mouse sobre a área para nivelar a área ou o botão direito para desfazer a ação.
Use o Roughen Brush (Pincel Áspero) para criar áreas irregulares. Arraste o mouse segurando o botão esquerdo sobre a área do solo que deseja tornar irregular ou o botão direito para torna-la apenas montanhosa.
Use a ferramenta Delete Tool (Apagador) para remover rapidamente robôs e objetos do seu mundo.
Durante a edição do mundo, utilize a tecla F3 para ativar o modo Snap to Grid, que mostra as coordenadas do cursor no canto inferior esquerdo da tela e torna o tamanho do pincel constante. O botão de rolagem do mouse pode aumentar ou reduzir o zoom, o que pode ser útil quando o cursor está escondido atrás de algum elemento do seu mundo. Importante: ao criar seus mundos, fique atento ao Medidor de Recursos em forma de “termômetro” no lado direito da tela, garantindo que ele não atinja a área vermelha. Isso é especialmente importante quando se está criando mundos grandes e abertos.
Padrão “Corrida” Jogos de corrida exigem que o jogador percorra um trajeto ou espaço prédefinido. Frequentemente existem checkpoints com o objetivo de bater os adversários ou de registrar o jogador em um tempo limite pré-estabelecido. Jogos de corrida, em geral, simulam atividades reais de corrida e, portanto, são simples de entender e de jogar. ANOTAÇÕES: _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ ____________________________________ Receita: jogo de corrida com oponentes. Para programar os robôs para um jogo simples de corrida, basta criar o robô, criar um caminho e programá-lo para percorrer esse caminho.
Após criar o personagem, utilize a ferramenta Path Tool (Ferramenta de Caminho), selecione o tipo de caminho (estrada, simples, muro, flora) e trace a pista da corrida. Novos pontos são adicionados clicando com o botão esquerdo. Uma corrida circular pode ser criada sobrepondo o último ponto ao
primeiro. Pressione a tecla Esc para finalizar. Coloque o robô sobre a pista e então utilize a receita abaixo:
Padrão “Rolagem Lateral” Um jogo de rolagem lateral é aquele em que o jogador só pode se mover em 2D. Ele geralmente requer que o personagem faça muitos saltos sobre buracos ou obstáculos que podem ou não ser móveis. Jogos de rolagem lateral foram extremamente populares nos anos 1980 e trazem um sentimento nostálgico quando jogados. ANOTAÇÕES: _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ ____________________________________ Receita: jogo de rolagem lateral. Geralmente, a melhor forma de fazer um jogo nesse estilo é criando um caminho (como no caso das corridas), mas também é possível fazê-lo editando o terreno. Nós precisaremos que a câmera siga o personagem lateralmente. Para fazer isso, é necessário mudar as configurações de câmera da seguinte maneira:
1. Clique em World Settings (Configurações de Mundo) 2. Acesse o menu de Modo de Câmera e selecione o modo Fixed Setting.
3. A
receita para movimentação:
Padrão Um
Labirinto
jogo no
padrão labirinto pode ser transformado em um tipo de “quebra-cabeças”, exigindo que o jogador encontre a rota correta. Alguns labirintos tem apenas uma rota correta, enquanto que outros tem várias rotas possíveis. ANOTAÇÕES: _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ ____________________________________ Receita: jogo de labirinto. Ao fazer um labirinto, é mais fácil iniciar elevando toda a área do mundo para depois ir construindo os caminhos do labirinto entre essas áreas elevadas. Construir paredes é muito mais difícil. Em jogos de labirinto, geralmente a câmera é fixada atrás do robô ou, ainda, pode ser colocada em primeira pessoa. Para utilizar a câmera em primeira pessoa, siga a receita abaixo:
Este é o robô controlado pelo jogador e que percorrerá o labirinto.
Padrão
Tabuleiro Fixo
Alguns espaços de jogos podem ser pequenas áreas fixas. Esse tipo de jogo é mais adequado para jogos multiplayer em que a função de tela dividida não está disponível. Tendo um espaço definido e uma câmera fixa, todos os jogadores tem a mesma visão de jogo .
ANOTAÇÕES: _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ ____________________________________ Receita: jogo de tabuleiro com câmera fixa Nós precisamos que a câmera fique na mesma posição todo o tempo. Para isso, configure a câmera no modo “posição fixa” (Fixed Position).
1.
(Configurações de Mundo). 2. Selecione o modo de câmera Fixed Position (Posição Fixa).
Clique no ícone World Settings
MÓDULO 5: PADRÕES DE PROJETOS DE JOGOS
Atividade 5.1 Projeto padrão de progresso de jogo Padrão de Tempo Limite O tempo limite requer que o jogador complete uma ação, ou alcance um objetivo, ou define um tempo em que o personagem tem que sobreviver para ganhar. O cronômetro geralmente é exibido para dar ao jogador a noção do tempo restante e, assim, da urgência em terminar a tarefa. Alguns jogos podem dar tempo extra como bônus ao completar determinadas tarefas. ANOTAÇÕES: _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ ____________________________________ Receita de código de tempo limite: 1. Certifique-se que o robô ao qual o cronômetro está associado não possa ser destruído durante o jogo. 2. Selecione uma única cor para a pontuação (Score) e não associe essa cor a mais nenhum elemento do jogo. 3. Nesta receita, o cronômetro indicará um tempo-limite de 30 segundos, ao final dos quais o jogo acaba. 4. No jogo Whack-a-Llama (disponível na galeria do Kodu) você pode ver esta receita em prática.
Padrão de Pontuação A pontuação é a representação numérica do sucesso do jogador. Pontos podem ser adicionados ao placar do jogador ao atingir certos objetivos ou podem ser tirados caso ele falhe na tarefa. A pontuação do jogador é geralmente mostrada todo o tempo durante o jogo, sendo que o ganho de pontos geralmente está associado a um objetivo alcançado, aumentando a sensação de conquista e progresso. ANOTAÇÕES: _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ ____________________________________ Receita: Pontuação. Atenção: 1. Nesta receita, o jogador ganha um ponto no placar azul a cada tiro que acerta o dirigível e 10 pontos a cada tiro que acertar no disco. Quando o jogador atingir 100 pontos, ele vence o jogo. 2. Essa receita deve ser adicionada à programação do robô que estará atirando. 3. Consulte o jogo Xevon v07 (disponível na galeria de mundos do Kodu)
para ver essa receita em ação.
Padrão Energia A energia (Health) do personagem também pode indicar ao jogador o seu progresso no jogo. A barra de energia mostra o nível atual de energia do personagem e dá um feedback imediato ao jogador. ANOTAÇÕES: _______________________________________________________________ _______________________________________________________________ _______________________________________________________________
_______________________________________________________________ _______________________________________________________________ _______________________________________________________________ ____________________________________ Receita: Energia. Atenção: 1. Quando o robô toca em uma moeda, ele perde 10 pontos da sua energia e a moeda desaparece. 2. Quando o robô toca e come uma maçã, ele ganha 10 pontos de energia. 3. Quando a energia do robô chega a zero, o jogo acaba. 4. O número de pontos de vida (energia) com que o robô começa é definido nas configurações do robô. Os pontos podem variar de 0 a 1000, variando de 5 em 5 pontos.
Padrão Save Points Save Points, também chamados de Check Points, são pontos colocados estrategicamente após sequências difíceis de tarefas e onde o jogo é salvo automaticamente. Se o jogador falhar na próxima sequência, ele voltará automaticamente ao save point, ao invés de voltar ao início do jogo. Isso reduz o problema de ter que repetir sequências fáceis até atingir o ponto onde tinha chegado anteriormente. ANOTAÇÕES: _______________________________________________________________ _______________________________________________________________
_______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ ____________________________________
Receita: Save Points Atenção: 1. O robociclo controlado pelo jogador é criado no início pelo primeiro save point. 2. O placar vermelho é usado para manter o controle sobre as vidas do jogador. O valor 1 indica que o personagem está vivo e sendo controlado pelo jogador; o valor 0 indica que o robô “morre” e será recriado a partir do último save point atingido. 3. A pontuação do placar preto é utilizada para manter o controle dos save points. O valor 0 indica que o jogador está iniciando o jogo e não atingiu nenhum deles; o valor indica que o jogador já conseguiu alcançar 1 save point; e assim por diante. 4. Um robô deve ser criado e programado para cada save point. Neste exemplo, utilizamos robôs do tipo stick bots, mas o tipo de robô não influencia no resultado. 5. Não há códigos para a página de códigos 3 no caso dos robôs de save point. 6. Use o menu de configurações dos robôs de save points para reduzir a sua audição ao mínimo possível. Dessa forma, o robô apenas escutará o robociclo quando ele estiver bem perto. 7. Um placar de cor diferente pode ser utilizado para controlar e limitar o número de novas vidas, embora a receita abaixo não apresente este código. Programação para o robociclo:
Este robô é controlado pelo jogador.
(Manter
Programação do save point inicial (onde o jogo começa e onde o robociclo é criado):
Este é o robô Stick bot, usado aqui para ser o save point.
(Manter
(Não há códigos na página 3) Programação do save point 1
Este é o robô Stick bot, usado aqui para ser o save point.
(Manter
(Manter
Ao programar os save points seguintes, acrescente 1 ponto à última linha de códigos, no comando WHEN (o próximo teria 3 pontos; o seguinte, 4 pontos, e assim por diante). Padrão de múltiplos níveis Possuir vários níveis (ou “fases”) é uma ótima ferramenta para um jogo transmitir a ideia de progresso ao jogador. Os jogos também podem usar os diferentes níveis para aumentar a dificuldade e/ou introduzir novos mecanismos de jogo. ANOTAÇÕES: _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ ____________________________________
Receita: múltiplos níveis. 1. A pontuação em preto serve para mostrar o nível em que o jogador está. 2. O robô do jogador é recriável e deve ser criado no início no jogo. 3. Os níveis subsequentes podem ser feitos copiando o star point (ponto inicial) e o end point (ponto final) da fase 2, acrescentando um ponto a mais ao placar de pontuação preto. 4. Configure o placar de pontuação preto para Off (desligado). Programação para o robociclo
Este robô é controlado pelo jogador.
point do
Programação do Start nível ou fase 1
Programação do End Point:
(Manter
Programação do Start Point da fase 2:
Programação do End Point da fase 2:
(Manter Atividade 5.2 Projeto Padrão: Extra
padrão de jogabilidade Aumento de Poder/Poder
O aumento de poder, ou um poder extra, dá uma vantagem de tempo limitado ao personagem quando ativado. O ganho de poder exige que o jogador tome decisões estratégicas sobre quando utilizá-lo, além de precisar ser conquistado ou precisar de um tempo para ser carregado. Um ganho ou aumento de poder pode ajudar a completar tarefas de diferentes níveis de dificuldade, ou pode levar o jogador a ter um aumento de uma certa habilidade que o permitirá passar facilmente por um desafio de grande dificuldade. Por exemplo: um personagem pode se tornar invulnerável ou se mover mais rapidamente durante um período determinado após obter um certo item ou após pressionar uma determinada tecla. Sons ou efeitos visuais podem ser usados para sinalizar que o poder extra ou o aumento de um poder do personagem está ativado. ANOTAÇÕES: _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ ____________________________________ Receita: Aumento de Poder/Poder Extra Atenção: Esta receita programa o robô que é controlado pelo jogador para perder o jogo quando ele colidir com um robociclo vermelho. Quando o robô controlado pelo jogador encontrar e comer uma maçã, ele receberá um poder extra: toda vez que encontrar um robociclo vermelho, ao invés de perder, ele destruirá esse robô. Esse poder dura 5 segundos e após esse tempo, o robô do jogador volta ao seu estado original. Atenção para o uso de “me” (EU) quando a ação for sobre o personagem do jogador, e “it” (ELE) quando a ação é sobre outro objeto.
PadrĂŁo
TransferĂŞncia de Controle Alguns jogos permitem
que o jogador controle diferentes personagens em diferentes estágios do jogo, o que pode acontecer, por exemplo, quando o personagem controlado pelo jogador entra em um carro ou em um barco. O novo personagem, em geral, tem características bem diferentes e isso resulta em uma jogabilidade interessante e diferente para o jogador. ANOTAÇÕES: _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ ____________________________________ Receita: Transferência de Controle Atenção: este exemplo irá mostrar como um robociclo, controlado pelo jogador, vai “embarcar” em um barco e este, então, será controlado pelo jogador. Programação do robociclo:
Este é o robô inicialmente controlado pelo jogador.
Programação do robô flutuante
Robô controlado pelo jogador quando o robociclo embarca.
(Manter
Padrão “Grande vilão” Jogos ou níveis de jogos geralmente com uma batalha contra um “grande vilão”. Esse “grande vilão” é um oponente muito mais difícil, com habilidade diferentes dos inimigos encontrados anteriormente. A batalha contra esse “grande vilão” geralmente dá um senso de progresso e é uma ótima maneira de dar um fechamento ao jogo. ANOTAÇÕES: _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ ____________________________________ Receita: “Grande Vilão”. 1. As configurações dos pontos de vida de um “grande vilão” podem ser aumentadas e podem, portanto, torna-lo um inimigo mais difícil de derrotar. 2. Os pontos perdidos pelo robô durante o ataque do “grande vilão” podem ser maiores que o normal, tornando seus golpes mais prejudiciais. 3. Este exemplo mostra apenas como fazer a programação do “grande vilão”.
Programação do robô “Grande Vilão”.
(Manter
Programação da rocha lançada pelo “Grande Vilão”.
Atividade 5.3 Projeto padrão de informações de jogo É muito importante que o jogador seja comunicado claramente, de uma maneira fácil de entender, sobre o estado do jogo e do seu sucesso nele. As informações do jogo podem ser transmitidas através de textos, sons, pontuação ou mudança de cenário. C comunicação clara entre jogo e jogador ajuda a prevenir frustrações com relação ao jogo ou respostas inesperadas dos usuários. Padrão Alarme Os alarmes podem ser utilizados nos jogos para avisar os jogadores sobre riscos. Eles podem, por exemplo, alertar que uma fase do jogo está começando ou acabando. Sons diferentes podem ser utilizados para diferentes eventos. ANOTAÇÕES: _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ __________________ Receita: Alarme. Esta receita mostra como um alarme pode ser utilizado para indicar que um robociclo está perto. Programação para o robô que será alertado sobre a proximidade.
Padrão Caixas de Diálogo Caixas de diálogo podem ser exibidas para informar o jogador. Essas informações podem simplesmente notificar seu progresso no jogo ou podem dar informações necessárias para completar o jogo com sucesso. ANOTAÇÕES:
_______________________________________________________________ _______________________________________________________________ _______________________________________________________________ __________________ Receita: Caixa de Diálogo. Existem 3 tipos de caixas de diálogo no Kodu Game Lab: tela cheia e dois tipos de balões de pensamento: um que exibe as linhas em ordem e outro em que as linhas são mostradas em ordem aleatória. Os diálogos em tela cheia são mais utilizados para dar mensagens genéricas ao jogador, enquanto que os balões de pensamento são usados quando personagens específicos dão informações ao jogador. Neste exemplo, uma caixa de diálogo do tipo tela cheia é mostrada quando o jogador atinge 5 pontos.
MÓDULO 6: PRÓXIMOS PASSOS
Atividade 6.1 Processo de criação interativa Nesta atividade, vamos investigar processos da criação de jogos que sejam adequados para uso dos estudantes. O projetista de jogos Jesse Schell diz: “Pense em um problema, identifique a melhor maneira de resolvê-lo implemente, teste”. Alguns conselhos: • Planeje seu jogo no papel. • Comece com um jogo simples para depois expandir. • Teste, teste, teste. Descreva que processo de criação de jogos você pretende usar com seus alunos. _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ ____________________________________
Atividade 6.2 Ferramentas de solução de problemas, depuração e desenvolvimento Nesta atividade, vamos investigar algumas funcionalidades do Kodu Game Lab que tornam a vida dos programadores de jogos mais fácil. Identificando riscos: Posso fazer isso no Kodu?
Há muitas coisas possíveis de se fazer com o Kodu, mas também há coisas impossíveis de se fazer. É crucial que a pessoa que estiver projetando os jogos identifique as partes do jogo que são impossíveis de serem criadas, para que não desperdice tempo criando-as para apenas depois ver que elas não funcionarão. Depuração: por que não está funcionando? Quando o jogo não funciona conforme o esperado, há linhas de depuração que podem ser ligadas. Como o próprio nome sugere, o processo Debugging lines of Sights and Sounds (Linhas de Depuração de Imagens e Sons) vai mostrar onde o robô pode e não pode ver e ouvir e é muito utilizado para descobrir porque um código não funciona como programado.
Você encontra esta a outras opções de depuração no menu World Settings. Copiar, colar, clonar: há uma forma rápida de fazer isso? Quando criar múltiplos robôs com a mesma programação, é mais rápido e fácil copiar e colar o robô ou objeto, acessando o menu que aparece ao clicar com o botão direito: Copy (copiar) e Paste (colar). Versões: meu jogo não funciona mais?! Quando salvar mudanças significativas em seu jogo, é aconselhável fazer uma nova “versão” dele. Assim, você cria um tipo de backup do seu jogo que pode ser útil, caso as modificações feitas façam o seu jogo parar de funcionar. Quando salvar modificações, o Kodu irá alertá-lo e sugerir que salve uma nova versão com as alterações. Para salvar as modificações, utilize a opção Increment and Save. Para criar uma nova versão, utilize a opção Save e nomeie a nova versão.
Usando o medidor de recursos: por que meu jogo está tão devagar? Kodu é feito para projetar jogos pequenos e quando o jogo que você
projetou está muito grande, o Kodu começa a rodar devagar, frequentemente tornando o jogo inviável de se jogar. O medidor de recursos pode ser exibido ou não. Para isso, selecione a opção Show Resource Meter no menu World Settings.
Certifique-se de que o medidor de recursos não esteja vermelho enquanto estiver testando o jogo. Eventualmente será necessário modificar os seus códigos, limitando os recursos utilizados, por exemplo, minimizando recursos como o alcance da audição (hear) definido para o personagem, mas normalmente ele exigirá uma redução no tamanho do terreno utilizado para o jogo.
MÓDULO 7: PRÓXIMOS PASSOS
Como você planeja utilizar o Kodu Game Lab na sua escola? ANOTAÇÕES: _______________________________________________________________ ______ _______________________________________________________________ ______ _______________________________________________________________ _______________________________________________________________ ____________ _______________________________________________________________ ______ _______________________________________________________________ _______________________________________________________________ ____________ _______________________________________________________________ ______ _______________________________________________________________ _______________________________________________________________ ____________ _______________________________________________________________ ______ _______________________________________________________________ _______________________________________________________________ ____________ _______________________________________________________________ ______ _______________________________________________________________ _______________________________________________________________ ____________ _______________________________________________________________ ______ _______________________________________________________________ _______________________________________________________________ ____________ _______________________________________________________________ ______ _______________________________________________________________ _______________________________________________________________ ____________ _______________________________________________________________ ______ _______________________________________________________________ _______________________________________________________________ ____________ _______________________________________________________________ ______ _______________________________________________________________ _______________________________________________________________
____________ _______________________________________________________________ ______ _______________________________________________________________ _______________________________________________________________ ____________ _______________________________________________________________ ______ _______________________________________________________________ _______________________________________________________________ ____________ _______________________________________________________________ ______ _______________________________________________________________ _______________________________________________________________ ____________ _______________________________________________________________ ______
REFERÊNCIAS: Designing games with Kodu Game Lab – Ideas Lab http://fuse.microsoft.com/kodu http://planetkodu.com http://boards.kodux.com Todos os recursos utilizados nesta formação está disponíveis no seguinte endereço http://media.planetkodu.com/workshop/resources.html (áudio original em inglês)