15 outubro 2007

Cão vs. Traseiras

Estou a colocar isto para ver se alguém me arranja uma explicação lógica. Bem sei que os cães assimilam de tal forma o comportamento dos donos que conseguem entender e até antecipar determinados eventos. Consigo ver isso no meu e acredito que quem os tenha consiga ver no seu. Mas este comportamento ultrapassa a lógica.

Sempre que eu e a Sónia saímos deixamos o Giga nas traseiras da casa. Sempre que vamos sair os dois, descemos a escada até à garagem e o estafermo do cão NÃO VEM! Não há volta a dar, tenho sempre de voltar a subir as escadas para o encontrar com aquele ar de cachorro abandonado como se suplicasse para não o deixarmos sozinho. Ou seja, se ambos descermos as escadas para sair, ele não desce e fica triste.

Este comportamento seria fácil de entender se sempre que descemos as escadas o Giga ficasse lá ao topo, com aquele focinho de que toda a gente lhe deve e ninguém lhe paga.

Mas não, se eu e a Sónia descermos as escadas sem o propósito sairmos os dois e deixá-lo nas traseiras... ele vem connosco, alegre e contente de rabinho a-dar-a-dar. Já pensei que fosse do que tínhamos vestido, calçado, do que trazíamos nas mãos, mas não há nada que eu consiga identificar que justifique ele saber, sem sequer perder tempo para observar, que não vamos sair os dois e que ele não vai para as traseiras.

Explicações?

12 outubro 2007

Vlad on Game Design VI

Acabámos aqui uma coisinha no nosso joguito e eu fiquei satisfeito. Tenho andado a matutar nas soluções quer de design quer de programação que temos arranjado. A verdade é que para primeiro projecto desta equipa, o jogo é demasiadamente complexo e esse é um facto que só nos apercebemos tardiamente. Nada que nos preocupe, está tudo a correr muito bem nesta fase.

Mas o meu propósito com esta blogada não é transmitir uma mensagem subliminar de um eventual projecto ultra-secreto. Serve mais para identificar algumas alterações na minha forma de ver design e development depois de "sobreviver" a 90% de um projecto.

Das conversas informais que tenho e de alguns posts no GD-PT concluo que a maior parte das pessoas tem uma ideia de que design é ter as ideias e documentá-las. Se na generalidade isto é verdade, no detalhe torna-se mais complicado. Isto porque a documentação tem de ser sintética e objectiva. Acredito que, e embora espere estar enganado, a maior parte dos pretendentes a game designer assumem que se escreverem num design document a generalidade de um objectivo de um elemento de design, o seu trabalho está concluído.

E se estou a escrever esta blogada é para demonstrar o oposto. Estávamos a preparar uma versão para playtesting. Existe um elemento do jogo que permite ao jogador safar-se de algumas situações complicadas. Se este elemento existir em demasia, o jogo perde o desafio. Por outro lado é um elemento bom demais para não servir como recompensa momentânea a uma boa performance do jogador. Estava estabelecido que sempre que o jogador atingisse um determinado threshold, ganhava uma unidade desse elemento. Como queríamos reduzir essa recompensa, considerei uma certa aleatoriedade, uma probabilidade de recompensa.

Estas soluções parecem-me sempre coxas. Por um lado o factor aleatoriedade ofende-me em algo tão importante e tão pouco circunstancial como recompensas porque é a recompensa que alimenta o ímpeto. Por outro precisava de uma solução que não fosse algo tão corriqueiro como "recompensa de duas em duas vezes" ou "uma recompensa por nível". Lembrei-me então da sucessão de Fibonacci, excluindo o 2 e não é preciso pensar muito para ver como pode ser eficaz para reduzir de uma forma recursiva e não aleatória. O resultado final foi 1, 3, 4, 7, 11, etc... não é bem a sucessão, mas serve exactamente o propósito.

Não escrevi nada e decidimos e implementámos uma importante alteração ao design em 20 minutos. Do lado do design não foi usada uma solução tipicamente fácil como aleatoriedade e não foi descrita como um desejo do género "o jogador recebe este elemento de vez em quando". Do lado do desenvolvimento foi escrito um gerador da sequência que é inicializado a cada nível. Resolvemos um problema de design mais complexo do que parece, de uma forma totalmente elegante e eficiente.

Há um ano atrás eu teria escrito dois ou três parágrafos sobre como seria melhor recompensar o jogador e optaria de certeza por uma probabilidade comparada com um valor aleatório. Hoje, detectado o problema, definiu-se uma solução aberta e alterável, pronta para teste sem se escrever uma linha porque o design doc não é mais importante do que a implementação do design ou a diversão do jogador.

10 outubro 2007

É que até chorei...

São 5 e 34 da manhã e encontrei o meu primeiro post no GD-PT. Foi no dia 29 de Novembro de 2005 e de certa maneira pode-se dizer que foi o principio da caminhada que me trouxe aqui. A confusão que ia nesta cabeça... onde eu estava e onde eu estou e quantidade de peripécias que já aconteceram no meio.

http://www.gamedev-pt.net/forum.vertopico.php?tid=229&pag=1

Ainda não passaram dois anos desde o inicio deste terceiro capítulo e de repente, entre a melancolia da madrugada, senti-me orgulhoso do que já foi feito até agora. É que quando abri aquele post... blodasse até chorei.

Se não fosse aquele post onde é que estava um mail que mandei ao Mário Leite e cuja resposta me apontou para o caminho certo? Se não fosse aquele post onde é que estava o Hexadreams e ter conhecido o Marco? E se não fossem estes dois onde estavam os dias a scriptar tresloucadamente com o Kosmic? E o sorriso da minha mulher a jogar a concretização desse trabalho? E a minha realização pessoal?

Se não fosse aquele post se calhar não tinha saído da empresa onde estava, se calhar ainda andava a sonhar acordado com 3D e brutais MMORPGs, se calhar não teria estado esta noite à volta de dialog boxes e estava a dormir para amanhã acordar, cortar a barba, vestir um fato e uma gravata e ir com todo o profissionalismo tratar de mais um projecto desinteressante, insípido, frustrante.

Mas não... daqui a bocado vou tomar um duche, voltar para aqui e continuar a trabalhar num jogo... admitam que é mais do que motivo para nos vir as lágrimas aos olhos.

09 outubro 2007

O que eu vejo

Tirei uma senha, marcava o nº10. Faltavam 5 minutos para o inicio do atendimento a que a minha senha se destinava. Entre a confusão de uma sala confinada e um rápida fugida ao café, optei pelo café. Entrei e dirigi-me ao balcão. A visceral voz bagaceira da empregada perguntou-me o que eu queria e pedi o tal café.

Eram 9 horas e 50 e qualquer coisa minutos da manhã.

Olhei à volta e vi um casal jovem, ele com um Sagres média, ela com uma imperial. Um outro casal sentado numa mesa, ele brasileiro a falar de quantas coisas boas o Brasil tem, ela, portuguesa a concordar "que Portugal não vale nada", ambos a beber cerveja. Noutra mesa um velhote olhava para o trânsito na rua com as mãos numa velha bengala e não bebia nada. Encostado ao balcão, outro homem, sujo, sem cuidado, muito macho, buburricava uma bebida espirituosa que não consegui identificar. Entre o meu café e olhar para quem me rodeava, passaram os 5 minutos que faltavam para se iniciar o atendimento para o qual eu tinha senha.

Eram 10 da manhã, mais coisa menos coisa.

Por momentos não fiquei incomodado com o facto de não ter cortado a barba e não me ter preocupado por estar de fato de treino. Por momentos olhei à volta e vi o quão decadente é a classe média portuguesa. É uma classe média que bebe, uma classe média que não tem horários, que não tem cuidados, que se despreza e se queixa de ser desprezada. Somos todos nós que não cumprimos um horário, um objectivo, um prazo e que não temos consciência que é esse o atraso do nosso país.

O atraso do nosso país somos nós. Culpamos governos, dizemos que não faz mal fazermos mal porque os outros também o fazem e "isto é dos espertos". O que eu vejo é isto... e tu?

08 outubro 2007

Se calhar não ouvi bem...

A minha rotina matinal começa quando o meu cão me lambe as orelhas. É uma espécie de bom dia que ele sabe funcionar em beleza respondendo ao "Vai acordar o dono!" que a minha mulher lança da casa de banho logo a seguir ao duche. O passo seguinte, depois de tirar o bicho da minha almofada (porque se há mania que me chateia é o Giga por-se em cima da almofada) é ligar a TV do quarto na Sic Noticias, para entender que trânsito e o que nos reserva a meteorologia, duas informações que são para mim 100% inúteis mas que parecem confortar a rotina diária da minha mulher e que são reminiscências das minhas outras vidas.

Agora que gastei um parágrafo de coisas nenhuma, mas escrito com toda a boa vontade, vou ao que interessa. Na Sic Noticias, entre o meu esfrega-olhos e coça-o-pescoço estava um jornalista a falar, presumo eu, de jogos e de consolas de jogos porque falou na XBox, na PS3, no Halo e no Bioshock. Tudo corria bem na sua apreciação limitada do mundo dos videojogos e suas consolas até que falou do Bioshock que conclui com a frase "um dos jogos mais aguardados que prova que os casuals também são para adultos sendo este jogo marcado como para maiores de 18."

Digo-vos sinceramente que parto do principio que ouvi mal. Nem estou a ser sarcástico nem nada, acredito que o facto de o meu cérebro ter acabo de sair do Wonderland e que o movimento para depositar o cão fora da almofada me tenha distraído o suficiente para não ter recebido a mensagem porque há quase tantos erros quanto palavras.

Venha o nº2 da Hype... porque se o melhor que o jornalismo português tem para apresentar sobre videojogos é a guerra Xbox vs. PS3 e a utilização gratuita da palavra casual na apreciação de um jogo, então e infelizmente só nos sobra mesmo Calvinho e companhia para levar a bola para a frente e é mau não haver concorrência.

Mas... continuo a achar que se calhar não ouvi bem...

02 outubro 2007

A solução para o Gamedev Nacional

Não andarei muito longe da verdade se disser que quase 100% dos leitores assíduos do Blodasse estão de alguma forma relacionados com a realidade do Gamedev Nacional. Pois meus caros, tenho aqui a solução: ESPANCAMENTOS SUMÁRIOS! Esta solução é linda pela sua simplicidade!

É que de repente senti-me como que arrebatadamente imerso num mar de verdade e paz e vai daí achei que anda tudo aparentemente tão bem comportado e profissional que, quem for só aparências, leva nas nalgas com um régua cheia de pregos e vidros partidos! E isto aplicava-se a todos os que lesassem o desenvolvimento de jogos em Portugal!

E vai daí podemos juntar os posers, os "bons", os mentirosos e os putos parvos... mas para estes, dado que não prejudicam o gamedev, apenas o perturbam, arranjávamos métodos mais brandos, tipo privação de sono ou tortura ligeira.

Como é que se decidia? Na base da queixinha! Ora criava-se um email, recolhiam-se testemunhos e todos os meses fazia-se uma votação com nomeados para castigo e posteriormente segunda votação com castigo a aplicar ao vencedor entre os nomeados.

Garanto-vos que em seis meses o gamedev nacional mudava de figura!

Ah é tão bom sonhar!

p.s.: quem tinha saudades de uma posta na tag de disparates ponha o braço no ar!

Partilha de Sabedoria

Aos tempos que eu ando para escrever isto mas não sabia por onde começar. Já o debati com outras pessoas, principalmente as que conhecem a forma como entrei no gamedev e até tive para aqui uns rants sobre o tema, um deles deu direito ao post mais comentado aqui no Blodasse. Quis o blog do Elf Maniac, mais especificamente este post que eu considerasse uma visão diferente sobre o tema.

Então qual é o stress? Deve acontecer noutras actividades e comunidades, mas no gamedev é particularmente interessante. Por um lado, a informação que existe é muitas vezes teórica ou densa ou pouco focada naqueles que de facto precisam dela: quem começa. A informação que existe é, regra geral, útil a quem está numa fase onde já não é bem um novato mas também não é alguém com uma experiência considerável.

Os verdinhos novatos não têm, DE FACTO e na minha humilde(!) opinião, acesso a informação qualificada e afundam-se num mar de opiniões mal formadas ou formadas a partir de outras opiniões que "alguém muita-bom disse".

Os gajos com experiência sabem tudo! São verdadeiros poços de sabedoria e não têm nada a aprender com ninguém e também não têm (ou não querem ter, porque são importantes) tempo para combater o tal mar de opiniões. Afinal... opinar fica-lhes mal, não vão eles estar enganados.

Depois aparecem os gajos como eu, que vêm de outras áreas, que têm uma experiência profissional apresentável e que gostam e querem partilhar o que sabem de outras áreas e o que vão aprendendo de gamedev. E pela alma da minha mãezinha que se há coisa que me dá gozo é partilhar informação e tenho-o tentado fazer. Dois tutoriais no portal GameDev-PT e já fiz mais quatro que não publiquei nem tenho vontade de publicar, um projecto, inspirado pelo extraordinário Kosmic que tenho pouca vontade de implementar e tantas, mas tantas conversas e documentos que já troquei e tenho cada vez menos vontade de trocar.

É que em termos estatísticos recebi aí 10% de discussão amigável sobre os temas onde eu e quem discutiu comigo aprendeu qualquer coisa e tudo o resto foi uma inflamada onda de desconfiança sobre aquilo que eu sei, que eu aprendo e que pretendo partilhar por parte de quem podia aprender e com quem eu gostaria de discutir e trocando ideias, experiências e conhecimento, crescermos mais e juntos.

Já formei técnicos séniores de TI, já dei aulas de guitarra, já dei treinos de artes marciais e defesa pessoal, já formei gestores de projecto, ensinei vocalistas, guitarristas e baixistas a estar em palco. Caraças, até já ensinei ilusionismo.

Para isso, também tive de aprender e crescer com alguém. Nunca vi, nem nas comunidades mais fechadas, tamanha dose de sobranceria, desconfiança e inabilidade de aprender em comunidade como no GameDev e para piorar é de todas as áreas onde exerci um papel pessoal ou profissional, a mais atrasada e é por isto que a minha vontade de partilhar, falar, discutir e aprender em termos de contexto técnico e nacional é cada vez menor.

Temos todos que dar as mãos e tirar as palas dos olhos. Assumir no que é que somos bons, no que é que outros são bons e trabalhar juntos. Se o melhor que a maioria das pessoas que em Portugal, profissionais ou amadores tem para fazer perante as ofertas dos outros é desconfiar e descartar, então a nossa evolução será mais lenta e pior para todos.