deV( )id Games | because we're tired of no return;

Sep/09

17

Fundamentos deVoid(1) – Prototipagem

O que torna um jogo viciante? São os gráficos de última geração, a inteligência artificial realista, a engine de física fazendo ragdolls voando por aí…? A resposta, se você é um jogador, é óbvia: a diversão. E por incrível que pareça, muitos desenvolvedores se esquecem desse fator – apesar de que, com o crescimento dos orçamentos e a especialização do mercado, é difícil alguém não se dar conta que um jogo não é divertido antes de ser tarde demais.

Felizmente, coisas desse tipo (quase) não acontecem mais.

Felizmente, coisas como essa (quase) não acontecem mais.

Mas e os inexperientes? Que atire a primeira pedra quem nunca pensou numa idéia de jogo e, quando foi ver, não era tão legal quanto soava na sua cabeça. Então, ó interwebs, surge a pergunta: comofas?

Alguns casos de sucesso

Imagino que todos já tenham ouvido falar do World of Goo, jogo indie que fez o maior sucesso. Mas vocês sabem daonde ele saiu? Apresento-lhes o Tower of Goo.

Um dia um grupo de estudantes da Carnegie Mellon’s Entertainment Tech Center resolveu propor o seguinte: e se nós passássemos o semestre inteiro desenvolvendo jogos com tempo de desenvolvimento de uma semana? E foi o que eles fizeram. Seria escolhido um tema a cada semana, e os jogos teriam de ser desenvolvidos em cima disso, em 7 dias, por uma pessoa. Ao final dessa semana, eles iriam comparar os jogos e trocar conhecimentos. E um desses jogos foi o Tower of Goo, que ganhou sucesso, e acabou dando origem ao World of Goo.

Outro que vocês também devem conhecer é o SPORE. Bolado pelo Will Wright (que se vocês não sabem quem é, deveriam se envergonhar e clicar no nome dele pra ler o artigo da Wikipedia antes de terminar esse aqui), ele engloba vários estágios diferentes na evolução de uma espécie: você começa como célula, vira uma criatura, monta uma civilização e acaba conquistando o espaço. E tudo isso com um mundo vivo onde há interações entre espécies nesses diferentes estágios.

Finalmente, temos o Portal. Baseado na engine do Half Life 2, você usa uma arma que atira portais que “grudam” nas paredes, teto e chão dos níveis; usando isso pra resolver puzzles com os objetos ou com o próprio ambiente.

E o que todos esses jogos têm em comum?
Todos eles foram sucesso de crítica, de venda, e de público? Não só isso. Eles também fizeram uso grande da prototipagem. E uma coisa está intimamente ligada à outra.


Prototipagem, a – insira tagline heróica aqui –

A prototype is an original type, form, or instance of something serving as a typical example, basis, or standard for other things of the same category. The word derives from the Greek πρωτότυπον (prototypon), “archetype, original”, neutral of πρωτότυπος (prototypos), “original, primitive”, from πρώτος (protos), “first” + τύπος (typos), “impression[1][2].”

A idéia toda da prototipagem é fazer uma prova de conceito do seu gameplay. Verificar se, tirando toda a roupagem, ele ainda tem o principal: diversão. Não são os shaders 7.0 em DirectX 15, é a sensação boa que você tem quando repete a mesma coisa durante horas e, mesmo assim, não se cansa disso em anos.

Diablo II, da Blizzard. Criou calos no indicador de uma geração inteira e é reconhecido cientificamente como uma das primeiras formas de crack digital.

Diablo II, da Blizzard. Criou calos no indicador de uma geração inteira e é reconhecido cientificamente como uma das primeiras formas de crack digital.

Então, se você tem uma idéia que gostaria de desenvolver, em qualquer nível que ela esteja, pense no seguinte: o que é o núcleo de diversão do meu jogo? Depois de delinear isso (e lembre-se: é só o básico do básico, o que o jogador de fato ficará fazendo ao longo do gameplay), faça uma análise pensando se só isso é o suficiente para manter seu público entretido. Às vezes, ao cortar bastante da idéia, vemos que não temos uma boa premissa de design, e sim um conjunto de features.

Vamos olhar o caso do Portal, por exemplo. A sua história é menos conhecida que a do World of Goo, inclusive: um grupo de estudantes do Digipen Institute of Technology fizeram um projeto chamado “Narbacular Drop”, que envolvia uma princesa presa por um demônio e precisava escapar de uma caverna. Mas essa caverna era “viva”, e tinha o poder de criar portais a pedido da princesa. Assim, o jogador tinha que resolver puzzles abrindo e fechando portais e usando a física como ferramenta. E como eles tiveram certeza de que o jogo pegaria? Eles fizeram um protótipo.

“Nossa, então eles gastaram meses desenvolvendo a engine 3d e o sistema de portais antes mesmo de começar a programar o jogo de fato?”

Não. O protótipo era uma simples sala 2d, com uma caixa e uma pequena plataforma, onde você atira bolinhas e essas, quando se interceptam com as paredes, criam elipses que representam os portais. E isso provou o conceito do gameplay do jogo, abrindo caminho para sua implementação completa – e posterior contratação do time inteiro pela Valve para criar o Portal como conhecemos. Você pode inclusive ainda baixá-lo AQUI.

narbac_prototype

A finalização desse artigo foi atrasada em 20 minutos por causa dessa joça.

Normalmente, com idéias inovadoras, é preciso muitos ajustes antes de se ter algo que valha a pena implementar de fato. Chegamos aí ao exemplo do SPORE, que é um dos jogos mais complexos até hoje, se não o mais complexo. Não só porque envolve diversas formas de gameplay, mas também porque utiliza grandes quantidades de conteúdo procedural, simulações de vida artificial e de física. Assim, todos os sistemas foram primeiro prototipados e foi garantido que eles funcionavam bem por si mesmos. E o mais legal é que todos eles foram disponibilizados online. Mesmo que não haja código fonte, é uma excelente fonte de inspiração.

Ok, então imagino que por agora eu já tenha convencido vocês da importância de prototipar antes de colocar o desenvolvimento a todo vapor. Então vamos às dicas:

1- Não foque em features

Eu sei, eu sei que aquela idéia que você teve de colocar a possibilidade de controlar a sua versão de Super Mario com uma tábua de WiiFit e uma torradeira USB é genial… mas isso não define o seu gameplay. Corte qualquer coisa que o seu jogador não vá fazer 80% do tempo e pense nisso depois. Veja o que é o verdadeiro núcleo do gameplay do seu jogo e teste se isso funciona. Lembre-se do princípio do KISS: Keep It Simple, Stupid!

Leitura extra que serve pra qualquer área da TI: “The Number One Reason my Startup Failed

2- Os feios também amam

Apesar dos pesares, isso é um protótipo. É pra ser simples e ser feito rápido. Você não quer gastar semanas desenvolvendo ele, e sim gastar o mínimo de tempo possível. Você não vai precisar de gráficos rebuscados ou de código super otimizado pra testar o seu conceito. Inclusive, eu diria até que, se for muito feio, cheio de bugs, e mesmo assim gostarem e voltarem pra mais, é porque você está na direção correta.

3- Ninguém vai olhar embaixo do tapete (aka: gambiarra não é pecado)

Intrinsicamente ligado com o ponto anterior. Você não precisa de animações calculadas proceduralmente, nem de engines de física para bater uma bolinha na parede. Qualquer coisa serve, desde que mostre exatamente o que você quer mostrar, mesmo que não FAÇA de verdade o que teria de ser feito. Não perca muito tempo pensando em como você vai otimizar o código e baixar a utilização da memória, só faça rodar o que o seu jogo tem que fazer. Obviamente, se alguma parte do seu código for reutilizada posteriormente, faça-o de maneira limpa e (well, duh) reutilizável.

4- You can’t polish a thurd

É isso. Às vezes você vai ter uma idéia, se apaixonar por ela, tratá-la a pão de ló, fazer de tudo que puder. Mas ela vai continuar sendo meia boca. Saiba quando desistir, ouça a opinião dos outros. Se você forçar demais, vai perder tempo que poderia estar usando em outro projeto.

O blog só foi criado e o projeto quis tomar forma porque nós já temos um protótipo e, apesar dele ter sido construído com 2 formas geométricas e 4 cores, ainda dá vontade de jogar. E se tudo der certo, no fim dessa série de posts, vamos disponibilizar pra vocês também testarem e enviarem sugestões.

Links complementares:

1- Postmortem dos projetos do Carnegie Mellon que deram origem ao World of Goo (e inspiraram grande parte desse artigo)
http://www.gamasutra.com/features/20051026/gabler_01.shtml

2-Site de downloads do Narbacular Drop, com o protótipo e vários outros documentos formais de desenvolvimento
https://www.digipen.edu/fileadmin/website_data/gallery/game_websites/NarbacularDrop/

·

5 comments

  • Tinnus · 17/09/2009 at 6:22 pm

    Um adendo muito interessante: uma poderosa ferramenta para desenvolver protótipos rapidamente é o Game Maker. Eu costumo desafiar as pessoas a sugerirem uma idéia simples de gameplay que eu tenho um protótipo pronto, feito em Game Maker, em menos de meia hora 🙂

  • Paulo · 21/09/2009 at 1:27 am

    Bom Post, queridones.

  • Yanko · 26/09/2009 at 11:54 am

    http://2dboy.com/2009/05/27/rapid-prototyping-framework/

    Os caras do World of Goo liberaram um framework pra prototipagem rápida que eles tão usando agora! Notícia antiga mas eu deixei passar =$

  • Review SBGames 2009 – Dia 1 « deVoid() Games · 09/10/2009 at 1:03 am

    […] No outro, precisavam usar uma lib em java pra controlar os personagens, e o resto em C#. Então tentaram usar uma ferramenta pra compilar o código em java pra libs de C#, mas com isso perdiam as capacidades de debug do Java. Então bolaram o seguinte modelo: na fase de implementação, as chamadas são feitas pra API em Java e, depois que tudo já está acertado, eles usam a recompilação para C# (vide Fundamentos 1, Princípio 3). […]

  • Review SBGames 2009 – Dia 2 « deVoid() Games · 11/10/2009 at 4:12 pm

    […] responder de fato, comentou da importância de fazer protótipos, pequenos jogos, e até montar pequenas equipes para isso. Que seja em Flash, ou qualquer outra […]

Leave a Reply

<<

>>

Theme Design by devolux.nh2.me