p19 e 20-Caracteristicas de um bom jogo
Transcrição
p19 e 20-Caracteristicas de um bom jogo
Prática 19 e 20 – Características de um bom jogo 1. Objetivos Estudar os elementos essenciais no desenvolvimento de jogos Desenvolver um jogo em Flash 2. Recursos Necessários Computador com o programa Macromedia Flash MX ou superior. 3. Conceitos Gerais O diferencia um bom jogo de um ruim? Usualmente bons jogos são separados de jogos ruins por critérios bem simples. Geralmente, nos jogos ruins, os defeitos podem ser facilmente identificados. Os seguintes pontos são determinantes: 3.1. Performance técnica Performance técnica é provavelmente o aspecto mais importante de um jogo. Isto inclui quão bom é o funcionamento do jogo, qual a rapidez de resposta aos comandos, quão suave (fluído) ele é, quão rápido mudam as frames da animação e outras características. Não importa quão bonito os gráficos são, quão envolvente a música é, quão talentosos são os vocalistas, se o jogo trava ou deixa de responder aos comandos, alguma coisa tem que ser mudada. 3.2. Interatividade e controle A sensação de espacialidade e realidade causada pelas imagens tridimensionais configura-se como um dos elementos no processo de imersão do jogo. Os outros elementos que também colaboram para esse processo são: os movimentos, tanto os de cena (câmera virtuais), como os de personagem (visualizados em primeira ou terceira pessoa); e a interatividade, levando em conta sua relação com o corpo físico do jogador. Imagens, sons, movimentos e sentidos modificam-se conforme escolhas, intervenções e interpretações feitas pelo receptor-emissor. É neste momento em que os signos podem ser modificados (construindo-os, desconstruindo-os ou destruindo-os), ganhado qualidade de “coisa”. Além disso, o processo interativo promove um movimento bidirecional, ou seja, as representações modificam aquele que as interpreta, e quem as interpreta modifica as representações. Interatividade e controle são sempre descritas como ações de uso do jogo. Está ligado em como os jogadores fazem os personagens mover, agir. Controle é a maneira de descrever a facilidade com a qual o jogador pode fazer com que o jogo faça o que já estava determinado para que ele fizesse. Interatividade é a maneira de descrever o processo mecânico pelo qual o jogador realiza determinado controle. Vários games se tornam populares pela facilidade de uso e interatividade que oferecem além de possibilitar com que o usuário tenha uma intuição sobre as ações do personagem. 1 A ação o usuário deve produzir os resultados que eles esperam, e estes resultados devem ser suaves, fluídos e realísticos. Se um jogo parece não seguir isto, os usuários podem não saber necessariamente o que está errado, mas eles sabem que alguma coisa está estranha. Controle não é só resposta ao teclado e mouse, ele pode ter uma boa ou má física. Existe gravidade? Os personagens se movem com naturalidade? 3.3. História É a história do jogo que vai extrair a emoção do participante. É através da história que o jogador vai manter um grande interesse e sentir o propósito do jogo, por fim, é a história que proporciona a motivação ao participante de progredir no jogo. 3.4. Objetivo, desafio e recompensa Todos os jogos devem ser desafiadores para os jogadores e são eles que permitem com que os jogadores tenham o senso de recompensa ao alcançar seus objetivos. O desafio deve ser sempre conhecido pelo usuário e deve ser claro que existe uma maneira de superá-lo. Os jogadores podem se sentir mal recompensados pelo esforço de alcançar um objetivo caso eles não recebem alguma coisa que eles possam aproveitar desta experiência de jogo. Objetivos, desafios e recompensas devem sempre ser usados para produzir mais objetivos, desafios e recompensas. Uma vitória em um jogo pode ser a chave para começar um outro jogo. 3.5. Possibilidade de nova execução Um bom jogo é um jogo que o jogador pode se divertir várias vezes. Uma das maneiras que o jogo pode ser reproduzido é adicionando opções suficientes para que o usuários possa curtir o jogo novamente, sem no entanto, repetir sua experiência. Isto pode ser obtido através do oferecimento de graus de dificuldade ou opções de diferentes personagens, carros, etc... Não importa o jogo, a idéia é fazer com que o participante volte a jogar várias vezes. Jogos são interativos e esta interatividade faz com que as pessoas desejem jogar novamente. 4. Partes de um jogo na web De acordo com ROSENZWEIG, embora cada jogo seja um pouco diferente de outro, algumas partes de jogos para Internet parecem ter se tornado comum a todos eles. Ele considera as seguintes partes como partes essenciais em um jogo na web: 4.1.1. Tela “carregando” Os filmes em Flash carregam no browser do usuário. Isto significa que o usuário começa a visualizálo quando somente a primeira porção do filme tenha “baixado”, assumindo que a parte final do filme esteja baixando na hora em que for necessária. Isto acontece automaticamente, quando do programador deseja. Embora streaming seja uma boa opção para animação, pode não ser para jogos. Na maioria dos casos, ActionScript controla a aparência de itens no cenário, não a linha do tempo da animação. Flash não é esperto suficiente para saber quais itens serão usados primeiro. 2 Por esta razão é aconselhável que a primeira cena seja a de “carregando”. A tela carregando mostra uma mensagem para o usuário e espera até que o filme inteiro tenha sido carregado antes de prosseguir para próxima tela. 4.1.2. Tela de entrada A tela de entrada, é uma tela elaborada para impressionar o jogador. É uma tela interessante que introduz o jogo ao usuário. É através dela que o usuário vai ter o primeiro contato com o jogo. É preciso convencê-lo de que o jogo é interessante e vale a pena! 4.1.3. Instruções Ter instruções no jogo é importante. Muitos jogos devem ser fácil para as pessoas jogarem sem nunca ler as instruções, mas algumas pessoas gostam de instruções. Em alguns casos, é possível combinar a tela de entrada com as instruções. Se o jogo for complexo bastante é possível ter as instruções por várias telas em algum tipo de tutorial. 4.1.4. Imagens (planos) de fundo Alguns jogos tem gráficos que cobrem a tela inteira, outros somente uma porção dela. O importante é saber que eles compõem o ambiente dos jogos e fazendo-o um tanto mais atrativo. 4.1.5. Tela de finalização do jogo Quando o jogo termina, o jogador usualmente é levado à tela de finalização do jogo. Estas telas podem variar de acordo com a performance do participante. Se ganhar, pode ser a tela de premiação, se perder, alguma que o encoraje a jogar novamente. Às vezes, esta tela inclui uma lista com os nomes dos ganhadores em ordem de pontuação e talvez permita com que o usuário insira o seu nome lá. 3 5. Atividade 1 – Aprendendo como funciona um jogo de memória Este é provavelmente o jogo mais comum na web. Ele é simples de construir, empolgante para o jogador, e de fácil customização para qualquer site. O jogo de memória envolve uma grade de cartas, todas viradas de cabeça para baixo. Ele tem sempre duas cartas iguais de cada figura. O jogador tem que virar duas cartas para cima por vez. Se elas forem iguais, as cartas são removidas. Se não, elas são viradas para baixo de novo. O jogador tenta lembrar aonde cada carta está localizada para então tentar combinar as cartas certas. O objetivo deste projeto é criar um simples e versátil jogo de memória. O jogador pode pegar uma carta e então uma segunda carta. Cada carta, quando clicada, vira para cima para revelar sua figura. Se as cartas combinam, elas são ambas removidas. Se não, elas serão ambas viradas para baixo quando o usuário selecionar outra carta. a) Abra o arquivo “p19_ativ1_seunome.fla” O arquivo tem só dois elementos na biblioteca para o filme todo. O primeiro é um movie clip que contém uma quadro representando a carta com a face para baixo. Todos os outros quadros mostram cada uma das figuras. Existem 18 figuras diferentes e com mais o keyframe da face virada para baixo, formam o total de 19 keyframes. Se você quer que o clip mostre a carta para baixo, é só enviá-la para o quadro 1. O segundo elemento da biblioteca é um botão que está dentro do movie clip “cards”. Ele é usado para reagir aos cliques dos usuários. Seu tamanho é idêntico ao das cartas. Ele é colocado na terceira camada do movie clip “Cards”. Ele é colocado em baixo do fundo. O botão não será visto, porém irá reagir aos cliques do mesmo jeito. 4 No começo do jogo tem 36 movie clips, arrumados em uma grade no palco. Tem dois clips em cada figura, fazendo 18 pares de cartas. Quando o jogador seleciona a primeira carta, a carta mostra sua figura. Então, quando o jogador seleciona a segunda carta, ela também vira e é comparada com a outra carta. Se elas forem iguais, ambas são removidas. Se não, nada acontece até que a próxima carta é clicada. Quando isto ocorre, as duas cartas anteriores viram para baixo, e uma nova carta é mostrada. b) Todo o código para este jogo está na linha do tempo da cena principal. O filme começa chamando a função “initGame” . Esta função cria uma lista de 18 pares de cartas, pega randômicamente uma carta da primeira lista e então coloca-as na segunda lista para misturar. Em seguida, ele cria 36 cartas, todas em uma grade de 6x6. Cada movie clip automaticamente começa com a face para baixo, mas uma propriedade do movie clip informa o número que a imagem deveria representar. Na camada “ações” insira o seguinte código: initGame(); stop(); function initGame() { // faz uma lista variada das cartas cardsListOrdered = []; for(i=1;i<=18;i++) { cardsListOrdered.push(i,i); } // mistura a lista cardsListSorted = []; while (cardsListOrdered.length > 0) { r = int(Math.random()*cardsListOrdered.length); cardsListSorted.push(cardsListOrdered[r]); cardsListOrdered.splice(r,1); } // cria clips das cartas e determina suas localizações x = 0; y = 0; for(i=0;i<36;i++) { attachMovie("Card","Card"+i,i); _root["Card"+i].picture = cardsListSorted[i]; _root["Card"+i]._x = x*60+200; _root["Card"+i]._y = y*60+50; // move para o próximo ponto x++; if (x > 5) { x = 0; y++; } } firstclip = 0; } 5 c) A função “initGame” termina determinando o primeiro clip “firstclip” a 0. Esta é a variável que vai segurar a referência à primeira carta clicada. Quando um movie clip é clicado, o botão dentro do movie clip reage ao clique enviando uma mensagem para a linha do tempo principal pela função “clickCard”. A função clickCard pode tomar uma de três ações. Se “firstclip” for zero, então ele determina o “firstclip” do movie clip que foi clicado e vira-o para cima ao dizer à lê para ir ao quadro que tem a figura apropriada nele. Se “firstclip” for uma referência o movie clip, então uma carta já está sendo mostrada. Neste caso, o programa vira a segunda carta para cima, estabelece o segundo clip, “secondclip”, àquele movie clip, e compara os dois movie clips. Se eles combinarem, ambos clips são imediatamente removidos. A terceira condição, a qual já foi verificada antes das duas outras opções, ocorre se o jogador clica na mesma carta duas vezes. Neste caso, “clip” vai ser igual a “firstclip”. A carta é simplesmente virada para baixo e “firstclip” vai para 0. Antes que a função “clickCard” verifica uma destas três condições, ele checa se duas cartas já estão para cima. Se sim, isto significa que o jogador já selecionou duas cartas e não conseguiu combiná-las. Antes que a próxima carta vire para cima, estas duas cartas viram para baixo. function clickCard(clip) { // veja quado duas cartas estão sendo mostradas if (secondclip != 0) { // vira aquelas cartas de cabeça para baixo de novo firstclip.gotoAndStop(1); secondclip.gotoAndStop(1); firstClip = 0; secondClip = 0; } // ver quando a mesma carta foi clicada if (firstclip == clip) { // vira a carta de cabeça para baixo de novo firstclip.gotoAndStop(1); firstClip = 0; // ver quando nenhum cartão está mostrando } else if (firstclip == 0) { // vira a primeira carta para cima clip.gotoAndStop(clip.picture+1); firstclip = clip; // tem que ter uma carta mostrando } else { // vira a segunda carta para cima clip.gotoAndStop(clip.picture+1); secondClip = clip; // vê se as duas cartas são iguais if (firstclip.picture == secondClip.picture) { 6 // remove ambos cartões firstClip.removeMovieClip(); secondClip.removeMovieClip(); firstClip = 0; secondClip = 0; } } } d) Isto é tudo que precisa para o jogo. O botão, dentro do movie clip “cards” só tem uma linha de código nele que envia a mensagem ao movie clip que foi clicado para a linha do tempo principal. on (press) { // envia a informação do clique à linha do tempo principal. _root.clickCard(this); } e) Salve seu arquivo como “p19_ativ1_seunome.fla”. Publique e teste o jogo de memória. 5.1. Atividade – Desenvolvendo um jogo de memória Agora é sua vez de desenvolver um novo jogo de memória. Só que desta vez, você irá colocar novas figuras e usar somente 8 pares. Dica: Aproveite o código da atividade anterior para desenvolver este novo jogo. Salve seu projeto como “p20_ativ1_seunome.fla”. Publique o arquivo e teste o seu jogo de memória. Atenção: faça uma cópia de todos os arquivos para no diretório determinado pelo professor para correção. Obrigado! 7
Documentos relacionados
Prática 17 e 18 – Elementos do desenvolvimento de jogos
Prática 17 e 18 – Elementos do desenvolvimento de jogos 1. Objetivos Estudar os elementos essenciais no desenvolvimento de jogos Desenvolver um jogo de quebra-cabeças em Flash
Leia mais