flash 8

16
SUMÁRIO PREFÁCIO xi CAPÍTULO 1 O RENASCIMENTO DO FLASH 8 1 Introdução aos jogos 1 A história dos jogos 2 Motivação 3 CAPÍTULO 2 ELEMENTOS DO DESENVOLVIMENTO DE JOGOS 7 O processo 8 O que há em um jogo? 15 Resumo 19 CAPÍTULO 3 WHACK A CAPSULE 21 Sobre o jogo 21 Construindo o jogo 23 Codificando o jogo 34 Expandindo o jogo 40 Resumo 40 CAPÍTULO 4 BLOCK BREAKER 41 Sobre o jogo 41 Construindo o jogo 42 Expandindo o jogo 58 Resumo 59 CAPÍTULO 5 MOON FIGHTER 61 Sobre o jogo 61 Construindo o jogo 62 Codificando o jogo 69

Upload: diego-almada

Post on 01-Jul-2015

178 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Flash 8

SUMÁRIO

PREFÁCIO xi

CAPÍTULO 1 O RENASCIMENTO DO FLASH 8 1

Introdução aos jogos 1A história dos jogos 2Motivação 3

CAPÍTULO 2 ELEMENTOS DO DESENVOLVIMENTO DE JOGOS 7

O processo 8O que há em um jogo? 15Resumo 19

CAPÍTULO 3 WHACK A CAPSULE 21

Sobre o jogo 21Construindo o jogo 23Codificando o jogo 34Expandindo o jogo 40Resumo 40

CAPÍTULO 4 BLOCK BREAKER 41

Sobre o jogo 41Construindo o jogo 42Expandindo o jogo 58Resumo 59

CAPÍTULO 5 MOON FIGHTER 61

Sobre o jogo 61Construindo o jogo 62Codificando o jogo 69

Page 2: Flash 8

viii Sumário

Expandindo o jogo 82Resumo 82

CAPÍTULO 6 SOM PARA JOGOS 83

Efeitos sonoros para jogos 84Música para jogos 91Resumo 92

CAPÍTULO 7 SOUND HUNTER 93

Criando o jogo 94O código 96Resumo 103

CAPÍTULO 8 ARMAZENAMENTO DE DADOS 105

O arquivo sol da classe SharedObject 106A Classe SharedObject 109Upload e download de arquivo do servidor 112Resumo 115

CAPÍTULO 9 OTIMIZAÇÃO PARA JOGOS 117

O quadro 118Complexidade dos vetores 123Gradientes 126Mapas de bits 127Alfas 128Qualidade 129Cache de mapa de bits 129Código 131Resumo 131

CAPÍTULO 10 O JOGO OTIMIZADO: AA BOMB 133

O jogo 133Explorando o jogo 134Explorando o código 140Resumo 153

CAPÍTULO 11 MAPAS DE BITS, O OBJETO DE DADOS BITMAP E ARTE DE

MAPA DE BITS 155

Tiles e páginas de tiles 157

Page 3: Flash 8

Sumário ix

A classe bitmapdata 159Planos de fundo e buffers 162Criação da aparência geral do jogo 164Conclusão e resumo 178

CAPÍTULO 12 JUNGLE ADVENTURE 179

O editor de níveis 180O jogo 201Resumo 219

CAPÍTULO 13 FÍSICA PARA JOGOS 221

A física do movimento 222Movimento retangular normal 222Resumo 237

CAAPÍTULO 14 MARS RACER 239

Visão geral 239Elementos do jogo 245O código do jogo 253Resumo 280

CAPÍTULO 15 CRIAÇÃO DE JOGOS AUTÔNOMOS 281

Caso 1: Tela inteira 282Caso 2: Download e instalação 285Exemplo 1: marsracer.exe 286Exemplo 2: asteroid3d.exe 292Resumo 294

CAPÍTULO 16 JOGOS PORTÁTEIS 295

Limitações do dispositivo 296O Caça-Palavras 297Programando para Pocket PC 302O jogo Caça-Palavras 308Expandindo o jogo 328Resumo 329

CAPÍTULO 17 ENTRANDO NA TERCEIRA DIMENSÃO 331

Rolamento em paralaxe 3323D falso 359Resumo 374

Page 4: Flash 8

x Sumário

CAPÍTULO 18 O JOGO 3D: ASTEROID RUN 375

Os elementos gráficos 381O código 393Expandindo o jogo 414Resumo 414

CAPÍTULO 19 FUNDAMENTOS DE ACTIONSCRIPT PARA JOGOS 415

Fundamentos 416trace 417if 422As classes ActionScript para jogos 440Resumo 479

CAPÍTULO 20 O FUTURO DOS JOGOS 481

APÊNDICE A CÓDIGOS DE TECLA 483

APÊNDICE B TABELA DE CARACTERES ASCII 485

APÊNDICE C SOBRE OS ARQUIVOS DA INTERNET 493

ÍNDICE 495

Page 5: Flash 8

PREFÁCIO

Com o Macromedia® Flash® Professional 8, o gênero de jogos em Flash foi novamente redefinido. Agora dispomos de mais flexibili-dade e mais ferramentas para aumentar a velocidade de execução,

melhorar a aparência e aprimorar a experiência dos jogos. Escrevi este livro porque queria “espalhar a notícia” sobre as poderosas possibilidades ofereci-das pelo Flash 8 e também para deixar claro que essa plataforma hoje com-pete de igual para igual com as melhores e mais consolidadas plataformas do mercado, como C++ e Java.

Nunca antes houve um modo tão poderoso e, ao mesmo tempo, tão simples de fornecer conteúdo de jogos para o mundo. Podemos começar às 5 horas a desenvolver um jogo que estará sendo jogado por dez milhões de pessoas às 8 horas.

As dificuldades de distribuição foram eliminadas. Agora que as infor-mações fluem livremente no mundo inteiro, qualquer pessoa com a versão mais recente do Macromedia® Flash Player instalada em seu computador pode participar de nossas criações e visitar nossos mundos.

Este livro destina-se a qualquer pessoa que queira levar suas habilidades com o Macromedia® Flash® Professional 8 a um novo nível, produzindo jo-gos comparáveis com qualquer outro existente na Web hoje em dia. Talvez você desenvolva jogos em outro idioma, ou talvez seja um desenvolvedor de Macromedia® Flash® que precisa começar a criar jogos para seus clien-tes. Seja qual for o caso, este livro foi escrito para você.

Abordaremos nele muitos tópicos avançados, mas de maneira simples e fácil de entender. Discutiremos também vários aspectos do desenvolvimen-to de jogos com o Macromedia® Flash® Professional 8, incluindo:

• Compreensão dos elementos do desenvolvimento de jogos e do que é necessário para criar um bom jogo, inclusive desafio, recompensa, trama, história e motivação.

• “Whack-a-mole”, um jogo simples de apontar e clicar, muito popular entre os desenvolvedores de jogos para Macromedia® Flash®.

• O jogo da eliminação dos tijolos com a bola saltitante.

Page 6: Flash 8

xii Prefácio

• O jogo em alta velocidade de invasão alienígena, visão de cima para baixo. • Criação de sons para jogos. • Armazenamento de dados em disco com a classe SharedObject. • Física para jogos, inclusive vários tipos diferentes de movimentos, como choque

e ricochete em superfícies, efeito da gravidade e movimento circular. • O jogo rápido de rolamento lateral usando veículos com efeitos físicos avançados. • Detalhes específicos e truques para a otimização de jogos, incluvise as vantagens

e desvantagens dos mapas de bits e imagens vetoriais e maneiras de melhorar substancialmente o desempenho de um jogo.

• Criação de um jogo de ação otimizado baseado nas técnicas de otimização abor-dadas.

• Uso da nova classe BitmapData e de todas as melhorias de velocidade e desem-penho introduzidas com a reformulação do processamento de mapas de bits no Flash 8. Nunca foi tão fácil trabalhar diretamente em nível de pixel e manipular coisas com extrema rapidez, gerando jogos que até então eram impossíveis de criar.

• Desenvolvimento de jogos autônomos para serem jogados fora da Web, como arquivos executáveis no computador. Examinaremos o uso de uma ferramenta terceirizada para gerar os arquivos EXE, bem como as muitas funções úteis ofe-recidas pelo Macromedia® Flash® quando é incorporado a essas ferramentas de terceiros.

• Desenvolvimento de jogos para dispositivos autônomos, com especial ênfase nos novos sistemas Pocket PC, que já incorporam o módulo de execução de Macro-media® Flash® 6.

• Compreensão das diferentes técnicas para a produção de efeitos 3D rápidos e das maneiras como eles podem ser usados, bem como de vários “truques” que produzem resultados notáveis com o máximo de velocidade e desempenho.

• Criação de um jogo 3D em grande escala usando as técnicas abordadas.

Portanto, ligue seu computador e prepare-se para começar sua viagem pelo mundo do desenvolvimento de jogos com o Macromedia® Flash® Professional 8.

Page 7: Flash 8

O RENASCIMENTO DO FLASH 8

Desde a primeira edição deste livro, escrita para o Macromedia® Flash® MX 2004 Professional, o mundo do Flash evoluiu substancialmente. O Flash 8 é uma reformulação completa do Flash MX 2004, e, feliz-

mente para nós, as melhorias mais significativas estão em áreas que afetam diretamente a arte do desenvolvimento de jogos em Flash. O Flash Profes-sional 8 está prestes a provocar um renascimento do desenvolvimento de jogos em Flash. Este é um bom momento para aderir a essa tendência.

INTRODUÇÃO AOS JOGOS

A criação de jogos no Flash Professional 8 é uma das atividades mais gra-tificantes em que um programador novato ou experiente pode se envolver. Qualquer pessoa que opte por desenvolver jogos para Macromedia Flash Professional 8 estará fazendo isso por diversas razões. Talvez seja apenas pelo puro prazer de ver uma idéia criativa tomar forma; como parte de um projeto específico para um cliente; para aprender os detalhes da programa-ção em Macromedia Flash Professional 8 ou simplesmente como uma forma de expressão individual.

1

C A P Í T U L O

1

Page 8: Flash 8

2 Desenvolvimento de Games com Macromedia Flash Professional 8

Antes de examinarmos a motivação, abordaremos rapidamente a história dos jogos de computador em geral.

A HISTÓRIA DOS JOGOS

Desde os primórdios da humanidade, os jogos são uma parte essencial de nossa existên-cia. Eles nos permitem escapar da realidade e, ao mesmo tempo, imitá-la de maneiras que talvez nunca nos fossem possíveis. Um exemplo perfeito disso são as crianças corren-do pelos campos para simular soldados em combate ou explorando terras distantes em seus próprios quintais. Essas experiências nos permitem experimentar coisas que talvez nunca venhamos a fazer, vivenciando na fantasia aquilo que acreditamos que seria na realidade.

Foi então que surgiu o computador. O computador nos permite mergulhar em mun-dos jamais imaginados. Ele pode ser um portal para terras distantes ou nos colocar den-tro do enredo das maiores histórias de ficção científica ou de fantasia.

Antes da era dos jogos eletrônicos, tínhamos as antiquadas máquinas de fliperama, que podem ser vistas como precursoras dos videogames modernos e como os primeiros catalisadores do interesse geral em jogos para computador. Considerando-se a história dos jogos, é extraordinário que eles tenham evoluído tanto em um período relativamente curto de tempo.

Em 1958, Willy Higginbotham, um físico que havia trabalhado no Projeto Manhat-tan em 1947, criou o primeiro jogo eletrônico do mundo. Era um jogo básico de tênis, chamado, muito apropriadamente, Tennis for Two (tênis para dois). No século XXI, o uso da terceira dimensão nos jogos é quase uma necessidade. Entretanto, há mais de 50 anos, esse jogo bidimensional revolucionou os computadores ao mostrar como eles poderiam evoluir de um papel puramente funcional para um de entretenimento.

As origens dos modernos jogos para computador datam dos primórdios da informá-tica e da invenção do transistor. Foi nesse ponto que o computador tornou-se acessível a um número suficiente de pessoas para permitir a introdução dos primeiros jogos e o uso dessas máquinas para mais do que tarefas meramente empresariais. Esses jogos eram muito simples, e o exemplo mais antigo, Spacewar!, foi criado em 1961 para ser executado no primeiro computador PDP-1 do Instituto de Tecnologia de Massachusetts (MIT). Embora o jogo consistisse apenas em alguns poucos pontos na tela que deveriam representar naves espaciais, o potencial era evidente.

Ralph Baer, considerado o pai dos videogames, liderou o desenvolvimento dos pri-meiros videogames na década de 1960. Um pioneiro da televisão, sua meta era mesclar computador e televisão para criar o console doméstico de videogame. Sua primeira reali-zação foi o jogo de perseguição, em que dois objetos, como uma raposa e um cão de caça, moviam-se pela tela. No final da década de 1960, Baer e sua equipe de desenvolvedores criaram um jogo do tipo “atirar nos pontos” e, em seguida, um jogo de pingue-pongue para dois jogadores. Eventualmente, aquilo que Baer desenvolveu passou a ser conheci-do como a brown box,1 que era a encarnação original do console doméstico, hoje repre-sentado pelo Playstation®, Playstation 2 e Nintendo GameCube™.

1 O primeiro Odyssey da Magnavox é mais conhecido entre os profissionais de jogos pelo seu apelido original brown box. (NRT)

Page 9: Flash 8

O renascimento do Flash 8 3

Na década de 1970, uma nova e ainda incipiente indústria de jogos para computa-dores surgiu. Jogos como Pong® e Space Invaders™ podiam ser encontrados em muitas residências. Uma das maiores empresas que emergiram dessa revolução foi a Atari®. Por trás de tudo isso estava Nolan Bushnell, o pioneiro dos videogames. Embora outros criadores, como Baer, acreditassem que a idéia do Pong havia sido extraída dos forma-tos anteriores, foi a Atari que comercializou o jogo pela primeira vez. Até hoje, o Pong continua a ser um marco fundamental, um ponto de referência na evolução da indústria dos jogos.

Outros jogos, como Pac Man® e Frogger®, também tiveram um crescimento exponen-cial na década de 1970. O surgimento dos consoles portáteis (equivalentes hoje ao Nin-tendo Game Boy®), infelizmente, não contribuiu para atenuar a idéia já crescente de que os videogames eram anti-sociais; de fato, os próprios argumentos utilizados atualmente por aqueles que se opõem aos videogames originaram-se na década de 1970. Apesar disso, todas essas realizações prepararam o terreno para a evolução da indústria de jogos para computador na década subseqüente.

Nos anos 1980, as casas de jogos eletrônicos, ou fliperamas, tornaram-se o ponto de encontro de toda uma geração. As crianças lotavam esses locais e gastavam todos os seus trocados jogando o novo Donkey Kong, Ms. Pac Man, a versão aprimorada do Space Invaders, Galaga™, ou o Galaxian™.

Um fator ainda mais importante foi a transformação do computador pessoal em um equipamento doméstico acessível. No início de 1982, o Commodore 64 era considerado o computador doméstico preferencial. Muitos jogos, como The Olympics e Mission Impos-sible, tornaram-se uma atração permanente do Commodore 64. Em última instância, o computador doméstico pessoal permitia que qualquer pessoa aprendesse e colocasse em prática elementos de programação de computadores, o que abriu as portas para que mui-tos programadores iniciantes criassem seus próprios jogos para PC para serem jogados em seus próprios lares, em vez de depender exclusivamente das casas de jogos eletrônicos.

Nos anos subseqüentes, os jogos expandiram-se para muitas outras áreas da vida e ramificaram-se em diferentes gêneros de ficção e não-ficção. Atualmente, os mais sofisti-cados exibem gráficos tridimensionais gerados em tempo real, com milhares de polígonos de detalhes, milhões de cores, efeitos de iluminação, reflexos em superfícies e som sur-round total. Neste livro, examinaremos diversos gêneros de jogos, desde os de ação com visão de cima para baixo até aqueles com rolamento lateral da tela e os tridimensionais em primeira pessoa. Ao fazer isso, estaremos levando o Macromedia Flash Professional 8 até seus limites.

MOTIVAÇÃO

Seja qual for sua razão para desenvolver jogos, o Macromedia Flash Professional 8 ofe-rece o ambiente perfeito para isso. Sua interface é intuitiva e fácil de usar e sua lingua-gem de programação, embora robusta e poderosa, é bastante simples depois que você se acostuma com ela.

O Macromedia Flash Professional 8 introduz tantos recursos inéditos que as portas estão, literalmente, abertas para um nível totalmente novo de desenvolvimento de jogos em Flash. O que antes era difícil de fazer em Flash tornou-se extremamente fácil. Efeitos como desfocamento de imagem e sombra projetada, que costumavam ser criados em

Page 10: Flash 8

4 Desenvolvimento de Games com Macromedia Flash Professional 8

programas separados e salvos como imagens, agora podem ser aplicados facilmente a ob-jetos no palco durante a execução, com pouco ou nenhum efeito sobre a velocidade de processamento. O acesso direto aos mapas de bits em nível de pixel permite criar jogos extremamente rápidos, com muitas coisas acontecendo ao mesmo tempo, sem ter de se preocupar com os processos adicionais de criação de centenas de instâncias de objetos que consomem recursos de processamento, como os clipes de vídeo. O Flash sempre foi conhecido como um programa especializado em imagens vetoriais, mas agora sua veloci-dade de cópia e exibição de pixels dos mapas de bits é muito maior e nos permite extrair o máximo de proveito dessas melhorias.

Além disso, um jogo criado com o Macromedia Flash Professional 8 pode ser colocado à disposição de milhões de pessoas em questão de minutos, proporcionando aos atuais desenvolvedores de jogos uma oportunidade inigualável de obter reconhecimento e exposição.

DiversãoNão há como negar: criar jogos é divertido. Tendo superado as dificuldades técnicas, nada é mais gratificante do que ver suas criações e idéias adquirirem vida.

PotencialUm dos papéis mais essenciais desempenhados hoje em dia pelo Macromedia Flash Pro-fessional 8 é entreter uma audiência – o que, no mundo on-line do marketing de massa, traduz-se em receitas de publicidade. Quando isso acontece em um meio de comunica-ção, é inevitável que surjam clientes corporativos interessados em fazer uso dessa tecno-logia. No caso do Flash 8, os jogos são um exemplo perfeito dessa aplicação.

Craig Swann, CEO da CRASH!MEDIA, usou estas palavras para descrever a impor-tância dos jogos em Macromedia Flash no mundo on-line moderno. A CRASH!MEDIA pode ser visitada on-line em www.crashmedia.com.

VALOR DOS JOGOS NO ESTÁGIO ATUAL DA INDÚSTRIA

A importância dos jogos para a comunidade on-line é inquestionável. Em um setor em que o conteúdo é rei e o meio é quase tão flexível quanto o próprio pensamento, praticamen-te não há limites para as formas que esse conteúdo pode assumir. Desde os primórdios da Internet, temos observado uma mudança nas experiências dos usuários. Antes da Web, vivíamos em um mundo em que o conteúdo era recebido por meio de uma forma “passiva” de comunicação. Muito pouco era esperado de nós. Portanto, permanecíamos refestelados em nossos sofás, em estado vegetativo, aceitando passivamente o que quer que nos fosse transmitido como informação e tendo os botões do controle remoto como única forma de interação. Quando a Web apareceu, tudo mudou. Entramos na era da “aprendizagem ativa”. Começamos a investigar a tela em busca de informações. Estáva-mos, pouco a pouco, assumindo o controle – e, mais importante, adquirindo interesse nesse envolvimento com dados, informações, imagens, texto, vídeos e, evidentemente, jogos.

Page 11: Flash 8

O renascimento do Flash 8 5

Tive a sorte de nascer na mesma época em que os videogames eram incorporados à nossa vida cotidiana, no início da década de 1980. Pac Man, Donkey Kong, Frogger, Space Invaders — eu estava lá, na ponta dos pés para conseguir introduzir moedas na máqui-na, quando eles apareceram. Acompanhei as transformações desses jogos clássicos nas últimas décadas, até sua transformação atual em simulações para múltiplos jogadores extremamente parecidas com a vida real. Um elemento notável que continuou a evoluir é a interatividade dos jogos: as sensações que eles nos proporcionam e a forma como são jogados.

Os jogos nos levam a outro mundo: o mundo do desenvolvedor. Por meio do uso in-teligente de movimento, sons, música, animação e, acima de tudo, interatividade, mundos inteiros são criados. Eles nos conduzem a outro lugar, com nossa mente concentrada no ambiente do jogo – tudo o mais desaparece de nossa percepção. É realmente extraordi-nário como nos tornamos mentalmente envolvidos e concentrados quando jogamos. Esta é uma das principais razões para o papel importante que os jogos podem desempenhar no desenvolvimento on-line de marcas interativas. Os jogos nos dão algo. Como desenvolve-dores, sempre que criamos algo para ser colocado on-line, estamos competindo por uma pequena porção da vida de uma pessoa. Pense nisso: seu tempo, sua existência. Mesmo assim, somos todos culpados por passar horas a fio jogando. Escapismo.

Sem qualquer pesquisa detalhada para me apoiar, e com base apenas em minha ex-periência pessoal de oito anos na Web simultaneamente como desenvolvedor e surfista, eu diria que, em termos de entretenimento na Web, não há nada que supere os jogos. Em minha experiência, os jogos on-line são a atividade global número um para pessoas de todo o mundo em busca de diversão na Web – ou, ao menos, em busca de diversão sadia. Isso acontece, em boa parte, graças à existência do Flash. As pessoas vêm produzin-do uma variedade notável de jogos baseados em Flash há muitos anos. Por sua natureza onipresente, o Flash evoluiu rapidamente e tornou-se a plataforma preferencial para o desenvolvimento de jogos on-line.

Vantagens do Flash como Plataforma para Jogos

O Macromedia Flash é uma excelente ferramenta para a criação de jogos em virtude de uma combinação de fatores. Em primeiro lugar, seu ambiente de scripts é sofisticado o bastante para permitir a inclusão de comportamentos físicos da vida real e elementos de movimento nos jogos. Em segundo, o fato de ser um aplicativo vetorial permite a criação de elementos gráficos extremamente pequenos. Isso significa que jogos interativos sofis-ticados podem ser criados e experimentados com consumo mínimo de largura da banda. Seja em uma conexão ótica T3 extremamente rápida ou em uma conexão discada com um modem de 28,8 kbps, os jogos em Flash podem ser experimentados da mesma forma – contanto que tenham sido criados adequadamente.

Um dos aspectos únicos dos jogos é que eles nos conduzem a um mundo em que nós, como desenvolvedores, criamos as regras. Criamos os personagens e o ambiente. Quan-do você tem a capacidade de codificar um ambiente com seus próprios conjuntos de leis naturais e comportamentos físicos, está efetivamente criando uma experiência interativa única. Com a integração avançada de sons e música, os jogos lhe permitem ir ainda mais longe, criando experiências vívidas que apelam a todos os sentidos e os mantêm altamen-te focados no jogo.

Esse tipo de concentração intensa do usuário pode ser canalizado para ajudar a re-forçar uma marca ou um conceito. Diferentemente do tempo médio de visita a um site, os usuários com freqüência gastam até uma hora jogando. Essa permanência extraordi-

Page 12: Flash 8

6 Desenvolvimento de Games com Macromedia Flash Professional 8

nariamente longa em um site da Internet oferece muitas maneiras de estabelecer uma comunicação com o usuário, seja por intermédio do próprio conceito do jogo ou por meio de interrupções, anúncios e marketing.

A Internet, por sua própria natureza, é viral. Quando ouvimos falar de algo, nossa tendência é conferir pessoalmente. A facilidade de comunicação na Internet nos permite transmitir idéias com facilidade e compartilhar coisas que encontramos nesse universo aparentemente inesgotável. Os jogos são uma forma extraordinária de induzir a discus-são e a participação das pessoas em algo. A competição pela pontuação mais elevada é, comprovadamente, uma excelente forma de gerar tráfego em um site. Não existe maneira melhor de ganhar algo do que participando de um jogo divertido.

E, com o Flash, não estamos sequer limitados a jogos para um único jogador! Já exis-tem muitas maneiras viáveis, inclusive soquetes XML e o Flash Communication Server, de oferecer jogos para múltiplos jogadores em tempo real. É aqui que as coisas começam a ficar realmente interessantes! Hoje em dia, é possível criar jogos e ambientes que en-volvam qualquer número de pessoas, dependendo do conceito do jogo. Em nossa expe-riência, já tivemos a oportunidade de criar um jogo para múltiplos jogadores como parte de uma competição realizada por um grande distribuidor de bebidas. O jogo permitia que pessoas de todo o mundo jogassem umas contra as outras em tempo real. A capacidade de compartilhar um mesmo evento com alguém que está do outro lado do mundo é algo novo para nós, algo que continua a crescer e florescer. É nessa direção que estamos caminhando. Comunicando-nos, colaborando e, mais importante, jogando uns com os ou-tros. Vivemos em uma época fabulosa – uma época em que realmente temos em nossas mãos o poder de criar as coisas que imaginamos. É estimulante imaginar as formas em que estaremos jogando e compartilhando nossa vida com outras pessoas, usando para isso os extraordinários recursos de criação de jogos e experiências proporcionados pelo Macromedia Flash Professional 8.

Seguindo em frente, começaremos a discutir no próximo capítulo a primeira etapa – os elementos do desenvolvimento de jogos.

Page 13: Flash 8

ELEMENTOS DO DESENVOLVIMENTO

DE JOGOS

Então, você decidiu que gostaria de criar um jogo. O processo de desenvolvimento de jogos pode ser uma das experiências mais grati-ficantes com computadores hoje em dia. É o único campo que exige

uma mescla perfeita de criatividade e conhecimentos técnicos. O criador de jogos deve ser um contador de histórias, um artista e um técnico. Este livro não presume que a maioria dos projetistas de jogos terá todos esses três talentos ao mesmo tempo; ele se concentra principalmente nos aspectos técnicos da codificação de jogos.

Antes de começar a codificar, você deverá estar ciente de alguns aspec-tos do processo global de desenvolvimento de jogos. Esses são os aspectos fundamentais – o conjunto de diretrizes com base nas quais a maioria dos jogos é elaborada. Evidentemente, sempre haverá exceções (um simulador de vôo, por exemplo, não depende substancialmente do desenvolvimento dos personagens ou do roteiro); porém, em geral, são essas regras simples, adotadas para criar a maioria dos bons jogos, que podem garantir a satisfa-ção de sua audiência.

7

C A P Í T U L O

2

Page 14: Flash 8

8 Desenvolvimento de Games com Macromedia Flash Professional 8

O PROCESSO

Em geral, o processo de criação de um jogo envolve várias etapas, desde a idéia inicial até o produto final pronto para o lançamento.

1. A Idéia do JogoEsta é a primeira etapa de um bom projeto de jogo. É quando você se senta à mesa, muito provavelmente longe do computador, e começa a esboçar as idéias para o desenvolvi-mento do jogo. É aqui que você deve se fazer a pergunta crucial: “Do que tratará esse jogo?”. Nesse estágio, cabe a você decidir qual será o tipo de jogo, levando em conside-ração seu público-alvo.

Por exemplo, os criadores do popular jogo Donkey Kong provavelmente começaram dizendo algo como “vamos fazer um jogo semelhante à história do King Kong, sobre um macaco ou gorila gigante que rapta uma garota, e o jogador deverá salvá-la”. Essa seria, em linhas gerais, a idéia do jogo. Os detalhes específicos sobre como exatamente essa idéia será apresentada ao usuário serão decididos na próxima etapa.

2. GêneroEssa é uma etapa simples, mas importante. É onde você decide exatamente qual será o gênero do jogo. Será um jogo de ação em primeira pessoa, como Doom ou Half-Life? Será um jogo de conhecimentos gerais? Será um quebra-cabeça com blocos? Você terá de examinar sua idéia básica e decidir em qual gênero ela se enquadra melhor.

3. Elementos da História ou EnredoNesse ponto, você deve decidir exatamente o que acontecerá no jogo. É sobre um sol-dado rebelde fugindo de um comandante maligno? Talvez seja sobre uma explosão no pomar, em que você deve usar uma cesta para apanhar todas as frutas que caem antes que o tempo se esgote. Esses seriam dois gêneros muito diferentes de jogos. O primeiro poderia ser um jogo de ação em primeira pessoa ou com rolamento lateral, ao passo que o outro poderia ser um jogo de raciocínio semelhante ao Tetris.

Se o jogo seguir uma narrativa específica ou tiver um roteiro que exija uma série de eventos programados, nesse ponto você deverá se sentar e escrever o script. Algo como isto:

Nível 1: O Jogador, Rex Macro, chega à base de mísseis. Ao CAMINHAR EM DIREÇÃO À ENTRADA, ele é parado pelos guardas junto à grande porta de aço principal. Há um grande gancho em uma corrente presa a uma grade no teto.

GUARDA 1Pare! Diga seu nome e o motivo para estar aqui.

JOGADORMeu nome é Rex Macro, e estou aqui para fazer isto...

Nesse ponto, o jogador deve SEGURAR O GANCHO e arremessá-lo em direção aos guardas. O gancho acerta o primeiro guarda, coloca-o fora de ação, continua em direção ao segundo e o atinge, mas não antes que ele consiga acionar o alarme.

Page 15: Flash 8

Elementos do desenvolvimento de jogos 9

É quase como um roteiro de cinema, mas, em vez de conter instruções para a câ-mera, ele contém uma lista geral de ações, bem como os detalhes de alguns pontos de interatividade que o jogador deverá completar para que o script prossiga. As ações que devem ser executadas pelo jogador são colocadas em maiúsculas.

Como o script também contém diálogos, é fácil perceber onde deverão ser contrata-dos atores para dublar essas vozes e onde deverão ser criadas animações para ilustrar a cena. Alternativamente, o diálogo pode ser inserido usando texto superposto na tela.

4. Documento do Projeto do JogoEmbora muitas pessoas possam estar inclinadas a saltar essa etapa, ela é uma parte essencial do processo de desenvolvimento de um jogo. O documento do projeto do jogo é a culminação dos esforços criativos das equipes de projeto e programação. Ele detalha por escrito todo o escopo do jogo. O documento do projeto deve descrever claramente todas as peças que deverão se juntar para formar o jogo, incluindo:

• Resumo do tema ou enredo. • Lista de locações ou ambientes e uma lista detalhada do que eles contêm. • Rascunhos de mapas, bônus e enigmas a serem solucionados. • Elenco de personagens, inclusive os controlados pelo jogador e pelo computa-

dor, o que eles fazem, como se comportam, sua aparência, e assim por diante. A idéia é fornecer tanto aos programadores como aos ilustradores diretrizes claras para serem seguidas.

• Storyboard das animações e das seqüências baseadas em script. • Problemas técnicos, como rascunhos de caminhos de movimento, fórmulas, e

assim por diante. A intenção é usá-los como representações visuais de alguns dos conceitos mais complexos.

O objetivo do documento do projeto do jogo é fornecer aos programadores algo que possa ser usado como base para a construção da engine do jogo. O documento deve ser o mais detalhado possível: quanto mais informações ele contiver, menor será a probabi-lidade de que ocorram conflitos futuros causados por interpretações equivocadas (ver a etapa 6).

A criação do documento do projeto deve ser um processo coletivo englobando pro-dutores, programadores e ilustradores. Durante sua criação, os produtores devem par-ticipar das reuniões para descrever os requisitos gerais, os programadores devem com-parecer para descrever os requisitos técnicos e eventuais limitações do projeto e os ilustradores devem sugerir idéias criativas e determinar as limitações visuais. Essa etapa do processo é mais técnica do que criativa. Sua finalidade é determinar exatamente o que pode ser feito ou não. É nesse ponto, por exemplo, que os programadores devem deixar claro aos ilustradores que sua arte não pode ter, digamos, mais que 400 vetores por elemento. Sem essa comunicação, o trabalho visual resultante pode ser muito atraente, mas impraticável.

Essa também é uma oportunidade para que os artistas sugiram idéias que os progra-madores talvez não estejam considerando. Podemos fazer o fundo rolar? Podemos fazer as estrelas mudarem com o passar do tempo? Podemos fazer as chamas do motor brilha-rem quando o jogador estiver acelerando? O programador responderia sim ou não, mas

Page 16: Flash 8

10 Desenvolvimento de Games com Macromedia Flash Professional 8

um bom programador deve tentar acomodar o maior número possível de idéias, pois são elas que, em última análise, contribuirão para a criação de um ótimo jogo.

Esse processo resulta em um documento claro e conciso, que todas as partes envol-vidas podem usar como referência. Além disso, fornece uma lista de verificação prática para ser seguida pelos desenvolvedores.

5. A Engine BásicaÉ aqui que começa a programação. Em qualquer jogo, antes que a história e os efeitos es-peciais sejam fundidos em um bloco de código, é necessário programar uma engine geral. Por exemplo, em um jogo com rolamento de tela em estilo Nintendo, deve-se construir uma engine básica que desenhe níveis em camadas, role-os pela tela e cuide das colisões entre o objeto do jogador e os objetos inimigos.

Em geral, ele seria construído com um nível de teste bastante simples e objetivo, possivelmente com apenas algumas telas de largura, blocos superpostos formados sim-plesmente por cores sólidas e uma animação estática, com um ou dois quadros, represen-tando o jogador. O objetivo central, ao elaborar a engine básica, é criar uma estrutura em torno da qual o restante do jogo possa ser construído e adicionado.

Depois que você tiver uma engine de jogo que carregue os diferentes níveis, exiba os inimigos e os movimente com base em scripts e possua um sistema genérico de proces-samento de colisões, construir o jogo será apenas uma questão de desenhar os diferentes níveis e elementos gráficos. O programador cria a matriz sobre a qual o restante do jogo pode ser construído. Isso significa que o jogador pode receber um jogo de 15 minutos ou uma experiência de 40 horas que ocorra ao longo de várias sessões, tudo com a mesma engine. A diferença estaria apenas na extensão da criação de níveis e elementos gráficos, que será abordada na próxima etapa.

6. Criação e Integração de Níveis e Elementos GráficosDepois que a engine básica é criada, começa o processo de preenchê-la com materiais do jogo. Embora o programador possa ter criado um jogo que carrega um arquivo JPEG do cachorro dele como imagem de fundo, o ilustrador deverá substituir esse JPEG por um fundo real do jogo (sob os protestos do programador, evidentemente). Tendo o pro-gramador criado a funcionalidade, o ilustrador cria o conteúdo real; o código fornece as ferramentas que o artista usa para criar o mundo. Ambas as tarefas são igualmente importantes, embora ambos tendam a subestimar um ao outro – mas esse é um tema para outro livro: A política da interação programador-artista.

O ilustrador cria todos os elementos gráficos com base no documento de projeto do jogo, bem como nas eventuais limitações técnicas impostas pela engine. Cabe ao progra-mador criar uma engine que seja modular e expansível – de modo que o artista possa criar uma animação ou cem animações sem que o código apresente problemas. Ao mesmo tempo, o programador deve definir claramente os parâmetros e limitações da engine, para que o artista não desperdice seu tempo desenhando ou criando algo que não pode ser implementado tecnicamente.

Esta etapa é um processo interativo em que o programador diz, “OK, a engine per-mite que cada monstro dispare até dois projéteis em movimento. E, para fins de colisão,