Curso Game Maker_completo.pdf

Embed Size (px)

Citation preview

  • Introduo

    Criao de Jogos

    com GameMaker

    Alexandre S. Lobo

    [email protected]

  • Quem sou eu?

    www.AlexandreLobao.com

  • Motivao e Objetivos

    Conhecer o processo de planejamento de jogos

    Ter uma viso geral de ferramentas disponveis e grau de esforo para criao de jogos

    Explorar funcionalidades bsicas do GameMaker

    Completar jogos bsicos em tutoriais e exerccios

    Ter uma viso geral sobre funcionalidades avanadas

    Conhecer onde conseguir mais informaes

    Criar um novo jogo (projeto final)

    Preparar os alunos para o curso avanado de criao de jogos

  • Foco do curso

    Entender conceitos bsicos sobre programao de jogos

    Desenvolver as habilidades para criar jogos simples

    Passar conhecimento para que vocs possam evoluir, criando jogos mais sofisticados

    Muita teoria nos dias 1 e 2, para dar bagagem

    Muita prtica nos dias 3 e 4, para dar experincia

  • Como voc ir aprender...

    Baseado em suas prprias

    experincias

    Trabalhando em grupos pequenos

    Discusses abertas com toda a classe

    Exerccios

    A cada dia, menos teoria e mais prtica!

    Esteja preparado para trocar idias!

  • Agenda Dia 1

    Histrico: A Histria dos Vdeo Games

    Viso Geral: Componentes de um jogo e seu relacionamento

    Introduo ao GameMaker

    Conceito: Nomes de componentes,Sistema de Coordenadas

    Exerccio: Simple Breakout - Criando seu primeiro jogo

    Conceitos: Objetos, sprites, eventos, uso do mouse

  • Agenda Dia 2

    Como planejar um jogo

    Eventos no GameMaker

    Aes no GameMaker

    Conceitos: Objetos, Instncias e Variveis

    Exerccio: River Raid

    Conceitos: variveis, uso de texto, background

    mvel (scrolling), uso do teclado, controle de

    energia e nmero de vidas, posio absoluta e

    relativa de objetos

  • Agenda Dia 3

    Conceitos Avanados no GameMaker

    Gneros de Jogos

    Como planejar um jogo

    Palavras dos Gurus: Como ser um desenvolvedor de jogos, traduo da palestra de David Weller, gerente de programas das comunidades de desenvolvimento de jogos da Microsoft Game Technology Group

    Definio do projeto final (individual por aluno)

    Exerccio: Dungeon DudeConceitos: Uso avanado de sprites e variveis, informao sobre o jogo (game info), criao de inimigos inteligentes (escolha de caminho), controle de objetos carregados, mudana de fases

  • Agenda - Dia 4

    Viso Geral da verso registrada

    Programa RegDemo

    Ferramentas para desenvolvimento de

    jogos

    Palavras dos Gurus: Um guia para criar jogos de sucesso, traduo da palestra de Bruce Shelley, do Ensemble Studios (criadores de

    sucessos como a srie Age of Empires)

    Projeto Final

    Prximos passos

  • Atividade

    Apresentaes e expectativas

    Apresente-se

    Nome

    Profisso, Hobbies

    Experincia com programao de jogos

    Expectativas sobre o curso

  • Introduo Criao de Jogos

    com GameMaker

    Dia 1

    Alexandre S. Lobo

    [email protected]

  • Agenda Dia 1

    Histrico: A Histria dos Vdeo Games

    Viso Geral: Componentes de um jogo e seu relacionamento

    Introduo ao GameMaker

    Conceito: Nomes de componentes,Sistema de Coordenadas

    Exerccio: Simple Breakout - Criando seu primeiro jogo

    Conceitos: Objetos, sprites, eventos, uso do mouse

  • Histrico

    1951: A Marufuku, fabricante de cartas de baralho, muda

    de nome para Nintendo Playing Card Company.

    Nintendo significa "deixe a sorte para os cus".

    1954: David Rosen, um veterano de guerra americano,

    percebe o sucesso de mquinas mecnicas

    alimentadas por moedas nas bases militares americanas

    e funda sua empresa, exportando essas mquinas para

    o Japo. Depois ele resolve fabricar suas prprias

    mquinas com jogos, comprando fbricas de jukeboxes

    e caa-nqueis japonesas. Nasce, ento, a Service

    Games, ou SEGA.

  • Histrico

    1958: O Brookhaven National Laboratories

    resolve abrir suas portas para visitao para

    mostrar que no havia testes para criar

    animais mutantes como temia a populao,

    influenciada por filmes de fico cientfica.

    Para evitar que que as pessoas ficassem

    muito entediadas durante a visita, Willy

    Higinbotham cria um jogo interativo chamado

    "Tennis for Two" que simulava um ping-pong,

    considerado o primeiro videogame da Histria.

  • Histrico

    Willy Higinbotham e seu "Tennis for Two"

  • Histrico

    1961: Steve Russell, estudante do MIT, cria

    Spacewar, primeiro jogo de computador da

    Histria.

  • Histrico

    1970: Nolan Bushnell, com a ajuda de Ted

    Dabney, consegue criar o primeiro arcade da

    Histria, uma verso do Spacewar a que ele d

    o nome de Computer Space. A Nutting

    Associates compra a mquina de Bushnell e o

    contrata.

    1971: A Nutting Associates lana o Computer

    Space, com um visual futurista. As pessoas

    acham muito difcil de jogar e o jogo torna-se

    um fracasso.

  • Histrico

    O Computer Space

  • Histrico

    1972: Com o fracasso do Computer Space,

    Bushnell resolve tentar fazer jogos mais fceis

    de se jogar. Apesar do sinal verde da Nutting,

    ele pede um tero de todo o lucro. Com a

    negativa, ele se demite e, junto com Ted

    Dabney, resolve fundar sua prpria empresa,

    originalmente chamada de Syzygy. Como este

    nome j est sendo utilizado por outra empresa,

    resolve mudar o nome para Atari (o cheque do jogo japons Go).

  • Histrico

    1972: Bushnell contrata Al Alcorn, que

    programa um jogo simples de ping-pong. Nasce

    o Pong, assim batizado pois ping-pong j era registrado.

  • Histrico

    1972: A Magnavox apresenta seu

    Odyssey, criado pelo engenheiro Ralph

    Baer, numa conveno em Burlingame,

    California. Mais de 100.000 unidades so

    vendidas.

  • Histrico

    1973 a 1975: O sucesso do Pong faz

    com que surja uma enxurrada de

    clones. Empresas como Sega, Taito, Midway, Coleco e a prpria Atari lanam

    diversas variaes do jogo original.

  • Histrico

    1976: A Fairchild Camera & Instrument lana o

    Channel F. Nasce o primeiro console da

    Histria, o primeiro programvel (com cartuchos).

  • Histrico

    1977: A histria dos video-games mudaria para

    sempre depois que a Atari lana, no Natal, o Video

    Computer System (Atari VCS), mais tarde rebatizado

    de Atari 2600. O sistema era chamado internamente

    de Stella.

  • Histrico

    1978: A japonesa Taito fabrica o arcade

    Space Invaders e a Midway importa a mquina para os EUA. O jogo inova ao

    introduzir os high-scores (recordes) e se torna um imenso sucesso.

  • Histrico

    1978: A Magnavox lana o Odyssey2,

    cuja novidade um teclado de membrana

    embutido no console.

  • Histrico

    1980: A Mattel lana o Intellivision, mais avanado que o

    VCS. Apesar de ser a nica competio sria que a Atari

    enfrenta, no evita que o remodelado e agora batizado

    de Atari 2600 domine o mercado, com mais de 25

    milhes de consoles e 120 milhes de cartuchos

    vendidos, 200 jogos disponveis de 40 fabricantes

    diferentes e lucro de US$ 5 bilhes.

  • Histrico

    1980: A Namco lana o Pac-Man, o arcade de

    maior sucesso de toda a Histria. O jogo era

    inicialmente chamado de Puck-Man, mas foi

    alterado pois temia-se que vndalos

    mudassem o nome para Fuck-Man nos

    fliperamas, riscando o P.

  • Histrico

    1981: Depois de inmeros fracassos, a Nintendo

    consegue um grande sucesso: Donkey Kong, de

    Shigeru Miyamoto. O heri, inicialmente batizado de

    jumpman, acabou conhecido pelo seu apelido de Mario, dado pelos membros da Nintendo por sua

    semelhana com Mario Segali, seu chefe.

  • Histrico

    1982: A Coleco lana o Colecovision, um

    console muito superior ao Atari 2600. Nintendo,

    Konami e Sega so alguns dos

    desenvolvedores de jogos para o console.

    1983: A Commodore lana o Commodore 64,

    computador melhor que qualquer console de

    ento.

    1983: A Nintendo lana seu console, o Famicom

    (Family Computer) no Japo.

  • Histrico

    1985: Alex Pajitnov cria o Tetris, um jogo

    simples que se tornaria um enorme

    sucesso at hoje.

  • Histrico

    1986: Em mais um ano pra entrar pra Histria

    dos videogames, a Nintendo lana a verso

    americana do Famicom, o NES (Nintendo

    Entertainment System) em todos os EUA. O

    console vem com o jogo Super Mario Bros, que

    se torna um sucesso instantneo e um clssico.

    1986: Seguindo o sucesso do NES, a Atari

    lana o seu anunciado 7800, que se torna um

    grande fracasso.

  • Histrico

    NES x Atari 7800

  • Histrico

    1986: Para no ficar atrs, a Sega tambm

    lana nos EUA o seu console, o Master

    System, para competir com a Nintendo.

  • Histrico

    1987: O NES um grande sucesso e a

    Nintendo domina o mercado. Os

    consoles da Atari so praticamente

    ignorados e apenas a Sega consegue

    manter alguma competio.

    1987: A NEC lana o PC-Engine no

    Japo.

  • Histrico

    1989: Num ano com muitas novidades, a

    Nintendo lana o GameBoy, a NEC lana o PC-

    Engine nos EUA com o nome de TurboGrafx-

    16, a Sega lana o Genesis e a Atari lana o

    Lynx.

  • Histrico

    1990: A Nintendo lana no Japo o Super Famicom,

    seu console de 16 bits, um sucesso imediato

    1990: A Nintendo lana o jogo Super Mario Bros 3

    para o NES, que se torna o jogo de console mais

    vendido de todos os tempos.

    1990: A SNK lana o NeoGeo, de 24 bits, o console

    mais avanado da poca. Seu alto preo, contudo, o

    torna um verdadeiro fracasso de vendas.

  • Histrico

    1991: A Nintendo lana o Super NES nos EUA.

    1991: A Sega cria o personagem Sonic na

    esperana de competir com o Mario da Nintendo.

    1991: A Capcom lana o revolucionrio arcade

    Street Fighter II.

    1993: A Panasonic lana o 3DO e a Atari o Jaguar

    (primeiro de 64 bits). Apesar de caros, ambos

    comeam vendendo bem, mas depois fracassam

    com a concorrncia da Sony, Nintendo e Sega.

  • Histrico

    1994: A Nintendo lana o Donkey Kong

    Country para o SNES, um grande sucesso,

    e anuncia planos para lanamento de um

    console de 64 bits.

    1995: A Sega lana o Saturn e a Sony o

    PlayStation.

  • Histrico

    1996: O PlayStation considerado o melhor

    console existente e tem um sucesso

    estrondoso.

    1996: Amargando grandes prejuzos e cada

    vez mais perdendo mercado, a Nintendo

    finalmente lana seu novo console, o Nintendo

    64.

    1996: Acumulando fracasso aps fracasso,

    morre a Atari, a maior precursora dos

    videogames.

  • Histrico

    1998: A Nintendo lana o GameBoy Color, verso

    colorida do velho GameBoy, que faz um enorme

    sucesso, apesar de simples e ultrapassado.

    1998: A Sega lana o Dreamcast no Japo.

    1999: O Sega Dreamcast lanado com sucesso nos

    EUA, vendendo US$ 100 milhes em 24 horas.

    2000: O PlayStation 2 lanado no Japo,

    estabelecendo um recorde ao vender um milho de

    unidades em dois dias. A demanda muito maior que a

    oferta e faltam consoles nas lojas.

  • Histrico

    2001: A Microsoft lana o XBox.

    16 jogadores com 4 consoles ligados

    XBox Live!

    2001: A Nintendo lana o Game Boy Advance e

    o GameCube, seu novo console de 128 bits.

  • Histrico

    2005: Xbox 360 da Microsoft

    2006: Playstation 3 da Sony

  • O Futuro?

    Microsoft e Sony anunciam que esto

    estudando para que seus prximos consoles

    sejam integrado a eletrodomsticos e outros

    aparelhos da casa.

    Jogos para dispositivos wireless e aparelhos

    portteis ganham cada vez mais fora.

    Mercado de consoles praticamente dominado

    por Sony, Nintendo e Microsoft.

    Jogos multiplayer pela Internet vm sendo a

    grande prioridade dos desenvolvedores de

    jogos.

  • Componentes de um jogo e seu relacionamento

    Objetos

    Imagem = Sprites

    Fases (ou salas)

    Imagem = Background

    Sons

  • Componentes de um jogo e seu relacionamento

    Eventos e Aes

    Objeto Evento Objeto Ao

    Coliso Quicar

    Coliso Quicar

    Destruir

    Sair da sala por

    cima ou pelos lados

    - Quicar

    Sair da sala por

    baixo

    - -1 vida

    Se vida=0, game

    over

    Seno, cria nova

  • Introduo ao GameMaker

  • Conceito

    Ao dar nome aos componentes de um jogo no Game Maker, lembre-se que:

    Use apenas letras, nmeros e underscore _

    Evite usar acentos, espaos e pontuao

    No d o mesmo nome objetos de tipos diferentes (por exemplo, bola para a sprite e para o objeto que representa uma bola)

    Sugesto: use prefixos: spr_bola, obj_bola

    Nomes so case-sensitive. Assim, bola diferente de Bola.

    Cuidado com isso ao escrever cdigo!

  • Conceito

    Sistema de Coordenadas

  • Exerccio: Simple Breakout

    Conceitos: Objetos, sprites, eventos, uso do mouse

  • Introduo Criao de Jogos

    com GameMaker

    Dia 2

    Alexandre S. Lobo

    [email protected]

  • Agenda Dia 2

    Como planejar um jogo

    Eventos no GameMaker

    Aes no GameMaker

    Conceitos: Objetos, Instncias e Variveis

    Exerccio: River Raid

    Conceitos: variveis, uso de texto, background

    mvel (scrolling), uso do teclado, controle de

    energia e nmero de vidas, posio absoluta e

    relativa de objetos

  • Eventos

    Cada objeto responde a um conjunto

    determinado de eventos

    Alguns eventos

    so detalhados em

    menus drop-down

  • Eventos

    Este evento acontece quando uma instncia de um objeto criada.

    Geralmente utilizado para colocar a instncia em movimento desde o incio e/ou configurar certas variveis da instncia.

  • Eventos

    Este evento acontece antes da instncia ser destruda, ou seja, a instncia ainda existe quando o evento executado!

    Na maioria das vezes, este evento no utilizado, mas voc pode, por exemplo, utiliz-lo para modificar o placar do jogo ou criar um novo objeto.

  • EventosAlarm events

    Cada instncia possui 8 relgios de alarme. possvel ajust-los atravs de certas aes

    (consulte o

    prximo captulo). O relgio do alarme ento conta em ordem decrescente, at atingir 0,

    momento em

    que gerado o alarm event. Para indicar aes a um determinado relgio de alarme,

    primeiramente

    necessrio selecion-lo no menu. Os relgios de alarme so muito teis. possvel utiliz-

    los para fazer

    com que certas coisas aconteam de tempos em tempos. Por exemplo, um monstro pode

    modificar sua

    direo de movimento a cada 20 passos. ( preciso lembrar que, nestes casos, uma das

    aes no evento

    deve ajustar novamente os valores do relgio de alarme, seno ele funciona s uma vez).

  • EventosStep events

    Eventos do tipo step event acontecem a cada passo do jogo. Utilize-os para colocar aes

    que precisam

    ser executadas continuamente. Por exemplo, se um objeto deveria seguir outro, possvel

    ajustar a

    direo do movimento de acordo com o objeto a ser seguido. Entretanto, preciso se ter

    cuidado com

    este tipo de evento. Principalmente, no se deve colocar muitas aes complexas para este

    evento em

    objetos com muitas instncias. Fazer isto, pode deixar o jogo lento. Para ser mais exato, h

    3 tipos de

    step events. Geralmente, apenas ser preciso utilizar o que considerado padro, embora

    seja possvel

    atravs do menu selecionar o begin step event e o end step event. O primeiro

    executado no comeo

    de cada passo, antes que qualquer outro evento acontea. O normal step event (padro)

    executado

    antes que as instncias sejam colocadas em suas novas posies. O end step event

    executado no fim do

    passo, antes do redesenho da tela. Este ltimo tipicamente utilizado, por exemplo, para

    mudar a sprite

    dependendo de sua direo atual.

  • EventosCollision events

    Sempre que duas instncias colidem (isto , as sprites se sobrepem) gerado um collision event. Na

    verdade, ocorrem 2, um para cada uma das instncias. A instncia pode reagir a este evento. Para este

    fim, selecione do menu o objeto para qual se quer definir o collision event. Aps, defina as aes.

    H uma diferena do que acontece quando uma instncia colide com um objeto slido do que um objeto

    no-slido. Antes de tudo, quando no h aes no collision event, nada acontece; a instncia atual

    simplesmente se mantm em movimento, mesmo se o outro objeto for slido. J quando o evento

    contm alguma ao ocorre o seguinte:

    Quando o outro objeto slido, a instncia colocada de volta ao seu lugar anterior (antes de ocorrer a

    coliso). Ento o evento executado. Finalmente, a instncia deslocada para sua nova posio. Assim,

    por exemplo, se o evento reverte a direo de movimento, a instncia choca-se contra uma parede e

    continua em movimento, sem parar. Havendo uma coliso, a instncia mantida no local em que estava,

    efetivamente interrompendo seu movimento.

    Quando o outro objeto no-slido, a instncia tem um comportamento diferente. Simplesmente, o

    evento executado com a instncia em sua posio atual. Tambm, no h uma segunda verificao por

    coliso. Bem, a lgica nos diz que isto realmente o que deveria acontecer. Por o objeto no ser slido,

    possvel atravess-lo e o evento notifica quando isto est acontecendo.

    H muitos usos para os collision event. Instncias podem ricochetear em paredes; um objeto que seja

    atingido por um projtil pode ser destrudo; etc.

  • EventosKeyboard events

    Quando o jogador pressiona uma tecla, acontece um keyboard event para todas as instncias de todos os

    objetos. H um evento diferente para cada tecla. Atravs do menu pode-se definir a tecla para o

    keyboard event e depois arrastar com o mouse as aes. Claramente, so poucos os objetos que

    precisam

    associao com este evento, bem como so poucas as teclas utilizadas nesta associao. possvel obter

    um evento a cada passo, quando o jogador mantiver a tecla pressionada. H dois keyboard events

    especiais. Um deles chamado . Este evento acontece em cada passo, quando nenhuma tecla

    pressionada. O outro chama-se e acontece quando alguma tecla pressionada. Quando o

    jogador pressiona vrias teclas ao mesmo tempo, acontecem eventos para todas as teclas pressionadas.

    Observe que as teclas no teclado numrico s produzem eventos correspondentes se o indicador

    Key press events

    Este evento similar ao keyboard event, mas acontece apenas 1 vez, quando a tecla pressionada, ao

    invs de acontecer continuamente. til exatamente quando se quer que uma ao acontea s 1 vez.

    Key release events

    Tambm similar ao keyboard event mas acontece apenas 1 vez quando a tecla liberada, ao invs de

    acontecer continuamente.

  • EventosMouse events

    Um mouse event acontece para uma instncia sempre que o cursor do mouse estiver dentro da sprite que

    a representa. Dependendo de qual boto do mouse estiver pressionado, obtm-se os eventos: no button,

    left button, right button, ou middle button. Os eventos mouse button so gerados a cada passo,

    contanto que o jogador mantenha o boto do mouse pressionado. Os press events so gerados apenas

    uma vez, quando o boto pressionado. Os release events so apenas gerados quando o boto

    liberado. Observe que estes eventos s acontecem quando o cursor do mouse estiver sobre a instncia

    (sprite). Desejando executar aes associadas simplesmente ao fato de se pressionar ou liberar o algum

    boto do mouse, use global mouse events que podem ser encontrados em um submenu. H dois eventos

    para mouse especiais: mouse enter e mouse leave. O primeiro acontece quando o cursor do mouse entra

    na rea da instncia. O segundo acontece quando o cursor deixa a rea da instncia. Estes eventos so

    usados tipicamente para mudar a imagem (sprite) ou tocar algum som. Finalmente, h os eventos

    relacionados ao joystick. Pode-se indicar aes para as 4 direes principais do joystick (na direo

    diagonal ocorrem ambos eventos). Da mesma forma, pode-se definir aes para os 8 botes do joystick.

  • EventosDrawing event

    As instncias, quando visveis, tm sua sprite desenhada na tela a cada passo. Ao se

    especificar aes

    para o drawing event, a sprite no desenhada, mas as aes que so executadas. Pode

    ser usado para

    desenhar algo diferente da sprite, ou fazer moficaes aos parmetros da sprite. H

    diversas aes que

    podem ser utilizadas em drawing events. Observe que o drawing event s executado se o

    objeto for

    visvel. Tambm observe que, independente do que seja desenhado, os collision events

    so baseados na

    sprite que associada com a instncia.

  • EventosEm algumas situaes, importante compreender a ordem em que o Game Maker

    processa os eventos.

    Esta ordem est descrita abaixo:

    Begin step events

    Alarm events

    Keyboard, Key press, e Key release events

    Mouse events

    Normal step events

    (agora todas as instncias so ajustadas para suas novas posies)

    Collision events

    End step events

    Drawing events

    A criao, destruio, e outros eventos so realizados quando os fatos correspondentes

    acontecem.

  • Aes

    As aes descrevem o que ser

    realizado em resposta aos eventos.

    H diversas abas de aes:

    Mover (Move)

    Principal 1 e 2 (Main)

    Controle (Control)

    Pontuao (Score)

    Aes adicionais (Extra)

    Desenho (Draw)

  • Aes de Movimento

    MOVER:

    Movimentar em uma direo (com setas)

    Movimentar em uma direo (com ngulo)

    Mover-se em direo a um ponto

    Ajustar a velocidade horizontal (valores positivos para a

    direita, negativos para a esquerda.

    Ajustar a velocidade vertical

    Ajustar a gravidade (ngulo e velocidade)

    Reverter a direo horizontal

    Reverter a direo vertical

    Ajustar o atrito

    Dica: Use relative para aumentar ou diminuir os valores com

    base nos atuais

  • Aes de MovimentoSALTAR:

    Saltar a uma determinada posio

    Saltar posio inicial

    Saltar a uma posio aleatria

    Alinhar a uma grade

    Wrap (retornar pelo outro lado) ao sair da tela

    Mover a uma posio de contato

    Ricochetear ao bater em objetos

  • Aes Principais (1)

    SOMS:

    Tocar um Som

    Interromper um Som

    Testar se um som est sendo tocado

    SALAS (ROOMS):

    Ir ao room anteriorIr ao prximo roomReiniciar o room atual

    Ir a um room diferenteTestar se h o room anteriorTestar se h o prximo room

  • Aes Principais (1)OBJETOS:

    Criar uma instncia de um objeto

    Criar uma instncia de um objeto com velocidade e

    direo

    Criar uma instncia de um objeto aleatrio

    Modificar a instncia

    Destruir a instncia

    Destruir instncias em uma posio

    SPRITES:

    Modificar a sprite

    Transformar a sprite (verso registrada)

    Definir ajuste de cor para a sprite (verso registrada)

  • Aes Principais (2)TEMPO:

    Configurar um alarme

    Interromper durante um tempo

    INFORMAO:

    Exibir uma mensagem

    Exibir informaes sobre o jogo

    JOGO:

    Reiniciar o jogo

    Finalizar o jogo

    Salvar o jogo

    Carregar um jogo

  • Aes de ControleQUESTES:

    Se uma posio est livre de coliso

    Se h coliso em uma posio

    Se h objeto em uma posio

    Se o nmero de instncias um certo valor

    Sorteado um nmero, realize uma ao

    Se o usurio responde sim a uma pergunta

    Se uma expresso verdadeira

    Se est pressionado um boto do mouse

    Se instncia est alinhada com a grade

    OUTROS:

    Incio de bloco

    Seno

    Sair do evento atual

    Fim de bloco

    Repetir uma ao

  • Aes de Controle

    CDIGO:

    Executar um trecho de cdigo

    Comentrios

    VARIVEIS:

    Ajustar o valor de uma varivel

    Se o valor da varivel igual a

    Desenhar o valor da varivel

  • Aes de PontuaoPONTUAO:

    Ajustar o escore

    Se o escore igual a

    Desenhar o valor do escore

    Exibir os melhores escores

    Limpar os melhores escores

    VIDAS:

    Ajustar o nmero de vidas

    Se nmero de vidas igual a

    Desenhar o nmero de vidas

    Desenhar o nmero de vidas com imagem

  • Aes de Pontuao

    ENERGIA:

    Ajustar a energia

    Se energia igual a

    Desenhar a barra de energia

    Atualizar no ttulo da janela

  • Aes de DesenhoDESENHO:

    Desenhar uma imagem sprite

    Desenhar uma imagem background

    Desenhar um texto

    Desenhar um texto modificado (verso registrada)

    Desenhar um retngulo

    Desenhar retngulo-gradiente horizontal (verso registrada)

    Desenhar retngulo-gradiente vertical (verso registrada)

    Desenhar uma elipse

    Desenhar elipse-gradiente (verso registrada)

    Desenhar uma linha

    Desenhar uma seta

  • Aes de DesenhoCONFIGURAES:

    Ajustar as cores

    Alternar entre modos de exibio

    OUTRAS:

    Gravar um instantneo do jogo (verso

    registrada)

  • Conceitos

    Objetos

    a definio ou modelo do elemento que ser criado

    durante o jogo (sprite a ser usada, eventos, aes, etc)

    Instncias

    cada uso desta definio para criar um elemento

    durante a execuo do jogo

    Podemos criar diversas instncias de um mesmo objeto

    Por exemplo, diversos tijolos amarelos baseados no objeto TijoloAmarelo, no jogo Breakout

  • ConceitosVariveis

    So locais de memria que armazenam informao. Podem ser:

    Pr-definidas pelo GameMaker

    Gerais (visveis em todo jogo):

    score - o valor atual do escore

    lives - o nmero de vidas atual

    health - a energia atual (0-100)

    mouse_x, mouse_y - a posio x do mouse

    room_height, room_width o tamanho da sala atual

    Etc

    Locais (visveis por um objeto)

    x - a coordenada x da instncia

    y - a coordenada y da instncia

    hspeed - a velocidade horizontal (em pixels por passo)

    vspeed - a velocidade vertical (em pixels por passo)

    Direction - a direo atual do movimento, em graus (0-360)

    speed - a velocidade atual na direo (direction) corrente

    image_speed - a velocidade com que as sub-imagens so exibidas

  • Conceitos

    Variveis

    Definidas pelo usurio

    Qualquer nome que voc definir

    Lembre-se: Energia diferente de energia

    So definidas com var , ou no

    primeiro uso

    Globais (visveis em todo jogo):

    Tem o prefixo global.

    Exemplo: global.Ouro, global.Chaves

    Locais (visveis por um objeto)

    Sem prefixo, qualquer nome no reservado pelo Game Maker

    Exemplo: score variveis pr-definida pelo Game Maker, pontos varivel do jogador

  • Exerccio: River Raid

    Conceitos: variveis, uso de texto,

    background mvel (scrolling), uso do

    teclado, controle de energia e nmero de

    vidas, posio absoluta e relativa de

    objetos

  • Introduo Criao de Jogos

    com GameMaker

    Dia 3

    Alexandre S. Lobo

    [email protected]

  • Agenda Dia 3

    Conceitos Avanados no GameMaker

    Gneros de Jogos

    Como planejar um jogo

    Palavras dos Gurus: Como ser um desenvolvedor de jogos, traduo da palestra de David Weller, gerente de programas das comunidades de desenvolvimento de jogos da Microsoft Game Technology Group

    Definio do projeto final (individual por aluno)

    Exerccio: Dungeon DudeConceitos: Uso avanado de sprites e variveis, informao sobre o jogo (game info), criao de inimigos inteligentes (escolha de caminho), controle de objetos carregados, mudana de fases

  • Modo Avanado

    Aes de Movimento

    PATHS:

    Definir o Path (caminho) para uma instncia

    Remover o Path de uma instncia

    Mover a instncia a um ponto do Path

    Configurar a velocidade do path

    STEPS:

    Realizar um passo em direo a um ponto

    Realizar um passo em direo a um ponto, desviando dos

    obstculos

  • Modo Avanado

    Aes Principais (1)TEMPO:

    Definir uma linha de tempo

    Definir a posio de uma linha de tempo

    INFO:

    Mostrar um vdeo

    RECURSOS:

    Ler uma sprite de um arquivo (verso registrada)

    Ler um som de um arquivo (verso registrada)

    Ler um background de um arquivo (verso registrada)

  • Modo Avanado

    Aes de Controle

    CDIGO:

    Executar um script

    OUTRAS:

    Chamar o evento herdado (do objeto-pai)

  • Modo Avanado

    Aes AdicionaisCriar um sistema de partculas

    Destruir um sistema de partculas

    Remover todas as partculas do sistema

    Criar um tipo de partcula

    Definir a cor de uma partcula

    Definir o tempo de vida de uma partcula

    Definir o movimento de uma partcula

    Definir a gravidade de uma partcula

    Criar partculas secundrias

    Criar um emissor de partculas

    Destruir um emissor de partculas

    Gerar conjunto de partculas a partir de um emissor

    Gerar partculas seqencialmente a partir de um emissor

  • Modo Avanado

    Aes AdicionaisCD (verso registrada):

    Tocar trilha do CD

    Terminar de tocar o CD

    Pausa no CD

    Reiniciar do ponto anterior (aps pausa)

    Testar se h um CD no drive

    Testar se h um CD tocando

    OUTRAS:

    Configurar o ponteiro do mouse

    Abrir uma pgina no browser padro da mquina

  • Aes de Desenho

    CONFIGURAES:

    Configurar a fonte para desenhar texto

  • Gneros

    Estratgia: planejamento, comando.

    Simuladores: realismo, ambiente virtual.

    Adventure: raciocnio, soluo de

    enigmas.

    Esporte: modalidades esportivas.

    Infantil: apelo visual, em geral educativos.

    Educativos: em geral infantis.

  • Gneros

    Tabuleiro: raciocnio, pouca ao.

    Cartas: baralho, pouco apelo visual.

    Shootem up: matar e correr.

    Arcade/Ao: mais percia e habilidade.

    RPG: personagens e mundos complexos.

    Puzzle: quebra-cabea, desafio.

  • Como planejar um jogo

  • Como se Tornar um Desenvolvedor de Jogos

    David Weller

    Technical Evangelist

    .NET Developer Division

    Microsoft

  • Para um Jogo de Sucesso...

    Desafie o jogador com:Objetivos claros e possveis de atingir,

    oferecendo feedback sobre o progresso do jogador

    Objetivos de curto e longo prazo

    Nveis de dificuldade e objetivos secundrios, para atender a jogadores com diferentes habilidades

    Recompense o JogadorPor atingir objetivos principais e secundrios

    Randomicamente

  • Para um Jogo de Sucesso...

    Faa o jogador se sentir no controle Dando a ele escolhas que paream fazer

    diferena real para o correr do jogo

    No o confundindo com controles demais

    No o punindo por coisas alm do seu controle

    Dando ao jogador feedback visual e auditivo sobre suas interaes com o jogo

    E Lembre-se:

    O jogo precisa ser divertido, no frustante!

  • Exerccio: Dungeon Dude

    Conceitos: Uso avanado de sprites e

    variveis, mudana de fases, informao

    sobre o jogo (game info), criao de

    inimigos inteligentes (escolha de caminho)

  • Introduo Criao de Jogos

    com GameMaker

    Dia 4

    Alexandre S. Lobo

    [email protected]

  • Agenda - Dia 4

    Viso Geral da verso registrada

    Programa RegDemo

    Ferramentas para desenvolvimento de

    jogos

    Palavras dos Gurus: Um guia para criar jogos de sucesso, traduo da palestra de Bruce Shelley, do Ensemble Studios (criadores de

    sucessos como a srie Age of Empires)

    Projeto Final

    Prximos passos

  • Prximos Passos Cursos acadmicos

    Curso de Programao de Jogos com XNA na Unieuro, em Braslia Em breve!

    Projeto e Implementao de Jogos, curso da UFPE http://www.cin.ufpe.br/~game

    ICAD-Igames Laboratrio de CAD e Jogos Inteligentes, da PUC-Riohttp://www.icad.puc-rio.br

    Introduo Programao de Jogos, na UFRJhttp://www.labic.nce.ufrj.br/jogos

    Desenvolvimento de software para entretenimento digital, da Universidade Estcio de S, RJhttp://www.estacio.br/politecnico/cursos/des_soft_entr_digital.asp

    Arte e design para entretenimento digital, da Universidade Estcio de S, RJhttp://www.estacio.br/politecnico/cursos/arte_design_entr_digital.asp

    Curso Superior em Tecnologia de Games, da PUC-SPhttp://www.pucsp.br/paginas/ensino_pesquisa/cursos/design_de_games/index.htm

    Curso de Desenvolvimento de Jogos Eletrnicos, da Faculdade Infrium, MGwww.inforium.com.br

    "Curso Superior de Tecnologia em Programao de Jogos Digitais", da PUC Minas (Unidade So Gabriel)

    www.inf.pucminas.br/index.php?secao=noticias&id=1099

  • Referncias

    Made in Brasil Games Portal sobre jogos nacionaishttp://www.madeinbrasilgames.com.br/php/

    Gametrack - portal de jogos banda larga

    http://www.gametrack.com.br

    Programadores e Desenvolvedores de Jogoshttp://www.pdj.com.br

    Gaming Brasil Dicas sobre criao de jogos em diversas plataformas, downloads diversoshttp://gamingbrasil.mundoperdido.com.br

    Comunidade Brasileira de Desenvolvimento e Programao de jogoshttp://www.gamedev.com.br

    Max Dimensionhttp://maxdimension.pdj.com.br

    Unio de Gamers do Brasilhttp://www.ungbrasil.org

    Cursos online sobre programao de jogos 2D e 3D gratuitos (em ingls)http://www.microsoft.com/events/series/msdnvideodev.mspx

    Cursos e Tutoriais sobre OpenGL e outras ferramentas de desenvolvimento de jogos (em ingls)

    http://nehe.gamedev.net

    Tutoriais diversos (em ingls)http://www.gametutorials.com

    Jogos Daqui

    http://www.jogosdaqui.com.br

    http://www.unidev.com.br/

  • Empresas de Jogos Brasileiras

    Associao Brasileira das Desenvolvedoras de Jogos Eletrnicos

    http://www.abragames.org

    Locz games

    http://www.locz.com.br/loczgames

    Jynx Playware

    http://www.jynx.com.br

    Hoplon Infotainment

    http://www.hoplon.com.br

    Dlirus Entertainment

    http://www.delirus.com.br

    Devworks Game Technology

    http://www.devworks.com.br

    Canoasoft.com

    http://www.canoasoft.com

    Trs D1

    http://www.tresd1.com.br

    Ignis Games Criadora do Jogo Eriniahttp://www.ignisgames.com.br/erinia

    Diversos outros em:

    http://www.abragames.org/membros.htm

  • Eventos

    Concurso anual de Jogos Eletrnicos do MEC

    http://www.jogosbr.org.br

    Concurso Anual de jogos da PDJ

    http://www.pdj.com.br

    Imagine Cup Concurso anual, inclui categoria de jogos

    http://www.imaginecup.com.br/pt-br/aspx/home.aspx

    Conferncia de Desenvolvedores de Games

    http://www.cdgrio.com.br

  • Ferramentas para desenvolvimento de jogos

    Klik & Play , The Games Factory, Multimedia Fusion, Jamagic

    http://www.clickteam.com

    No fcil e amigvel sistema do tipo clique e arraste, a Clickteam apresenta uma linha de produtos para criao de games, dos mais amadores aos com qualidade comercial, sem que a pessoa precise escrever uma s linha de programao. Todos vem com cenrios, personagens e efeitos sonoros pr-fabricados para voc criar suas aventuras. Interfaces simples, diversos tutoriais e fruns para trocar idias com outros criadores. Em Ingls.

    Game Maker http://www.gamemaker.com.br, http://www.gamemaker.nl

    Tambm no estilo clique e arraste, o Game Maker possui extensa comunidade de criadores pelo mundo todo, oferece suporte on-line na criao do seu game e o melhor, o download do programa completo grtis. Em Ingls.

  • Ferramentas para desenvolvimento de jogos

    3dgamestudiohttp://www.3dgamestudio.com

    Faa games em 3D com o Gamestudio. Cenrios ao ar livre, salas futuristas ou medievais. Homens, mulheres e robs com poder de andar, nadar e atirar. Voc mesmo aprende a manusear tudo isso sem esforo com os objetos e scripts pr-fabricados. Se quiser ir mais longe, da sim, tutoriais sobre a linguagem de programao C-Script estaro sua espera. Em Ingls.

    Dark Basichttp://www.darkbasicpro.com.br

    Se voc sonha em criar games em 3D e 2D com qualidade comercial e com suporte em portugus, visite o site do Dark Basic. Para dominar o programa, voc ter que aprender uma linguagem de programao especfica baseada em Basic.

    Blitz Basichttp://www.blitzbasic.com

    Muito semelhante ao Dark Basic, com linguagem derivada do Basic. Permite exportar e importar cenrios, personagens e criar um game original e autoral em 3D ou em 2D. Em Ingls.

  • Ferramentas para desenvolvimento de jogos

    Milk Shape http://www.swissquake.ch/chumbalum-soft

    Software de fcil aprendizado, ideal para criao depersonagens em 3D. Voc comea do nada e vai acrescentando a pele, o rosto, as vestimentas. O editor de animao embutido permite que voc crie os movimentos do seu heri ou herona e depois exporte para o ambiente desejado. Em Ingls.

    Anim8orhttp://www.anim8or.com

    D seus primeiros passos na criao e animaode personagens e objetos em 3D com o Anim8tor, programa gratuito mas poderoso e fcil de aprender. Download de manual disponvel em portugus. Em Ingls.

  • Ferramentas para desenvolvimento de jogos

    Truespace http://www.caligari.com

    Programa de criao e animao em 3D muito popular no mundo dos games. A verso mais recente, a 6.6, disponvel para experimentao, vem com vrios esqueletos e rostos pr-fabricados para montagem de personagens. Verso 3.2 gratuita at para fins comerciais. Em Ingls.

    Terragemhttp://www.planetside.co.uk

    Programa especializado na criao de cenrios - florestas, montanhas, construes. Os detalhes impressionam. D para criar reflexos na gua, irregularidades no terreno, sombras nas rvores e at estabelecer a posio do sol. Download grtis para fins no comerciais. Em Ingls.

    Mataleone Counter Strikehttp://www.mataleone.com

    Site de Roger Mataleone, brasileiro cujo trabalho na criao de mods - nveis prprios -para o Half-Life reconhecido no exterior. Tutoriais detalhados para quem deseja criar suas prprias fases do jogo Half-Life. A seo downloads disponibiliza o Valve-Hammer 3.4, editor de mapas oficial da Valve, produtora do game.

  • Ferramentas para desenvolvimento de jogos

    Softimagehttp://www.softimage.com

    Star Wars - The Clone Wars, Soldier of Fortune 1 e 2, Half-Life 2, Resident Evil e Battlezone 1 e 2 so alguns top games que utilizaram a tecnologia do Softimage, sofisticado programa da Avid para animao em 3D. Quer saber como eles foram feitos? Baixe a verso gratuita para fins no-comerciais e estude o programa Softimage XSI EXP v.3.0. Importante. Seu computador deve ter no mnimo Pentium 4 e 256 MB de memria para rodar o poderoso software. Em Ingls.

    Adobehttp://www.adobe.com.br/print/main.html

    Cansado de objetos, cenrios e heris pr-fabricados? Desenhe voc mesmo no computador seus castelos, guerreiros, florestas e naves espaciais com os programas de design e layout da Adobe como o Illustrator, o Photoshop e o Dimensions. Depois exporte para o programa usado para criar o game.

  • Ferramentas para desenvolvimento de jogos

    Macromediahttp://www.macromedia.com/br

    Com recursos de desenho, som e animao, o Flash MX tambm pode ser um valioso aliado na criao de elementos originais para games on-line j que,o invs de bitmaps, utiliza arte do tipo vetor, mais fcil de baixar e transmitir na rede.

    Fastgraphhttp://www.fastgraph.com

    Programa recomendado para quem deseja criar objetos, cenrios e personagens para games em 2 e 3D com alta qualidade e rpida renderizao. Em Ingls.

    Etc, etc, Etc...

  • Um Guia para Desenvolver

    Jogos de Sucesso

    Bruce Shelley

    Ensemble Studios

  • Exerccio: Projeto Final

    Conceitos: Agora com vocs!

    Mudana de fases

    Vidas, Energia, Bnus

    Uso avanado de variveis

    Uso de decises randmicas

    Criao de objetos dinamicamente

    Uso de cdigo para funes avanadas

    Use a imaginao!

  • Prximos Passos

    Decida o que voc quer ser!

    Amador

    Profissional

    Artista (imagem, som)

    Roteirista

    Programador

    Etc

    Pesquise e se aprofunde

    Estude. Muito.

    Dvidas? Use os grupos da internet ou nosso grupo:

    Pgina: http://br.groups.yahoo.com/group/GameMakerBrasilia

    mails: [email protected]