segunda-feira, 26 de agosto de 2013

Quem não odeia problema de performance?

Todo bom gamer conhece, ou ao menos ouviu falar, no jogo Crysis.  A CryEngine criou esse jogo.  Ele foi famoso por gráficos perfeitos, uma água realista para época, e o mais memorável:  Nem na NASA dava pra jogar esse jogo!  Quem não odeia problema de performance?

O Wreck'n Roll já está em vias de ser concluído.  A versão para Android será posta para teste até o fim do mês (assim esperamos) mas antes precisamos garantir que o máximo de jogadores possa curtir o jogo.  Para isso precisamos fazer um trabalho hercúleo de melhorar ao máximo a performance do jogo.  Em toda a minha experiência como desenvolvedor nunca tive que me preocupar tanto com isso como agora.

Esses últimos dias tem sido para trabalhar em texturas, modelos, chamadas de funções de forma a reduzir ao máximo o uso de processador e GPU.  Ninguém espera que essa tarefa seja fácil, mas o pior é quando alguma coisa da qualidade tem que ser sacrificada.

Felizmente boa parte dos problemas são relativos a chamadas de funções internas ou algum detalhe do modelo que nas proporções do jogo não farão diferença.  Mas ainda existem alguns sacrifícios na luz que precisaram ser feitos.

As screenshots abaixo não são as usuais, e sim as screenshots do Unity, pois tirei-as enquanto media desempenho.





Não esqueçam que há uma versão para download aqui:

segunda-feira, 19 de agosto de 2013

Download da versão Alpha

Conforme prometido, disponibilizamos mais uma atualização da versão Alpha do jogo.

Versão Alpha 0.3

Esta é uma versão de testes compilada para PC que já possui os controles para tela touch screen (ainda não testamos em Windows 8.x com monitor touch). Breve disponibilizaremos uma versão APK para Android.

Atuais características da versão:

  • Modo Single Player:  Crie um novo profile. Ao acessá-lo você irá para a Oficina, onde você receberá um carro simples e $1000 em créditos.
  • Modo Endless Run: Ao clicar em "Start" antes de estar inscrito em um campeonato, o jogo entrará no modo "Endless Run", que, como o próprio nome já diz, é uma pista infinita com obstáculos na qual você ganhará créditos conforme a distância percorrida.
  • Modo Campeonato: Ao inscrever-se em algum Campeonato você estará restrito à próxima corrida deste. Clicando em "Start" você será levado para a pista com outros 3 NPCs e ganhará créditos de acordo com sua posição no final da corrida. O campeonato disponível na versão Alpha ainda não está completo e possui apenas 3 circuitos.
  • Modo Multiplayer (LAN ou Internet): Para jogar no modo LAN, você e seus amigos deverão estar na mesma rede. Clique em "Host Game" ou "Connect" e você será levado para a Oficina, onde deverá escolher seu carro, arma e mina (só uma por enquanto) entre os disponíveis. Como host, você terá o privilégio de escolher a pista através da aba "Race". A corrida só iniciará quando todos estiverem clicado em "Ready". O modo Internet ainda não está disponível.
  • É possível iniciar uma corrida sozinho no modo Multplayer, basta para isso escolher a pista sem que qualquer outro jogador esteja conectado e clicar em "Start";
  • Para sair do jogo use ALT+F4. Nos dispositivos móveis isto será feito através dos botões "Home" ou "Back";
Qualquer bug, favor reportar aqui ou através dos contatos disponíveis no Blog.

sexta-feira, 16 de agosto de 2013

Interface

Essa semana foi oferecido uma série de descontos em "assets" na loja do Unity (ferramenta usada no desenvolvimento).  Uma das ofertas era um conjunto de componentes para geração de interface.

Ao adquiri-la foi possível um trabalho mais elaborado na interface, retirando a antiga interface que, na dura realidade, estava muito ruim.

Seguem algumas screenshots da nova interface.



Assim que todos os elementos técnicos estiverem concluídos uma versão será disponibilizada para testes.

Se quiser acompanhar o desenvolvimento do game, não se esqueça de curtir a página no Facebook ou seguir o @LeoNERDMacae no twitter.

sábado, 3 de agosto de 2013

Realista vs Cartoon

Embora o blog tenha passado um tempo desatualizado o projeto não parou.  Agora, na reta final antes do lançamento, pretendo atualizar mais o blog, o canal no Youtube e a página no Facebook.

Um assunto que gostaria de trazer a tona é com relação a identidade visual do jogo.  Tenho tentado ao longo do período de desenvolvimento adotar uma identidade um pouco mais realista graficamente.  Sabemos que o jogo no qual esse se inspira não tinha essa característica, todavia, achei que seria interessante essa abordagem.

O grande problema é que jogos com gráficos realistas não são caros a toa.  Eles requerem uma grande equipe de desenvolvimento para cuidar de modelos, texturas e iluminação.  E o pior:  Tudo isso tem que combinar.  Os elementos encontrados no game tem que parecer pertencer ao mesmo universo.

Em um dos testes, substitui algumas texturas por uma textura mais simples e apliquei o "shade" de cartoon.  Com isso as sombras ficam mais acentuadas retirando um pouco a percepção de volume.  No PC acredito que essa mudança causa divergência de opiniões.  Todavia, se olharmos para os tablets e celulares, onde uma tela menor, com menos resolução e muitas vezes um processador com menor capacidade, a nova abordagem parece muito mais interessante.  Isso sem falar que produzir conteúdo com essa identidade é muito mais fácil e rápido, permitindo no futuro upgrades mais rápidos para acrescentar carros e pistas novas.

Abaixo, como de costume, algumas screenshots para ilustrar a diferença.








É importante mencionar que as screenshots acima fora tiradas na qualidade máxima do PC.  As texturas estão sendo exibidas com resolução máxima.  O Android e o iOS não possuem essa mesma capacidade.  Muitas vezes um gráfico bom no PC (durante o desenvolvimento) torna-se muito ruim nos dispositivos móveis.  As texturas simples (cartton) conseguem tratar melhor esse problema.

Por último.  É interessante lembrar que trata-se de um pacote de texturas.  Ele pode facilmente ser substituído no futuro, permitindo até que o jogador determine com que modo de texturas ele prefere jogar.