Introduo
Criao de Jogos
com GameMaker
Alexandre S. Lobo
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
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
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
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
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]