Sei sulla pagina 1di 108

Introduo

Criao de Jogos
com GameMaker

Alexandre S. Lobo
contato@alexandrelobao.com

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 Dude
Conceitos: 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
contato@alexandrelobao.com

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 PCEngine nos EUA com o nome de TurboGrafx16, 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

Sair da sala por


baixo

Quicar
-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
contato@alexandrelobao.com

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.

Eventos
Alarm 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 utilizlos 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).

Eventos
Step 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.

Eventos
Collision 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.

Eventos
Keyboard 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 <No key>. Este evento acontece em cada passo, quando nenhuma tecla
pressionada. O outro chama-se <Any key> 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.

Eventos
Mouse 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

Eventos
Drawing 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.

Eventos
Em 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 Movimento
SALTAR:
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)


SALAS (ROOMS):
Ir ao room anterior
Ir ao prximo room
Reiniciar o room atual
Ir a um room diferente
Testar se h o room anterior
Testar se h o prximo room

SOMS:
Tocar um Som
Interromper um Som

Testar se um som est sendo tocado

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 Controle
QUESTES:
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 Pontuao
PONTUAO:
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 Desenho
DESENHO:
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 Desenho
CONFIGURAES:
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

Conceitos
Variveis
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 <nome da varivel>, 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
contato@alexandrelobao.com

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 Dude
Conceitos: 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 Adicionais
Criar 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 Adicionais
CD (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 Jogador
Por 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
contato@alexandrelobao.com

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-Rio


http://www.icad.puc-rio.br

Introduo Programao de Jogos, na UFRJ


http://www.labic.nce.ufrj.br/jogos

Desenvolvimento de software para entretenimento digital, da Universidade Estcio de S, RJ


http://www.estacio.br/politecnico/cursos/des_soft_entr_digital.asp

Arte e design para entretenimento digital, da Universidade Estcio de S, RJ


http://www.estacio.br/politecnico/cursos/arte_design_entr_digital.asp

Curso Superior em Tecnologia de Games, da PUC-SP


http://www.pucsp.br/paginas/ensino_pesquisa/cursos/design_de_games/index.htm

Curso de Desenvolvimento de Jogos Eletrnicos, da Faculdade Infrium, MG


www.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 nacionais
http://www.madeinbrasilgames.com.br/php/

Gametrack - portal de jogos banda larga


http://www.gametrack.com.br

Programadores e Desenvolvedores de Jogos


http://www.pdj.com.br

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

Comunidade Brasileira de Desenvolvimento e Programao de jogos


http://www.gamedev.com.br

Max Dimension
http://maxdimension.pdj.com.br

Unio de Gamers do Brasil


http://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 Erinia


http://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


3dgamestudio
http://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 Basic
http://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 Basic
http://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 de
personagens 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.

Anim8or
http://www.anim8or.com
D seus primeiros passos na criao e animao
de 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 prfabricados para montagem de personagens. Verso 3.2 gratuita
at para fins comerciais. Em Ingls.

Terragem
http://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 Strike


http://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


Softimage
http://www.softimage.com
Star Wars - The Clone Wars, Soldier of Fortune 1 e 2, HalfLife 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.

Adobe
http://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


Macromedia
http://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.

Fastgraph
http://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: GameMakerBrasilia@yahoogrupos.com.br

Potrebbero piacerti anche