Prototipagem

Essa semana, tive que entregar junto com o pessoal da Panela Games, um protótipo para o Round 2 da Imagine Cup 2012, da categoria Game Design: Phone que estamos participando. A parte mais legal do processo foi criar 3 protótipos diferentes, até chegarmos numa idéia que gostamos. Então resolvi postar aqui, todos os protótipos que fizemos. :)

Nossa primeira idéia foi um jogo de naves na horizontal, side-scroller shooter, estilo Gradius, onde o jogador atira os símbolos de operações, e deve acertar as contas que vem de encontro com o símbolo da operação pra resolvê-la. O objetivo era criarmos um jogo educativo de matemática. Primeiro protótipo:

Depois disso, resolvemos mudar o jogo pra vertical, pra facilitar o uso dos botões, e facilitar a leitura das contas. Primeiro protótipo, segunda iteração:

Bom… Eu ainda gosto da idéia, mas nós decidimos que o jogo estava com muito cara de jogo educativo, e precisávamos deixar ele mais lúdico, com a parte educativa em segundo plano. Segunda idéia, voltamos a um side-scroller shooter, na horizontal. Dessa vez, o jogador teria um número alvo a alcançar, e deveria acertar inimigos com números dentro, positivos ou negativos, pra alcançar o número alvo da fase. Segundo protótipo:

Depois, resolvemos mexer um pouco nele. Adicionamos uma barra de combustível, a la River Raid. Pra ganhar combustível, o jogador dá um Tap na tela pra atirar, e deve acertar os quadrados com símbolo de combustível dentro. Depois que ele acerta, o quadrado é substituído por um quadrado com número dentro, assim como o do protótipo anterior. Segundo protótipo, segunda iteração:

Ainda não estávamos muito felizes com o jogo, então resolvemos testar uma outra idéia. Dessa vez, o jogador iria controlar um peixe com o acelerômetro, numa visão de cima. Outros peixes ficam espalhados pelo cenário, e tem um número dentro, além de um tubarão em um dos quatro cantos da tela, também com um número dentro. Quando o jogador toca em um dos peixes, eles passam a segui-lo. O objetivo é que todos os peixes seguindo o jogador, somados, tenham o mesmo valor que o número do tubarão. Terceiro protótipo:

Com algumas alterações na arte, e programação, acabamos com isso. Terceiro protótipo, segunda iteração:

Recomendo a todas as pessoas que estiverem estudando, que tentem participar da Imagine Cup, ou de qualquer competição! Não só é bom ter um prazo para seus projetos, como a visibilidade que você pode conseguir nesses eventos também é muito importante. :)

E vamos fazer protótipos!

4 dicas pra sobreviver a uma Game Jam

Uma Game Jam é um evento com um limite de tempo, para se produzir um jogo. Ela pode ter mais regras, como número de participantes, tema, mas o básico é isso. Faça um jogo, nesse período.

Eu, e meus colegas da Panela Games já participamos do Global Game Jam em 2011 e 2012, e do SPJam. Todas as vezes foram muito divertidas, e todas as vezes saímos dos eventos com jogos que gostaríamos de continuar produzindo. Por isso, recomendo a todos participarem de Game Jams, sempre que possível, e resolvi escrever algumas dicas que podem ser úteis, nas primeiras vezes em que se participa de um evento desses.

1 – Prototipe Rápido!

Essa é a primeira dica, e a que considero mais importante. Na Global Game Jam, o evento começa numa sexta a noite, e dura 48h, acabando domingo a noite. O que eu imagino ser o ideal, é ter um protótipo pronto, da idéia que vai ser desenvolvida ao longo da Jam, antes de sábado. A idéia é prototipar o mais rápido possível as idéias que surgem no começo, seja em papel, ou digital, pra que sábado seja o dia de desenvolver/polir, e domingo somente polir.

2 – Ferramentas Familiares

Isso é mais uma sugestão do que uma dica.  Ao mesmo tempo que uma Game Jam pode ser uma boa oportunidade pra testar novas ferramentas, se você não quer ficar frustrado com o resultado final, eu recomendo usar ferramentas que já são familiares. Não tente aprender uma nova linguagem de programação, ou Game Maker/Construct, durante o evento. No mínimo, tente aprendê-las antes do evento começar.

3 – Time Pequeno

Uma Game Jam é um evento curto, e por isso, acho melhor trabalhar com um número pequeno de pessoas. As coisas precisam ser decididas rapidamente, e quanto menos pessoas num time, mais rápido as decisões acontecem.

4 – Dormir

Dormir é muito bom! Mas falando sério, é essencial descansar durante uma Jam. Aposto que existem pessoas, que conseguem trabalhar bem, 3 dias sem dormir, mas acho que a maioria das pessoas não consegue. Não vale a pena ficar desesperado pra trabalhar numa Game Jam, e acabar dormindo pouco. Sempre acho melhor trabalhar bastante, mas descansar bastante, pra poder continuar trabalhando bem nos outros dias, e garantir que você continue se divertindo!

Participe

Existem muitas Game Jam que se pode participar. Vou postar algumas das que eu conheço aqui, então participe!

http://globalgamejam.org/

http://www.spjam.com.br/

http://www.ludumdare.com/compo/ (competição em que o Santo da Miniboss foi vencedor da última edição!)

http://experimentalgameplay.com/

http://gameprototypechallenge.com/

Problema de som nos aparelhos da HTC com Windows Phone 7

Após a Global Game Jam 2012, eu e o pessoal da Panela Games vimos potencial no jogo que fizemos, chamado InfiniTower, e resolvemos continuar com seu desenvolvimento. A página dele pode ser encontrada aqui.

Começamos a desenvolver o jogo utilizando XNA, e testando ele no Windows. Ao fazer um port para o Windows Phone 7, percebi que  o jogo travava em 3 ocasiões: quando abria o jogo, quando entrava na tela de gameplay, e durante o gameplay, quando a música entrava em loop.

Uma pesquisada no Google não me ajudou muito… Mas conversando com um amigo, Igor Ferreira,  descobri o problema.

O Igor me mandou a seguinte mensagem, do MVP de Windows Phone Anton D. Nagy:

 

It was quickly found out that the one who is responsible for the problem is a brand application Sound Enchancer, which allows to “improve” the sounding of music compositions by their processing in DSP (Digital Sound Processor). According to the information we have DSP functions are embodied in HTC products thanks to software solution but not to a separate chip. Maybe the realization of this system for Windows Phone 7 Mango is not optimized, and that causes serious load or even lags.

Still the only solution of this problem is disconnection of sound effects. In order to do it, you need to enter HTC TITAN settings, select “sound enhancement” point and turn the effects off while playback. The HTC Company must be working on a new version of Sound Enchancer, which will be compatible with Windows Phone 7.5 Mango.

 

Testei desligar o Sound Enhancer, e o jogo parou de travar. :)

Publicando seu jogo de Windows Phone 7 na Marketplace Brasileira

Como meu 2º post aqui no blog, resolvi escrever sobre como ter seu jogo de Windows Phone 7, publicado na marketplace brasileira.

Na realidade, o processo é muito simples. A parte mais importante são os documentos, e por isso, quero disponibilizar aqui os documentos que mandei para ter o RGB Ninja publicado no Brasil.

Existem 3 documentos que você precisa mandar para o Ministério da Justiça:

- Ficha Técnica de Jogos Eletrônicos (Exemplo: http://goo.gl/MyV5k)
- Documento de Direitos Autorais (Exemplo: http://goo.gl/Xracm)
- Sinopse do jogo (Exemplo: http://goo.gl/aZ5XS)

Além disso também é necessário enviar um vídeo do jogo, ou uma cópia dele, se possível.

Depois que você tiver todos os documentos preenchidos, e assinados caso necessário, é só enviar para esse email:

cocind.snj@mj.gov.br

Vale ressaltar que eu enviei os documentos nos formatos .jpg ou .pdf.

Depois disso, só é preciso esperar seu jogo sair no Diário Oficila da União – DOU ( www.in.gov.br ), em até 30 dias. Infelizmente não tem nenhum aviso, então você precisa mesmo ficar checando.

Quando seu jogo sair no DOU, é só anexar a página contendo seu jogo quando for submeter ele pro marketplace.

Não é um processo muito complicado, mas exige paciência, e não chega nem perto da simplicidade do PEGI, que você consegue um certificado em 2 minutos.

Quero agradecer a Mayara Butti também, por ter me ajudado com essas informações, ao publicar o jogo. :)

É isso, qualquer dúvida podem perguntar nos comentários ou me mandar um email (heitortsergent@gmail.com)!

RGB Ninja Postmortem

Bom, consegui finalizar o jogo para Windows Phone 7, e lançá-lo na Marketplace (http://www.windowsphone.com/pt-BR/apps/5606a89c-eee7-4e69-a15b-d5c498d79c0c?wa=wsignin1.0). Queria falar um pouco do que deu certo, e o que deu errado (aos moldes de Postmortem do Gamasutra). Antes de começar, vou postar 2 imagens com os números de downloads do jogo, e de que países vem eles:

RGB Ninja Download Graph

RGB Ninja Download Graph

RGB Ninja Download Per Countries

RGB Ninja Download Per Countries

O que deu certo:

Actionscript 3 /Flashpunk

O jogo começou com vários protótipos diferentes. A idéia inicial era misturar Canabalt com Portal, mas a partir dos protótipos, ela foi mudando e evoluindo para o que veio a ser hoje em dia. Fazer esses protótipos em AS3, e utilizar a biblioteca Flashpunk, me permitiu testar idéias rapidamente, além de ter o feedback de amigos facilmente, mandando o link para eles jogarem no browser. Algumas das versões feitas:

http://megaswf.com/serve/1113136/ (Mecânicas de tiro e Near Miss, referência de jogos de corrida como NFS e Burnout)
http://megaswf.com/serve/1114413/ (Near Miss, controle com mouse)
http://megaswf.com/serve/1152954/ (Mecânica de cores introduzida)
http://megaswf.com/serve/1153836/ (Variação da mecânica de cores, igual ao do jogo final)
http://dl.dropbox.com/u/1053748/RGBNinja12.swf (Próximo da versão final do jogo)

C# / XNA

Escolher fazer o jogo utilizando XNA foi a melhor maneira de produzi-lo em pouco tempo. Como já havia participado da competição da Microsoft, Dream.Build.Play, tinha alguma familiaridade tanto com a linguagem C#, quanto com o framework XNA.
Além de ser relativamente simples de utilizar ambos para fazer jogos, a Microsoft tem diversos exemplos em seu site, gratuitos (http://create.msdn.com/en-US/education/catalog/). Basicamente, qualquer coisa simples que você quiser fazer, tem um exemplo que você pode pegar como referência, ou ponto de partida.

Equipe Pequena

Já fiz parte de alguns projetos, e pude perceber que quanto maior equipe, mais difícil é de um projeto sair. Ter somente 3 pessoas na equipe (eu como programador, Rafael Fernandes e João Vitor Munduruca na parte de arte) fez com que as tarefas fossem organizadas e realizadas rapidamente. Para ajudar na organização, utilizamos o Trello (https://trello.com/), uma ferramente online gratuita. Ela é muito útil e simples, permite criar quadros e tarefas, atribuir tarefas a membros, colocar prazos, checklists, descrições e anexos. É muito fácil ver como o projeto está andando e o que cada membro está fazendo.

Portabilidade:

Felizmente, existe uma ferramenta chamada MonoTouch (http://xamarin.com/monotouch). Ela permite a desenvolvedores criar aplicativos para iOS e Android utilizando a linguagem C#. O preço inicial dela é 400 dólares, mas ela possui desconto para estudantes, diminuindo o valor para 80 doláres. Porém, isso ainda não permite utilizar o XNA nessas plataformas. Mas, pra isso, existe um projeto open-source chamada MonoGame (http://monogame.codeplex.com/), que pode ser utilizado em conjunto com o MonoTouch, para portar jogos feitos utilizando XNA para iOS e Android. Já fiz alguns testes em um iPhone 3GS, e um iPad 1, e o projeto do RGB Ninja funcionou perfeitamente, com poucas modificações.

O que deu errado:

Windows Phone 7

O Windows Phone 7 é uma plataforma nova, foi lançada há mais ou menos um ano atrás, e recentemente lançada no Brasil. Isso significa que o número de aparelhos é muito menor do que as outras plataformas (iOS e Android), ou seja, menos pessoas vão ter acesso ao jogo. Além disso, não fizemos nenhum marketing do jogo, além de posts no Twitter e Facebook. Porém, como a maioria de nossos amigos são brasileiros, e quase ninguém tem o aparelho no Brasil… bom, quase ninguém conseguiu jogar.

Lançamento / Exposição

O RGB Ninja foi a minha primeira experiência publicando um jogo. Eu havia ouvido falar que o processo de submissão de aplicações da Microsoft era bem rígido, e provavelmente teria que tratar diversos casos no aplicativo (por exemplo, o usuário está ouvindo música, e abre o jogo. Uma janela deveria abrir perguntando se o usuário quer continuar ouvindo sua música, ou habilitar a do jogo). Por isso, resolvi subir o jogo num estado “jogável”, porém com diversos bugs. Enquanto ele passava pelo processo de submissão, eu iria trabalhando nele, e depois que ele fosse reprovado, já veria todos os motivos que deveria tratar.
O jogo não foi reprovado, e além disso havia sido marcado para ser publicado automaticamente (falha minha :D). Nada de grave, já que você tem a opção de esconder sua aplicação. Porém, no momento em que você publica seu jogo/aplicação, ele vai parar no topo da lista “New”. E para um jogo sem marketing, provavelmente e o tempo em que tem maior exposição. Resultado: 2 semanas depois, quando subi o jogo finalizado, já estava bem longe, na 5ª página da categoria “New”.