domingo, 24 de fevereiro de 2013

Kane v0.2

Versão 0.2 saindo quentinha do forno!

Antes disso, quero compartilhar brevemente alguns acontecimentos que estão rolando em minha vida.
Bot's, et's e fantasmas, por favor, peguem leve nos comentários.

Primeiro de tudo: Em algumas semanas, vou me mudar para São Paulo. Lá começarei uma nova etapa de minha vida.
Lembram do Guilherme Menezes que mencionei nesse post? Então, ele é lá de SP. Nós mantivemos contato pela internet. Conversa vai, conversa vem, e eu acabei entrando no projeto que ele está começando. Vou ser o programador da equipe!
Graças a isso já arrumei lugar para morar e tudo mais.
Sorte? Destino? Acaso? Não sei, mas as coisas estão indo muito bem.
No futuro darei mais informações sobre o jogo :)

Lá em SP também farei o curso de especialização em games, do Senac. Sinceramente, não estou esperando muito do curso, não sou mais tão ingenuo quanto era antes de entrar na faculdade. Mas mesmo assim acho que vai ser bacana conhecer a galera que está começando na área de jogos, além de ser mais fácil aprender as coisas no curso do que por conta própria.

Segundo: Bom, isso realmente não é grande coisa, mas acho legal deixar o registro aqui. Até por que eu só comecei esse blog por causa do TCC.
Eu ganhei o prêmio de melhor TCC do curso de Ciência da Computação de 2012, da UNIFRAN. Isso me dá direito a escolher um dos cursos de pós-graduação que eles oferecem, DE GRÁTIS. Como estou indo pra SP, escolhi um à distancia. MBA em Gestão de TI. O nome é bonito, mas eu realmente não estou com nenhuma expectativa sobre esse curso. Só estou pegando por que é de graça. Mas enfim, meu currículo agradece.

Terceiro: Eu pensei que haveria um terceiro, mas não tem. Acabaram as novidades. Vamos ao Kane!

Log de Mudanças:

- Implementado sistema de reset de puzzle.
- Implementado sistema GameOver v1.
- Implementado Limite da Câmera nas fases abertas, evitando a "parede invisível".
- Implementado sistema que limita a posição do mouse na área do controle (falta
implementar o mouse livre durante os menus).
- Corrigido Bug de colisão com portas. O personagem entrava em porta mesmo
sem colidir com elas.
- Corrigido o Bug do personagem cair no chão quando sair de uma casa (só acontece em
computadores mais fracos).
- Corrigido Bug de NPC's caindo das plataformas, ao dar o primeiro load no Level.
- Corrigido Bug das funções OnMouse, utilizadas para clicar nos botoes no controle.
- Adicionada Tela de Game Over.
- Adicionado cursor do mouse.
- Modificado último puzzle da primeira fase.
- Aprimorado movimento do NPC. Mais rápido quando é normal, mais lento quando é zumbi.
- Aprimorado movimento do Kane. Mais rápido quando não entra em contato com um zumbi,
mais lento quando está em contato com um zumbi.

A principal modificação nessa atualização é a respeito do mouse.
Usar o mouse para desligar as TV's é a mecânica básica do jogo. O que acontecia, até agora, é que o jogador podia mexer o mouse por toda a tela. Para alterar o estado de uma TV(ligar, desligar, avançar, pausar, etc), é necessário posicionar o mouse em cima do controle e, então, clicar no respectivo botão.

Isso, ao meu ver, é um grande problema de game design... não é tão intuitivo quanto eu gostaria. Em alguns testes que fiz, as pessoas simplesmente clicavam a esmo, em cima das TV's ou nos zumbis.
É claro que uma mensagem dentro do jogo resolveria o problema, mas quero evitar esse tipo de coisa. Deixa o jogo lento e quebra a imersão.

Para resolver o problema, decidi limitar a posição do mouse dentro da área do controle remoto. Tudo lindo, tudo fácil... até eu começar a implementar. Acontece que o Unity não permite que você controle a posição do mouse diretamente. Você pode acessar as mais diversas propriedades do rato, mas não pode setar nenhum valor. Aparentemente, existem algumas dll's que contornam esse problema, mas com isso rolam problemas de compatibilidade com Linux e Mac.

A solução foi implementar o meu próprio mouse e refazer todas as funções do tipo "OnMouse". É mais um episódio da série, PO#$%_PQ_NAO_DA_PRA_FAZER_ISSO_NO_UNITY_?
Mas no fim deu tudo certo.

Dessa vez sem ibagens.

Té++;

Nenhum comentário:

Postar um comentário