Hoje, 26/01/2010, aconteceu no Campus Party 2010 a minha palestra sobre Desenvolvimento de Jogos em Flash:
Foi bem legal, o público estava bastante interessado - ou bastante curioso, no caso daqueles que não sabem programar… - e eu tive a oportunidade de mostrar algumas dicas sobre “como” montar um jogo de plataforma, dicas de otimização de código e algumas dicas gerais.
Falando nisso, seguem os arquivos usados na palestra:
No próximo Sábado, 30/01/2010, às 15 horas, irei falar de Adobe Air, com pitadas de Adobe Flex e FMIS!
Além disso, vou mostrar um pouco mais do RPG 2ic que ainda está em desenvolvimento!
Não percam! ^^
Depois de realizar uns movimentos básicos no Flash via teclado, chegou a hora de incrementar um pouco mais aquele código! Que tal colocá-lo em uma classe, para que possa ser reutilizado inúmeras vezes…? E quando digo inúmeras vezes, significa várias vezes em projetos diferentes ou no mesmo projeto! Primeiro, você vai precisar do código escrito naquela dica ( “Movimentos básicos no Flash via teclado” ). Descompacte-o e em seguida, crie uma pasta onde está o seu FLA para acomodar suas classes. Eu decidi chamá-la de actionScript.
O nome da pasta é importante!
Abra o Flash, vá no menu File, escolha New e finalmente, escolha ActionScript File. O nome do seu arquivo também importa na programação – eu decidi chamar o meu de basicGame.as - e agora, vamos começar a programar!
Desenvolvido na Timepix Interactive em Novembro de 2008, com 3D de Willian Lopes, Design de Daniel Cicarelli e Direção de Marcelo Fragoso, Júnior Bom de Bola é um jogo simples e agradável. Tirando a parte de 3D e Layout, o desenvolvimento do código foi feito em apenas 3 dias. Só não foi mais rápido, pois houve uma mudança de comportamento do personagem: Na primeira versão, o Júnior corria para se posicionar onde o mouse estava e chutava no momento do clique do mouse. Na prática, deixou o jogo difícil para crianças - público alvo do jogo - e então, isso foi alterado. Na segunda versão, Júnior passou a sempre estar onde o mouse está, por mais rápido que o mouse se mexa.
Júnior em Ação!
Então use o mouse para posicionar o Júnior próximo da bola e clique para chutar. Caso a bola esteja alta demais, em vez de chutar, Júnior dá uma cabeçada. O objetivo é manter a bola no ar, o máximo possível. A partir de 10 “embaixadinhas” o jogo já compreende que o jogador aprendeu a jogar e passa a elogiá-lo. Se quiser desligar/ligar a música ambiente, basta clicar no texto localizado no canto superior direito!
Quantas embaixadinhas você é capaz de fazer…? Clique aqui e experimente este jogo!
Desenvolvido na Timepix Interactive em Junho de 2008, com 3D de David Orestes, Design de Daniel Cicarelli e Direção de Marcelo Fragoso, Júnior no Espaço foi o primeiro jogo profissional em Action Script 3 que eu programei - antes, era usado Action Script 2 por causa da compatibilidade do Flash Player instalado dentro das empresas dos clientes.
Abertura do Jogo
Foi muito prazeroso montar este jogo, diante da liberdade criativa que tivemos. Nele, Júnior pilota uma nave espacial com lasers “reconstrutores”, que são capazes de reciclar o lixo espacial para em seguida, serem atraídos para uma estação espacial de reciclagem. Então, para o jogo não se tornar repetitivo, criamos não um, mas três dispositivos para serem utilizados pelo jogador: Um escudo protetor, um laser rápido e econômico e um canhão laser poderoso e lento.
Então você deve controlar a nave com as setas do teclado, segurar a tecla Z para acionar o escudo ( Enquanto o escudo estiver ativado, sua nave pode atravessar os obstáculos sem tomar dano ), segurar a tecla X para um laser rápido, econômico e contínuo, ou ainda, segurar a tecla C para carregar o canhão e em seguida soltar a tecla para um tiro muito mais poderoso.
Detalhe para o canhão: A potência do disparo está ligado ao tempo que você segurou a tecla C. Observe a barra de energia de tiro ao segurar a tecla C. Ela vai sendo consumida por uma barra vermelha, indicando o quanto de energia você está reservando para aquele disparo. Quando a barra vermelha começar a piscar, significa que já reservou o mínimo necessário para um disparo de canhão. Mas você pode segurar por mais tempo, se quiser. E caso você solte a tecla C antes dessa barra piscar, o disparo de canhão é cancelado.
Júnior em ação!
Além disso, você tem três barras de energia para administrar. Energia é utilizada pelo sistema básico da nave, então ela vai sendo consumida lentamente durante a viagem ou rapidamente, quando a nave se choca contra algum obstáculo. Escudo é uma barra que controla o uso do escudo protetor e Laser, é consumido no uso do laser ou do canhão. Para encher estas barras, é necessário coletar as latas de Sustain Júnior pelo caminho.
Quanto aos obstáculos, Pneus Velhos e Latas são recolhidos pela estação espacial de reciclagem, então você não corre o risco de chocar a nave contra elas, depois da restauração. Isso já não acontece com os asteróides, já que eles ganham vida sob o efeito do laser “reconstrutor” se transformando em pequenos planetas. Então, após restaurar um asteróide, saia da frente ou atravesse-o usando o escudo protetor!
Como foi o meu primeiro jogo em Action Script 3, o gerenciamento de memória não ficou “ideal” – em computadores mais modestos ele ficou um pouco lento – e um adiantamento da data de lançamento comprometeu a parte sonora. Mas isso não apagou o brilho deste jogo!
Eu recebi diversos e-mails solicitando exemplos mais básicos ( Será que eu peguei pesado com “Como minimizar um aplicativo em Adobe Air no System Tray“…? ) de Flash e AS3. Pois bem, agora vamos falar sobre movimentos básico de um movieclip, detectando o teclado. Abra o Adobe Flash, crie um arquivo novo ( File / New / Flash File ( Action Script 3.0 ) ) e dê um tamanho para ele ( Eu deixei com 400 pixels de largura por 300 pixels de altura ).
Desenhe algo – um retângulo por exemplo – e em seguida, selecione-o, e crie um MovieClip ( Use a tecla F8 como atalho ). Dê um nome para o MovieClip ( Eu chamei o meu retângulo de body ) e deixe seu ponto central ( Registration ) no centro do retângulo mesmo.
Selecione seu retângulo e aperte F8 para criar seu MovieClip!
Desenvolvido na Timepix Interactive em Novembro de 2008, com 3D de Willian Lopes, Design de Daniel Cicarelli e Direção de Marcelo Fragoso, eu tive a oportunidade de programar um jogo educativo que mostra como separar o lixo reciclável para as crianças.
Tela de abertura do jogo!
Com uma dificuldade gradativa, na primeira fase a missão é separar o lixo não-reciclável ( Lata de Lixo Cinza ) dos papéis ( Lata Azul ). Depois é inserido no contexto, o metal ( Lata Amarela ), o plástico ( Lata Vermelha ) e o vidro ( Lata Verde ). Jogar um determinado tipo de lixo na lata errada, perde-se pontos.
Porém o jogo ainda estava muito fácil. Criamos então, a barra de energia do guindaste. Mover o guindaste ou segurar algum objeto, gastar energia, que pode ser recuperado ao se coletar pilhas e baterias. Isso, adicionado ao fator “tempo“, criamos um ambiente educativo e desafiador, onde você terá que conquistar o maior placar possível ( Este placar é salvo localmente ).
É hora de reciclar!
O jogo termina quando a energia do guindaste se esgota por completo ou quando o tempo limite destinado para aquela fase, chega ao fim! Para jogar usa-se as quatro setas do teclado para mover o guindaste e com a barra de espaço, você segura o lixo. Mas não exagere nos movimentos, para não ficar sem energia!
Tecnicamente, este game foi desenvolvido em Flash usando AS 3.0 e compilado para o Flash Player 9. Todo o 3D utilizado neste jogo, é pré-renderizado.
No dia 16 de Março de 2008, foi ao ar um quadro sobre desenvolvimento de jogos em Flash, no programa Olhar Digital, onde eu fui entrevistado. Olhar Digital, como você já deve deduzir, leva aos seus telespectadores novidades e matérias sobre o mundo da tecnologia e internet. Esta matéria tem como objetivo demonstrar que é possível trabalhar com desenvolvimento de jogos, mesmo no difícil mercado brasileiro.
Jogos em Flash são famosos para jogadores casuais: Basta acessar um link e sair jogando em poucos minutos. Mas não vamos limitar nossos pensamentos desta forma! A Ankama Games construiu seu MMORPG Dofus ( www.dofus.com ) utilizando Flash. Tudo depende do tempo disponível para desenvolvimento e do público alvo!
Curioso…? Assista agora mesmo:
O Olhar Digital passa na RedeTV aos domingos, às 15:30, para a grande SP. Mas é possível também, assistir pela internet, através do site oficial do programa: http://www.olhardigital.com.br
Esta dica é bem fácil, mas ela ainda atinge muitas pessoas que estão saindo do AS2 para o AS3. Quando se monta um Flash para algum site, chega um momento que você deve acionar um link para o browser ir para outra página. Em Action Script 2 era simples:
Uma das primeiras coisas que eu fiz no meu primeiro aplicativo desenvolvido em Adobe Air, foi estudar uma maneira de minimizá-lo no System Tray, ou se preferir, como um pequeno ícone ao lado do relógio do Windows. É um ótimo recurso, principalmente quando você quer criar uma aplicativo de uso prolongado, como um Instant Messenger.
E então…? Vamos colocar a mão na massa no código…?
O Campus Party Brasil 2009 aconteceu entre os dias 19 e 25 de janeiro, no Centro de Exposições Imigrantes em São Paulo e reuniu 6.655 campuseiros, além dos 118.662 visitantes da Área Expo & Lazer.
E lá estava eu, em mais duas palestras: A primeira sobre desenvolvimento de games em Flash (Action Script 3, dicas sobre as classes Tweener e Papervision) e a segunda, sobre o crescimento do Portal RPG Online ( Otimização do site para facilitar a indexação pelo Google e a importância da relevância para o seu público ).
Neste ano eu mostrei os conceitos básicos de animação via Action Script 3.0, começando com um simples retângulo se movendo de acordo com as setas do teclado, evoluindo para um “personagem” capaz de correr simulando aceleração e desaceleração, além de ser capaz de saltar. Depois, combinamos isso à classe de animação Tweener.
O público prestando atenção!
Para 2010, pretendo desenvolver um projeto mais concreto em palco, como a criação de um pequeno game de aventura, do começo ao fim. Os interessados poderão acompanhar apenas assistindo, estudando ou até mesmo melhorando o código desenvolvido entre uma palestra e outra – o código-fonte será disponibilizado ao final de cada palestra. Para isso, já estou solicitando mais tempo para os organizadores da Área de Desenvolvimento.
Além disso, pretendo falar de Adober Air, Adobe Flex e Flash Media Interactive Server, que em sua essência, complementam o Flash de diferentes formas, com diferentes objetivos.