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

CAT | Artigos

 

Paramos de fazer trocadilhos com "devoid", mas jamais pararemos com trocadilhos!

Paramos de fazer trocadilhos com "devoid", mas jamais pararemos com trocadilhos!

Assim como os trabalhos que eu já pus por aqui, nós decidimos colocar nosso Projeto Final de curso (ou TCC, para quem é de TCC) disponível para vocês baixarem/lerem/citarem/verem screenshots antigos do SumoCheckers. E assim como várias outras coisas, esquecemos de postar!

Como acabamos de lembrar, você agora pode baixá-lo aqui, com um nome de arquivo gigantesco para compensar o nome pequeno do trabalho em si:

Download: Dystopia e Sumocheckers

O foco é na implementação e na relação entre game design e limitações técnicas – então talvez sirva pra quem não é de computação também. No mais, é sempre bom ter artigos em português pra citar (nós sofremos com isso na época!)

Quaisquer dúvidas e comentários, falem comigo ou com o Tinnus no twitter, ou comentem aqui mesmo no post!

, , , , , , , , ,

Ressuscitando um trocadilho infame, esse post é pra explicar o que diabos é o Corrida Presidencial. Se você ainda não jogou, clique no link anterior e vá jogar! É melhor ler a respeito só depois de ter visto!

Quando entrei de férias do último período – infelizmente, último as in “o anterior“, e não o “derradeiro“; ao contrário da calúnia que o Tinnus contou no último post, eu infelizmente só me formo no meio do ano, apesar de já começar o mestrado junto com ele esse semestre, sendo a minha futura tese motivo de vários posts que vão vir,  se tudo der certo – resolvi que devia aproveitar o tempo pra aprender o máximo possível sobre plataformas que nunca tinha programado. As minhas metas: Unity3d (que, apesar do Brasil Game Jam, não tive tanto contato direto com ela), Android e Flash.

Como toda boa promessa de ano novo, as coisas não foram bem como eu planejava. Mas nesse caso, não foi só por desleixo, mas sim porque estava enrolado tentando arrumar um financiamento pra deV( )id tomar mais formas… formais (que em breve talvez vire post aqui também). Além disso, teve o projeto final, que terminamos em tempo record e assim que defendermos devemos liberar o texto por aqui. Adicione aí o GameRama e… bom, as famigeradas promoções de fim de ano do Steam (engoli Lara Croft & The Guardian of Light e Mafia II e recomendo fortemente os dois!).

Enfim, um belo dia, resolvi parar de procastinar. Baixei o Flixel e o FlashDevelop, segui as primeiras instruções do FlashGameDojo e BAM, estava tudo pronto pra começar. E eu já tinha uma idéia do que fazer.

As eleições

Um belo dia de 2010, em plenas eleições presidenciais, estava no laboratório conversando com o Tinnus, o prof. Adriano (nosso orientador) e os amigues do time do Brasil Game Jam.  O meu comentário recorrente durante todas as eleições foi que, apesar de isso ser normal em qualquer eleição desde sempre, as mudanças radicais de opinião dos candidatos ia além dos limites de qualquer tipo de vergonha na cara. Independentemente das preferências políticas de cada um, acho que isso deveria ter sido bem notado e, pra minha surpresa, não foi tanto. “Política é assim!” – mas não deveria, na minha opinião.

Os candidatos “favoritos” advogaram contra e a favor de tudo. O problema é que faziam isso ao mesmo tempo, nos mesmos assuntos, dependendo de a quem estivessem falando. São números, é marketing e, infelizmente, o público alvo deles é uma nação inteira com toda a sua variedade, e não um nicho específico com quem se pode exacerbar um ponto de vista. E aí, quando os números mudam, talvez a postura tenha que mudar também.

Uma mudança de postura, pra mim, não é nada mais que natural, afinal de contas, é um meio para um fim; ninguém é eleito sem agradar ninguém e política nunca foi sobre o melhor para todos – se fosse o melhor para todos, sem exceção, não precisaria de política. O que me incomodou era que a mudança de postura era mais profunda, era uma mudança (aparente) de opinião. E mesmo não sendo a mãe do Paulinho, isso me deixou bem impressionado, porque nunca tinha sido tão cara de pau.

O Jogo

Como muita gente sabe, eu sou fan de Canabalt. O Adam Atomic causou uma pequena revolução em jogos de flash porque, depois dele, a quantidade de one button games que apareceu (e alguns deles eram realmente excelentes!) foi impressionante, a coisa ganhou

15 minutos depois...

15 minutos depois...

ahem – mais atenção.  E mais genial ainda foi o pequeno twist numa versão alternativa do jogo, que te ensinava a digitar sem olhar, porque se você não apertasse a tecla certa na hora certa… morte certa! Durante a tal discussão acima, eu me lembrei disso e disse

Seria legal fazer um jogo tipo Canabalt, mas em vez de ser um cara num prédio, ele é um candidato à presidência. Aí aparece uma pergunta e,  dependendo de quem aparecer, ele tem que responder de um jeito ou de outro, senão cai no buraco!” risos risos.

Mas pera aí. Realmente. Era isso. Era assim que eu me sentia em relação às eleições! Eu deveria fazer esse jogo! E eu fiz.

No Corrida Presidencial, você é um candidato à presidência de um país fictício. Você corre numa pista e tem que pular obstáculos mas, para pular, você precisa responder corretamente a sua opinião sobre uma questão. “Espera aí, responder corretamente minha opinião? Se é minha opinião não tem o que errar ou acertar!” – não se você é um candidato a presidência! Sua resposta só é certa se te render mais votos, logo, você tem que responder de acordo com os eleitores que estão te vendo naquela hora.

O timing

Nossa, muito legal, mas por que você não lançou isso na época das eleições, pra ser mais contextualizado?

Por três motivos

  1. Eu tinha coisa pra caceta pra fazer. Avaliação e Desempenho é uma das matérias mais cabeludas do universo, e o tempo que sobrava pra qualquer coisa era bem pequeno;
  2. Eu acho meio [insira palavra negativa aqui] se aproveitar de uma situação polêmica qualquer pra fazer um jogo meia boca pra cair na boca do povo. É tipo roubar cuecas, você caiu na boca do povo, parabéns… e agora? Houve casos de gente que foi contratada pra fazer jogos com foco em política pelos candidatos e, obviamente, esses não caem nem de perto nessa classificação – era gente sendo paga por um serviço, e viver de gamedev no Brasil não é nada fácil, então pelo contrário, fico feliz que tenham conseguido essa oportunidade. Inclusive, tem jogos “oportunistas” desses que até dão resultado, mas normalmente, são só tosqueiras.
  3. Brasileiro tem a memória curta. Eu lembro disso tudo porque me marcou de maneira negativa, e porque germinou essa idéia na minha cabeça. Se não tivesse sido por isso, provavelmente teria esquecido como a maioria das pessoas esqueceu. E talvez lançar isso agora ajude não só a lembrar, mas também que pessoas considerem com mais calma e de cabeça fria o que não consideraram nas eleições que (isso provavelmente todo mundo lembra) viraram briga de torcida de futebol. My daddy beats your daddy!

O 1 foi o causador, o 2 o justificador e o 3 foi uma das coisas que eu percebi com o processo.

Mas o seu jogo também é meia boca!

Aí é que entra uma das outras descobertas associadas. Sim, ele pode ser. Mas eu precisava fazer o jogo. Tem uma expressão que muita gente usa, especialmente em relação a música/arte em geral que é “i just had to get it out of my system“. Às vezes você tem uma idéia e a ânsia de simplesmente fazer aquilo é justificativa o suficiente pra fazer. E é aí que eu percebi que jogos podem sim, ser arte. Arte é isso, é algo que você precisa fazer, você precisa ver pronto, algo que te incomoda de ter na cabeça e não materializar. Por outro lado, isso não quer dizer nem um pouco que eu concorde com baboseiras artsy fartsy que rolam por aí: jogos têm que ser divertidos, ponto. Se não é divertido, ou é um jogo ruim, ou não é um jogo. Mas não tem problema nenhum em não ser um jogo! Só não fique falando que o futuro da maturidade do meio deve ser um tipo esquisito de interactive fiction, exclusivamente. You dick!

Ao mesmo tempo, cada vez mais eu vejo que não tem problema ser um jogo ruim, se for pra passar uma determinada experiência, e aquilo seja o que o público sendo atingido gosta. Por isso, não anuncie outra coisa. Seja honesto com o seu público. Se o seu jogo é não tão legal, mas tem uma boa idéia por trás, faça como eu: fale! Entao aí está: o Corrida Presidencial não é tão legal, mas ele passa uma mensagem que eu gostaria de passar. Nas eleições passadas, muita gente escreveu em blogs, muita gente xingou muito no twitter… e eu? Eu fiz um jogo. E de quebra aprendi a mexer numa plataforma completamente nova pra mim. Tem desvantagens? Acho que não.

Não seja tão duro consigo mesmo, amigue!

Não seja tão duro consigo mesmo, amigue! Você tem seus talentos!

Decisões

Apesar de tudo, queria que o jogo não fizesse apologia a favor ou contra nenhum candidato. Por isso, ele se passa num país completamente desconhecido, cujas cores da bandeira não são definidas, os monumentos são fictícios e onde os cadidatos que você pode escolher são completamente imaginários: João Guerra e Vilma Nassif. Qualquer semelhança é puramente coincidência.

Tem um candidato no jogo, no entanto, que tem muitas referências literais; e eu não vou dizer quem é, senão dá spoiler. Mas se você destravar ele, ganha um achievement! E esse candidato era o único dos três que não merecia estar ali, por um motivo básico: ele nunca travestiu suas opiniões pra ganhar votos. Então a presença dele é mais uma homenagem que qualquer outra coisa. E a vantagem é que você tem N-eas vidas com ele, o que te dá a chance de jogar como você jogaria na vida real: mentir pra ganhar mais votos ou fazer uma longa corrida mantendo as suas opiniões verdadeiras do início até o fim, mesmo que isso signifique ganhar menos votos. Obviamente quem só for jogar 5 minutinhos e falar “heh, que bosta” não vai ter saco de ler até aqui, mas hey, had to get it out of my system!

Finito!

Como eu fiz tudo sozinho (obviamente com ajuda de opiniões e playtests de todos que tão lá nos créditos e outros, mais o Eddy Seabra que me deu umas boas dicas pra deixar a landing page do jogo mais bonitinha), o tempo que eu investi foi um bocado maior que o que se investe num jogo de fim de semana. Sempre se deve tentar fazer o melhor possível dentro do tempo que você tem; o mais difícil é pesar essas duas coisas. Eu cheguei num ponto em que o jogo estava bom-o-suficiente porque 1) já tinha tudo que eu queria passar; 2) era mais divertido do que eu esperava que ficasse e 3) tava na hora de largar o osso e partir pro próximo projeto. Então é isso, embora longe de perfeito, tentei deixar fechadinho e polido dentro do deadline que eu me impus mas, obviamente, ficarei feliz com qualquer sugestão ou bug report que vocês possam colocar aqui nos comentários! Então como sempre, agradeço a todos que jogaram e que leram até aqui. Espero que o jogo e o post sirvam pra pensar uns 5 minutinhos sobre qualquer um dos assuntos, e que tenham sido pelo menos levemente divertidos!

Pra quem quiser, seria de grande ajuda responderem a 4 perguntinhas a respeito do jogo! Nenhuma delas é obrigatória e você não precisa se identificar/dar e-mail nem nada! Basta clicar aqui!

Assim que der, vou fazer alguns posts aqui no blog sobre como usar o Flixel – teve muita coisa boba que eu demorei um bocado pra pegar, então acho que pode ajudar alguém! Pensei até em divulgar o fonte também, mas boy oh boy, depois da semana final em modo XGH, ele virou uma macarronada só que ia atrapalhar mais que ajudar – e a sensação de colocar o código aqui seria a mesma de postar uma foto nu na internet. Sim, nu, na internet. Agora que você está desinteressado no source, fique de olho no twitter pros posts sobre Flash!

Nu. Na internet. Sim.

Nu. Na internet. Sim.

Off I go!

, , , , , , ,

Nós não somos desenvolvedores Linux por padrão. No entanto, sempre tivemos bem forte a idéia de que é importante se desenvolver pensando o máximo possível em ser independente de plataforma – ou seja, sempre que vamos escolher um pacote para plugar na Dystopia, nosso framework in-house, nos esforçamos o máximo pra não ficarmos tentados por features mágicas se elas estiverem atreladas a um SO específico. Grande parte disso também vem da inspiração no post dos caras da Wolfire Games que faz a pergunta “por que rodar em MacOS e Linux?” – e é um must read pra qualquer desenvolvedor.

Nós já tínhamos a idéia de fazer um porte do alpha do SumoCheckers pra Linux, mas por falta de tempo, outras coisas a serem feitas e espaço em HD pra eu instalar uma distro, isso estava com prioridade baixa. Até que o Diego Dukão, gente boa, me perguntou se o nosso jogo era multiplataforma. Eu respondi… bom, a verdade: ele era. Mas em teoria. Como tinha (finalmente) comprado um HD novo e já estava protelando pra escolher distro há algum tempo, decidi instalar um Ubuntu 10.04 mesmo, que seria a opção mais rápida de ficar up-and-running – e provar o conceito.

Este post é pra ajudar qualquer um que venha a ter os mesmos problemas que eu tive com as ferramentas que a gente usou. Então quem tiver interesse em fazer uma viagem pra Taerra Pinguinis, vamonos! Pra quem não tiver interesse, lá no final tem fotos do SumoCheckers atual, e aqui tem uma foto de um pinguim bonitinho:

Cuti cuti

Cuti cuti

Primeiro Problema: Code::Blocks

Ok, começamos bem. Nossa IDE de escolha é o Code::Blocks, e eu obviamente imaginei que a única coisa que eu ia precisar fazer seria abrir o projeto e remover os defines relacionados a código WIN32. Boy oh boy, was i wrong.

O Code::Blocks usa o WxWidgets e, por eu ter escolhido a versão recém-saída do forno do Ubuntu, por algum motivo místico a versão que vem nele é incompatível com a versão que o Code::Blocks usa. Primeira decisão errada: depois de bater cabeça um bocado de tempo, falei “bom, já estávamos querendo tentar o QtCreator mesmo… vamos ver no que dá”. No fim das contas, não valeu nem um pouco a pena tentar recriar o projeto numa IDE que você nunca viu na vida com um deadline de 2 dias, e eu acabei voltando atrás e procurando a solução do problema. Pra todos aqueles que tentaram usar o C::B no Lucid Lynx e se depararam com essa creca, basta seguir as instruções desse link e alternar as versões sendo usadas, que o bicho roda.

Fuck yé, ID-É!

Segundo problema: a dependência esquecida

O Dystopia tem uma interface de redes que atualmente é operada pela RakNet, que é tão boa que é basicamente “se você precisa de alguma coisa de redes pro seu jogo e já não tem no que quer que você esteja usando, use a RakNet”. A versão de testes do SumoCheckers original era completamente dependente de rede, mas nós decidimos adiar essa implementação por enquanto pra versão 3d, então atualmente os dois jogadores são controlados por teclado. O código de redes está lá, mas não está sendo usado. Mesmo assim, o framework ainda precisa da dependência (a RakNet) pra compilar.

Pra quem usa a RakNet, sabe que o Rakkar faz updates constantemente. E talvez já tenha se perguntado onde diabos ficam as versões antigas pra baixar. A resposta é mais simples do que parece: está tudo no diretório raiz do link de download da versão atual – assim, qualquer um que, como nós, não troque de versão dela a cada semana mas tenha perdido o zip original da versão que usa, pode achar as versões mais antigas aqui.

Um bump in the road pra quem não tá acostumado é o CMAKE. Ele é excelente depois que se aprende a usar, mas até pegar o jeito, é chatinho. Felizmente, existe o CMAKE-GUI, que pode ser pego com um apt-get, que facilita BASTANTE o processo. Como eu queria apenas ter algo rodando rápido, gerei o mínimo possível para resolver o problema da dependência, ou seja, se bobear, para uma versão final usando de fato a RakNet, precise rever o .SO.

INTERMISSION: .SO’s

Pra quem nunca programou em Linux, talvez não saiba: .SO’s são “shared objects”, que são basicamente as .dll’s dos sistemas *nix. Aqui tem um pouco mais de informações a respeito. Eu ainda preciso estudar um bocado pra saber como juntar tudo num pacote bonito e instalável, mas diacho, isso é só uma prova de conceito. Moving on!

Terceiro Problema: mais dependências, nomes de arquivo e diretórios

Depois de compilar a RakNet, foi a vez da Ogre3d. Para não ter que esperar o download, peguei o source que já tinha baixado no Windows pra usar. Funcionou, mas a árvore de diretórios não era a mesma, ou seja, tive que mover alguns diretórios e arquivos pra lá e pra cá até deixar tudo certo. A conexão estava lenta nesse dia, então acabou sendo mais rápido fazer isso do que esperar :P

Pra facilitar, aqui vai um guia completo de como instalar do source, que foi o que eu segui.

A IrrKlang, que estamos usando para o som, foi a única bondosa dependência que já vinha pré-compilada. Não tive que fazer nada, apenas avisar pro linker usá-la. Abençoados sejam!

Quando finalmente abri o projeto do SumoCheckers no Code::Blocks, acabou que ele teve alguns problemas na localização de arquivos também. Isso aparentemente aconteceu, pelo menos em parte, por problemas de nome de diretórios e arquivos – lembrando sempre: o Linux é case-sensitive, o Windows não. Sendo assim, resolvi esvaziar o projeto e re-adicionar todos os arquivos de fonte. Depois de bater cabeça um tempo com um arquivo que simplesmente não precisava estar no projeto (e por isso dava erros de compilação), pronto, tudo certo!

Aos finalmentes: HIT COMPILE!

E finalmente temos……………….. um erro. No caso, apenas *UM* erro, literalmente, e era num define: o Tinnus colocou o Sleep() pra Win32 mas não colocou pra Linux, então colocou um #error lá pra indicar que a gente deveria pegar pra consertar depois. Temporariamente usei o sleep(), mas essa função recebe segundos, ao invés de milissegundos, como o Sleep() do windows. O correto seria usar o usleep(), que recebe microsegundos (mnemônico: u é µ) e multiplicar por 1000 pra ficar equivalente.

Finalmente! Compilou! I am Root!”  etc. Até ver que o mouse não funcionava.

Ainda não, mas quase lá.

Ainda não, mas quase lá.

Mas era um problema bobo: estávamos passando “mouse_win32″ pra função que controlava o mouse e, bom, no Linux não deveria ser isso. Por sorte, a interwebz provê a resposta facilmente: pra quem usa OIS para controlar input, provavelmente faz um

pl.insert(std::make_pair(std::string("w32_mouse"), std::string("DISCL_FOREGROUND")));
pl.insert(std::make_pair(std::string("w32_mouse"), std::string("DISCL_NONEXCLUSIVE")));

no Windows. No Linux, isso deve ser um


pl.insert(std::make_pair(std::string("x11_mouse_grab"), std::string("true")));
pl.insert(std::make_pair(std::string("x11_mouse_hide"), std::string("false")));

Resultado do experimento

Oficialmente o SumoCheckers é um projeto cross-platform =)

Precisamos apenas de 3 linhas de código adicional pra que ele rodasse em Linux: o sleep(), que já estava previsto, e as coisas de input da OIS que não previmos, realmente, mas pelo menos era bem óbvio dados os parâmetros que a gente passava. Impressionantemente, foram 2 dias fuçando direto, só nos problemas de dependência e IDE, gastando menos de 15 minutos pra resolver os do nosso código. Com isso, acho que fica bem entendido o título do post. Fazendo as coisas direitinho, o único problema que você vai ter é na sua falta de prática em outro ambiente de desenvolvimento mas, seguindo os padrões da linguagem e usando apenas bibliotecas crossplatform, você só vai precisar escrever seu código uma vez – o resto é só setup de ambiente. Próxima aventura: MacOS, depois que alguém me doar um MacBook! :D

Ironicamente, dias depois descobri que a versão de Windows roda perfeitamente bem no Wine. Mas hey, isso não vem ao caso, vamos a alguns screenshots do estado atual do SumoCheckers, com a nova dama e uma boniteza a mais no cenário:

Gramas

Damas

É isso! Espero que acabe ajudando alguém querendo entrar na tuxlândia.

PS: Estamos precisando de um nome pro evento de gamedev que estamos montando pro ano que vem! Mandem sugestões pelos comentários ou pro @devoidgames!

PS2: o plugin de WordPress que faz os códigos identadinhos é o Syntax Highlighter Plus.

PS3: quem disse “o inferno são os outros” foi o Sartre, vale a pena ler pra entender por completo o título do post =)

PS4: está sendo projetado com ajuda dos desenvolvedores (HAH!)

, , , , , , , , , , , , , ,

Howdy!

Raras são as vezes que nós temos a oportunidade de fazer trabalhos pra faculdade relacionados a jogos – ou porque foge completamente ao escopo da disciplina, ou porque simplesmente não daria tempo de fazer algo com um monte de outras matérias pra se pensar a respeito. Então sempre que eu acabo caindo numa “eletiva de escrever” (como são carinhosamente conhecidas as matérias em que nós não necessariamente tratamos com integrais ou algoritmos), eu tento puxar a sardinha pra esse lado.

Como não estou tendo tempo pra atualizar o blog por causa do spree de fim de período, com um bando de trabalhos pra fazer, resolvi simplesmente fazer trabalhos que eu pudesse postar no blog! Um sobre a inovação da indústria, e o outro sobre… ensino.

Sim, senhoras e senhores, eu fiz um trabalho sobre games aplicados ao ensino. E sim, ele é uma expansão do meu rant sobre a quantidade enorme de coisas do tipo no SBGames do ano passado (ctrl+f “Rant 3″).

Então enquanto não atualizamos aqui com os posts mais técnicos, aqui vai:

a) Evolução e Inovação no Mercado de Jogos Eletrônicos” – feito há alguns anos atrás para a disciplina “Conhecimento e Inovação”. É basicamente um estudo da história do videogame, que por ter sido feito há algum tempo, já está um pouco defasado. Provavelmente a maioria das pessoas que passarem por aqui vai saber da maior parte do que tem lá, mas fica o registro.

b) “Jogos Eletrônicos como Ferramenta de Ensino” – feito semana passada pra “Informática Aplicada ao Ensino”. Esse, pra quem gosta de ler o blog, acho que é mais interessante de ler inteiro. E por favor ignorem o auto-plágio de uma página do trabalho anterior, eu estava trabalhando com deadlines complicadas! O trabalho basicamente expande aqueles pontos básicos de que

  • b.1) Só vai funcionar direito se o que se quer ensinar for inerente ao gameplay;
  • b.2) O foco é tanto o aluno quanto o conteúdo;
  • b.3) Não é nada fácil fazer um bom jogo educativo;
  • b.4) Não é só na escola que existe ensino; e finalmente
  • b.5) Não é porque um jogo não é educativo que ele não vai te ensinar nada!

É basicamente isso. Tem vários exemplos que acabaram não indo pro texto por falta de tempo (e porque o escopo era um pouco fechado, apesar de tudo), mas aí é só ficar de olho no @devoidgames que tão todos lá =)

—Em outras notícias!—

Está cada vez mais perto a confirmação do evento de jogos que o pessoal da deV( )id (eu e o Tinnus) tá montando com o pessoal do LabIC-UFRJ (eu, o Tinnus e o @rafalopes ). Serão dois dias em outubro dedicados a palestras e mesas redondas, abertas a todos os interessados – incluindo, obviamente, uma mostra de jogos independentes. Fiquem de olho! Se tudo der certo, em breve teremos um hotsite ;)

, , , , ,

O post numa casca de nós

Todo mundo já deve ter ouvido falar do projeto de lei do senador Valdir Raupp que determina pena de até 3 anos para quem comercializar, distribuir ou estocar jogos considerados “ofensivos”. Isso rodou as comunidades de jogadores, até mesmo em meios internacionais e motivou uma carta aberta à população por parte da Abragames.

O que nem todo mundo percebeu é que o projeto está, há um bom tempo, em vias de aprovação. A notícia já tem quase dois meses, mas a bigorna só me caiu na cabeça agora: o que exatamente nós, como cidadãos, desenvolvedores e jogadores estamos fazendo a respeito?

Na atual situação, após ser aprovada na Comissão de Educação, o projeto é enviado para a Comissão de Constituição e Justiça. Se lá também for aprovado (corrijam-me se eu estiver errado aqui) ele vai pra mão do presidente, este podendo vetar (enviando de volta para que seja replanejada) ou aprovar, virando, assim, lei de fato.

Pra quem não tiver tempo, nem paciência de ler, já adianto a pergunta chave do post: o que NÓS podemos fazer? Eu pergunto isso com toda sinceridade do mundo, porque realmente não sei. Espero que vocês tenham sugestões, o espaço de comentários está aí pra isso.

Agora, pra quem quiser ler um dos posts gigantes, lá vamos nós.


“Ofensivo”

Resumidamente, o projeto de lei

Altera o art. 20 da Lei nº 7.716, de 5 de janeiro de 1989, para incluir, entre os crimes nele previstos, o ato de fabricar, importar, distribuir, manter em depósito ou comercializar jogos de videogames ofensivos aos costumes, às tradições dos povos, aos seus cultos, credos, religiões e símbolos.

Ignorando completamente a justificativa ignóbil de que

[...] os videogames mudam as funções cerebrais e insensibilizam os jovens diante da vida. Os jogadores frequentes sofrem danos a longo prazo em suas funções cerebrais e em seu comportamento.

dada pelo sen. Valter Pereira, podemos partir para o grande problema do texto: o que classifica algo como ofensivo?

Na real, qualquer coisa pode ser ofensiva a qualquer pessoa. Um cristão pode se sentir ofendido por um jogo como Diablo. Ou então uma pessoa negra ou um latino pode se ofender com o fato das gangues do GTA San Andreas serem compostas por membros de suas etnias. Diabos, a Associação dos Pingüins e Galinhas do Sergipe pode ficar ofendida com o fato do Taikodom ser baseado na ação de voar. Os monstros do planeta Blwarh podem ficar ofendidos com a idéia de que um deles poderia matar uma criança inocente. O próprio Valdir Raupp pode ficar ofendido com o fato desse post mencionar os dois inquéritos do Supremo Tribunal Federal em que ele é investigado, as duas ações penais que ele é réu, a assessora que ele não sabe quem é e o seu ex-assessor que ganhou uma rádio. Aliás, o povo brasileiro inteiro pode se sentir ofendido de ter políticos  por aí apertando a mão do José Sarney também!

"Malditos voadores! MALDITOS!"

"Malditos voadores! MALDITOS!"

Não é que eu ache legal um jogo em que você abate freiras e grávidas golpeando-as com cópias de Mein Kampf. Tudo tem seu limite. Mas quanto mais nos aproximamos da fronteira dos jogos com a arte, esse limite fica mais complicado de se definir. E aí entra Voltaire: “Posso não concordar com a sua opinião, mas vou defender até a morte o seu direito de expressá-la”. E se na verdade esse jogo só mostra pra você o quão ERRADO é fazer isso? Qual a validade dessa provocação? É diferente de um filme como “A Queda” que, mal ou bem, coloca Adolf Hitler numa posição em que pode receber empatia da platéia? Ou o “Tropa de Elite” que faz as pessoas se dessensibilizarem com o uso de tortura como modo de conter a violência urbana?

Com muito estardalhaço foi lançado, há uns bons anos, o “Super Columbine Massacre RPG!“, um jogo que colocava o jogador como um dos assassinos do massacre na escola. Em 2007, ele foi um dos selecionados para o Slamdance Festival (festival de cinema independente que acontece ao mesmo tempo que o Sundance, só pra dizer que é independente MESMO). E no fim das contas, foi removido (com certeza por pressões de patrocinadores, apesar disso ter sido negado pelo diretor do evento). O resultado? Grande parte dos jogos que hoje em dia são verdadeiras pérolas do cenário indie dos jogos também foram tirados da competição pelos seus criadores, em sinal de protesto. Entre elas fl0w, Everyday Shooter, Castle Crashers e Braid.

O que o Jonathan Blow falou a respeito? Basicamente, deu uma de Voltaire. Não é que seja um jogo legal, bem feito ou divertido de se jogar. A discussão transcende o certo e o errado JUSTAMENTE porque o jogo é ambíguo nesse sentido: ele te faz PENSAR. Coisa que a mídia em massa evita a todo custo.

Não é o Voltaire.

Não é o Voltaire.

E por que se preocupar?

Justamente por causa da mídia. Existem incontáveis leis que existem, ninguém sabe nada a respeito e não são policiadas. Por exemplo, alguém lembra que atendimento técnico por telefone, desde 2008, deve funcionar 24/7 e o prazo máximo para resolução de problemas é de 5 dias? Aparentemente a Americanas.com e o Submarino.com não, vide minhas compras de Natal. Mas hey, é lei!

Então por que achar que a lei dos jogos ofensivos não vai cair no esquecimento? A-ha! Mídia. É um assunto polêmico. Centenas de milhares de pessoas acham que jogos eletrônicos são prejudiciais, que são portas para a violência, que são coisa do Diabo. E isso é explorado todo santo dia na mídia. Lembram dos “assassinatos do RPG” há alguns anos atrás? Ou o Duke Nukem ser tutorial pra um bom rapaz, se formando em medicina, resolver descer bala por aí? É culpa dos jogos? Claro que é. Os pais negligentes ou as doenças mentais ignoradas por anos a fio e, principalmente, o fomento da ignorância nas massas obviamente que não são. E isso é explorado o máximo possível. E exposição na mídia é importante pra várias carreiras, principalmente a de… Político!

O problema não são os políticos serem regressistas. É a população. É ela que põe eles lá. Aliás, isso é o grande defeito da democracia: a ignorância da maioria afeta a vida de todos. Então, caso essa lei passe, qualquer jogo que caia na boca de um juiz sem noção vai poder entrar nos trâmites dela como “ofensivo”. E é daí pra baixo.

Mais ou menos isso, mas com a internet também.

Mais ou menos isso, mas com a internet também. E não só com crianças.

E a indústria? Aquela que foi até citada no Gamasutra há alguns dias atrás, por alguém que acha que a gente pode, de fato, deslanchar? Bom, pensem assim: quem é que vai ter interesse em fazer lobby em um país onde os seus consoles não vendem porque os seus jogos não podem ser comprados? E se não tiver lobby, como as taxas de importação pra hardware e software de gaming vão abaixar, diminuindo a “necessidade” de pirataria do grande público? E de que vai adiantar publishers investindo aqui em jogos que não vão vender lá fora, já que os com algum potencial de exportação foram considerados “ofensivos” em território nacional? E finalmente: onde vamos ficar como artistas?

O que fazer, então?

O que eu disse ali em cima vale pra quem (ufa, obrigado) leu tudo até aqui. Não sei, não sei mesmo. Mas coisas me cruzam a cabeça: por que não teve um abaixo assinado FÍSICO no último SBGames a respeito, por exemplo? Eu honestamente não sei se essas coisas contam pra alguma coisa ou não, mas imagino que um bolo de 20kg de papel deva contar mais do que 20 abaixo-assinados virtuais diferentes e desconexos. Não diminuindo a iniciativa, mas quem poderia unificar tudo em um só?

O que a Abragames, como órgão representante da indústria, por exemplo, pode fazer? O que nós, como cidadãos que pagamos impostos, podemos fazer? E como consumidores, o que podemos fazer para que empresas como a  Microsoft e a Sony, que querem entrar no mercado nacional nessa área, ajudem nisso?

A qualquer um pára-quedista que tenha alguma idéia, por favor, comente. Como todas as outras facetas da nossa terra-devoid-games, precisamos ser pró-ativos, antes que seja tarde demais.

, , ,

Pra não deixar o pobre blog abandonado até o turbilhão de fim de período terminar, deixo pra vocês um post café-com-leite que eu fiz pra mandar pro Ideafixa. Eles estavam precisando de um colaborador pra parte de games e pediram pros candidatos escreverem algo.  Eu não entrei, mas o Bruno, que foi um dos escolhidos, escreveu um post bem legal e na mesma linha que vocês podem conferir aqui!

I quote:

“[...]

Como todos já devem ter percebido, a indústria dos games já está tomando as proporções da indústria dos filmes: o recém lançado Modern Warfare 2 foi o maior lançamento de entretenimento em matéria de vendas até hoje nos EUA, e teve um orçamento estimado entre 40 e 50 milhões de dólares. Ah, e ele também parece um filme – e o diretor foi recentemente chamado pra dirigir um longa metragem.

Ah, meu Rio de Janeiro! Terra de samba, da mulata e futebol!

Ah, meu Rio de Janeiro! Terra de samba, da mulata e futebol!

Hoje em dia, as técnicas de texturização e de iluminação de um jogo são bem similares àquelas dos filmes de animação, mas com uma diferença: enquanto cada quadro gasta horas para ser rodado em um filme de efeitos especiais, os jogos têm de ser renderizados em tempo real. Isso é conseguido usando, além de várias outras técnicas, os shaders. Shaders são, basicamente, programinhas que rodam dentro da placa de vídeo e calculam como a luz reagiria numa determinada superfície, definindo forma e textura de um objeto virtual – e fazendo todos esses efeitos legais que você vê na tela.

E com a potência dos computadores e dos consoles atuais, cada vez mais se investe no fotorrealismo. A desvantagem disso? Orçamentos cada vez maiores e o famigerado “Uncanny Valley“, uma situação bolada por um japonês chamado Masahiro Mori, que diz mais ou menos o seguinte: se uma coisa for muito, mas muito parecida com um ser humano de verdade, mas não for IGUAL a um, nosso sistema cognitivo vai estranhar mais do que se fosse MENOS humano, de fato. Soa meio esquisito, mas com certeza você já se deparou com algo que te desse essa sensação.

"Well hello there, handsome!"

"Well hello there, handsome!"

Obviamente, com os avanços na tecnologia, estamos conseguindo nos afastar disso, vide os personagens do (também recém-lançado) Left 4 Dead 2.

Um dos mods mais bem feitos que eu já vi! </comprador de pré-venda indignado>

Um dos mods mais bem feitos que eu já vi!</comprador de pré-venda indignado>

Enquanto isso, no extremo oposto, temos os jogos com gráficos abstratos, cartunescos e nada realistas. E, assim como no cinema, eles normalmente caem em cima da “cena independente”. Sim! Nós temos uma cena independente, e ela é cada vez maior. Com orçamentos apertados (ou nulos), uma boa idéia na cabeça e times pequenos, grandes sucessos foram criados. E algum deles são simplesmente lindos, vide o Braid.   [Nota do editor: era um post café com leite, eu disse]

Tomem isso, engines 3d: nós temos godrays desde sempre!

Tomem isso, engines 3d: nós temos godrays desde sempre!

Que não dá pra realmente perceber o quão bonito é sem ver em movimento:


A sacada é a seguinte: é muito caro fazer um jogo que rode em qualquer máquina e pareça um filme, mas é barato usar poucos recursos e um bom senso artístico. O Begotten, do Elias Mehrige, por exemplo, com certeza não deveria ser tão assustador sem os efeitos de edição – custosos em relação a tempo, mas baratos no orçamento, em comparação aos grandes efeitos digitais. Assim como o Braid usa alguns velhos truques na manga do mundo dos jogos pra parecer uma tela viva.

E qual a moral nisso tudo? Nada é o que parece – mas parece que é mais ainda. E é essa a grande máxima da magia visual dos jogos.

” And I unquote. Provavelmente vocês vão me ver falando de maneira mais extensa a respeito de direção de arte, especialmente porque nós vamos ter que arrumar uma pro SumoCheckers.

Voltamos no meio de dezembro à programação normal!

PS: ainda sobre o Ideafixa, a Maru, a outra colaboradora (e uma excelente artista!) falou sobre o Team ICO. Pra quem quiser conferir, clicai aqui.

, , , , ,

Antes tarde do que nunca!

Jogos têm algo muito importante que, apesar de ser em parte meio subjetivo, ainda pode ser medido por características gerais: o Replay Value, ou seja, o quanto as pessoas vão jogar aquele jogo de novo. Existem várias características que podem influenciar isso, como IA avançada, caminhos diferentes a serem tomados, finais diferentes…

Mas no fim das contas, sempre recai no que a gente falou aqui: diversão. Você pode ter uma história genial, gráficos excelentes, mas se a experiência de jogar for igual a várias outras, as pessoas não vão voltar pra mais. Isso acontece porque temos mais prazer ao passar por experiências novas, experimentar gameplays diferentes, cenários diferentes, situações diferentes. E foi aí que apareceram dois grandes caminhos que são, teoricamente, focados no replay value:  jogos “abertos” e jogos multiplayer.

Jogos Abertos

Um jogo aberto talvez até fuja um pouco da definição normal de “jogo”, já que ele não é planejado pra haver um ganhador, e sim pra ser “vivenciado”.  Alguns são “open-ended“, ou “sandbox“: podem ter um objetivo definido, mas existe um mundo a ser explorado e você completa a história só se/quando quiser. Um grande exemplo disso é a série The Sims: você cuida dos seus bonequinhos, compra coisas pra eles e, pra muitas pessoas, mais ainda: projeta seus desejos no mundo virtual. “Nossa, eu sempre quis ter uma casa gigante e uma mesa de bilhar no meu quarto!” – e um klapaucius depois, lá está tudo isso.

"O meu nome vai ser Mindy e eu vou ter um pônei rosa! ^^"

"O meu nome vai ser Mindy e eu vou ter um pônei rosa! ^^"

A idéia é criar várias simulações de situações, ou de personagens, que façam cada “passagem” pelo jogo parecer diferente da outra – mesmo tendo um set finito de acontecimentos possíveis, quanto mais complexo o seu mundo e os seus habitantes, mais chances existem de acontecerem coisas diferentes. E nisso as séries como The Sims, Grand Theft Auto e SPORE se tornaram especialistas.

Jogos Multiplayer

Qualquer coisa que não seja Single-player é multiplayer, ok. Mas na era dos videogames de 16 bits, você só jogava com duas pessoas, e em 99,9% dos casos, ela tinha que estar na mesma sala que você (pra quem não sabe, a SEGA tinha um serviço de multiplayer via modem, onde você podia até baixar jogos).

Quando os PCs se tornaram plataformas mais populares, ficaram mais comuns os jogos que suportavam multiplayer ponto-a-ponto: você ligava com o seu modem diretamente no do seu amigo pela linha telefônica e os dois jogavam remotamente. Só mais à frente, com a popularização da Internet, o multiplayer de vários jogadores se tornou mais viável. E isso aconteceu mais ou menos na época em que os FPSs eram os grandes jogos de sucesso da indústria. E foi aí que perceberam que, mesmo que o seu single player seja algo muito legal, mas que só tenha graça de ser jogado uma vez, se você colocar um multiplayer excelente, isso aumenta o seu replay value – e o valor do seu produto.

Quake, da iD software, foi uma revolução não só nos gráficos, como também na idéia de multiplayer. Fundou a era dos “FPS’s de verdade”, que contou com sucessos como as séries do Unreal e do Half-Life. E o multiplayer dele até hoje é jogado. Lembrando que o jogo vai fazer 14 anos ano que vem, tão antigo que até as suas duas seqüências já tiveram o código fonte liberado.

Minha primeira namorada.

Minha primeira namorada.

E qual a grande sacada disso tudo, do ponto de vista da arquitetura? No Quake, mesmo o jogo Single Player era como se fosse uma conexão a um servidor local. As regras eram diferentes, mas o management de jogadores era o mesmo. E isso é muito importante, porque abre muitas portas, principalmente em relação a código. A grande essência da coisa é: mesmo que os jogadores estejam na mesma máquina, eles são clientes.

Mas eu não preciso fazer isso pro meu jogo, ele é só single player!” – Concordo com você. Se ele não vai ter nenhuma faceta multi-jogador, realmente é completamente fora do escopo. Mas no nosso caso, como não tivemos nenhuma idéia de puzzle genial, não temos um artista genial, e nem uma IA genial (ainda) e muito menos dinheiro pra contratar uma equipe maior (e genial), decidimos fazer crowdsourcing do trabalho duro e colocar a diversão na mão dos jogadores :D

É sério. De preferência bolo.

No nosso framework, tanto os jogadores (locais ou remotos) como a IA são tratados como “clientes”. O código do servidor instancia o núcleo do jogo e espera por conexões. Isso possibilita que todo o código de controle seja o mesmo para todos os tipos de personagem. Assim, o que acontece não é definido pelo tratamento no código do jogo pra cada tipo de entidade, e sim pela reação das entidades ao ambiente (isso envolve filosofia e cartas-na-manga pro futuro, então não é o foco do artigo, mas um dia eu explico).

E quais as outras grandes vantagens dessa abordagem?

  • Os clientes funcionam como “terminais”, ou seja, podem haver mudanças no servidor sem que isso afete o código do cliente, não sendo necessário fazer deploys de versões novas a cada mudança ou ajuste. Isso é essencialmente importante pra fazer fine-tuning da jogabilidade e do balanceamento;
  • O código de jogo é completamente reutilizado no que tange a lógica do mundo. Não existem checagens se o jogo é multiplayer ou não, só é preciso bloquear a entrada de jogadores caso não seja esse o intuito;
  • O servidor é o juiz: somente as checagens básicas do jogo são executadas no cliente, mas as decisões reais de regras acontecem no servidor. Isso permite maior segurança contra cheats. Claro que quando o sevidor está em um cliente, ele pode sofrer algum tipo de modificação, mas a idéia é sempre fazer coisas reutilizáveis – quem sabe até a época em que você arrume grana pra pagar um servidor dedicado.

Nosso primeiro projeto será essencialmente multiplayer. Talvez vá ser adicionado single player no futuro, mas a IA tem que ser melhor estudada antes de ser plugada – como cliente do servidor local ;)

Curiosidade de sobremesa: reza a lenda (contada por ele mesmo) que quem inventou o conceito de jogos pela internet foi o Al Lowe, criador da série Leisure Suit Larry, em 1990. Confira o causo aqui!

, ,

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/

,

Sep/09

12

Going Indie

Tenho pensado ultimamente sobre o primeiro post “de verdade” do blog, e cheguei à conclusão que não poderia ter algo mais importante e primordial pro pitch do blog do que falar sobre os jogos independentes.

Pra mim é natural aceitar a idéia de que a tecnologia vem em “ondas”: um sistema se estabelece, tem seu auge, decai  e, enquanto isso, outro surge pra tomar o seu lugar. Como estamos tratando do desenvolvimento de jogos aqui, ficamos inevitavelmente ligados aos ciclos do hardware. E aí que entra uma coisa diferente no mercado dos videogames: estamos pegando outra curva enquanto uma ainda não decaiu.

Explico. Os jogos eletrônicos se tornaram uma indústria bilionária na minha geração, então, desde bem moleque, eu pude observar a “curva de subida” do ciclo até a chegarmos na situação atual. E não diria que estamos no auge, já que pra definir um “auge”, temos que estar num processo de declínio, e não é o que acontece, vide os ciclos de vida de uma década planejados pro Xbox360 e Playstation3.

Hoje em dia, existe a definição de “AAA Titles”: são os jogos de grande porte, orçamentos milionários e qualidade superior. Espera, qualidade superior? Quem define a “qualidade” de um jogo? Como forma de entretenimento, os videogames estão chegando ao nível de filmes, para o bem e para o mal. Você pode ter um pipocão com orçamento de 150 milhões de dólares…. que é uma bela porcaria. Muito bonito, muito divertido, trilha sonora épica, mas sem conteúdo, sem história, atuações pífias. E, infelizmente, muitas vezes vindo de gente com história no mercado e de franquias amadas por fans (estou falando com você, George Lucas).

Wolfenstein, 2009, Raven Software

Mostrado: Wolfenstein, 2009, Raven Software. Não mostrado: Inovação no gameplay.

Voltando às curvas: os jogos começaram como uma indústria essencialmente independente. Muitas das grandes empresas dos anos 90, como a Sierra, ou a iD, ou a Apogee, começaram no quintal da casa de alguém que queria uma coisa: fazer jogos porque GOSTA disso. O nível de programação era baixo, os jogos relativamente simples e o retorno duvidoso. E isso foi o embrião dos behemoths atuais . Deu certo porque era bom, as pessoas gostavam e se divertiam com eles. Essa foi a primeira subida de curva: “qualquer um”, com talento e uma boa idéia, podia entrar no mercado.

Então, no fim dos anos 90 e início nos anos 2000, começou a coisa dos AAAs. E aí? Como se fazia pra entrar no jogo? A indústria já estava “adulta” e milhares de sonhadores estavam de fora. Obviamente havia contratações, mas o nível de conhecimento necessário era imensamente maior. Lá fora existem cursos universitários voltados para game design, game art e tudo mais, mas grande parte do conhecimento ainda tem que ser feito “por fora”. E uma vantagem da indústria dos jogos é que, se você é REALMENTE talentoso em alguma coisa, tem grandes chances de arrumar um emprego, independentemente de graduação formal. A VALVE, por exemplo, sempre prestou atenção na cena de MODs, vide a “oficialização” do Counter-Strike e a tomada da franquia do Team Fortress (que pra quem não sabe, foi um MOD de Quake).

Mas o que aconteceu, afinal? Duas coisas, em paralelo: uma relacionada a hardware e outra relacionada à própria indústria.

Na parte do hardware, tivemos o advento do mobile. Jogos para celular e dispositivos móveis se tornaram um novo nicho de mercado, que era similar ao início da “curva original” dos anos 80 e 90: o hardware era pouco poderoso, era necessário mais cuidado pra programar etc. E o melhor de tudo: poucas pessoas podiam fazer um jogo legal, que venderia barato, mas poderia ser o suficiente pra manter uma pequena empresa rodando, e o principal: ganhar experiência. O ponto que estamos agora já é mais avançado, onde já existe investimento de empresas grandes mas, ainda assim, é possível começar do zero.

Assassins Creed para iPhone

Assassin's Creed para iPhone

A grande mudança na indústria é que, com a saturação dos arquétipos de gameplay em jogos AAA, as pessoas começaram a prestar mais atenção nos jogos pequenos, divertidos, e com alto replayability. Sucessos como o World of Goo, ou Plants Versus Zombies, ou até aqueles jogos de flash impressionantemente simples e divertidos se tornaram algo que as grandes empresas estão de olho hoje em dia. E o que esses têm em comum com os jogos de celular? Grupos pequenos de desenvolvimento, bolando coisas novas (ou só visões novas de coisas antigas, vide Braid) e deixando você mais grudado na tela do que o último jogo de orçamento gigante que você comprou por R$100,00 com desconto no Steam.

Mas afinal, pra que o post gigante? Pra dizer que “yes, you can!“. Obviamente todo mundo tem o sonho de fazer um jogo gigante, cheio de detalhes e que seria a coisa mais legal do mundo de jogar. Aí você pára, analisa o mercado e ve que hey, o desafio REAL tá em criar algo simples, que as pessoas queiram de fato jogar over and over again e que você desenvolveu com o seu vizinho e seu primo. E se você fizer ISSO dar certo (em matéria comercial e/ou de notoriedade na “cena”), e conseguir repetir o feito mais de uma vez, talvez seja realmente pra isso que você nasceu.

Go indie. We’re going, you should too ;)

PS: grande parte da idéia do blog é interagir com quem lê. Então por favor, compartilhem suas idéias sobre isso (e sobre os futuros posts) com a gente nos comentários!

,

Busca

Tema baseado no jQ por devolux.org