Projeto de estudo de um game runner
Autor: Thiago Vilarinho | Publicado: 2013-06-29T15:15:00-03:00






Faz um tempo que não posto nada! Só para lembrar o RolimãProject não está arquivado, embora o nome irá mudar, estou aproveitando os conhecimentos que estou adquirindo na faculdade para dar uma melhorada no projeto, embora o tempo seja um pouco curto. E enquanto não solto nada sobre os carrinhos de rolimã, vou soltar este projeto que trabalhei para uma "prova" que teve na minha pós.


O objetivo era criar um jogo de corrida infinita, onde deveria contar com o máximo de features possíveis. O jogo foi&nbsp;programado&nbsp;em C#, até então eu estava programando no Unity com JavaScript, as features que implementei foram estas, junto descrevi as minhas dificuldades:




Follow Câmera



A câmera segue o personagem, no angulo x e z, a dificuldade aqui foi fazer a câmera movimentar quando aperta Start.



Escudo



 Ele destrói qualquer obstaculo em um determinado tempo e se ele colidir antes de o tempo acabar anula automaticamente seu efeito  e começa a spawnar novos itens no cenário. Dificuldade de acertar como ele iria destruir o objeto e seu efeito se anular na mesma hora.


Magnetismo



Atrai as moedas para o jogador, quando ele é ativado, e após término do tempo ele finaliza o efeito e começa a spawnar novos itens no cenário. Foi difícil fazer ele puxar as moedas individualmente e bolar um jeito para ele puxar elas somente em uma determinada distância.







Som



Executa efeitos de som, pulo, impacto. O som não tocava pois o objeto&nbsp;destruía&nbsp;antes.





Moedas



Sistema de coleta de moedas e elas giram individualmente, e são destruídas e atraídas pelo magnetismo. Tive a dificuldade de fazer elas girar individualmente.





Pause



Executa o pause no jogo após o jogador apertar o botão ESC. Quando pausava ele continuava a contar os pontos.







Continue



Quando o jogador morre ele pode utilizar o continue,  ele vem com o escudo pré determinado, a dificuldade foi acertar a forma que ele conta o continue, e ele retomar todas as rotinas até então paradas pela suposto status que ele esta morto.







Spawn Objetos



Ele gera os objetos do jogo na posição pré - determinada, ou seja o cenário tem os itens de spawner e este script lança os objetos nas coordenadas do spawner de forma aleatória, mas com sequências pré - determinadas.&nbsp;Difícil&nbsp;acertar o modo como o script faria isto de forma menos dificultosa e mais personalizável.







Compra de continue



Para dar continue será necessário comprar com as moedas adquiridas do jogo. Dificuldade de acrescentar os continues e subtração do mesmo.







Emissão de partículas



Emite partícula de explosão, quando o personagem colide com o obstaculo usando o item escudo. Chamar a partícula.







Destruição de objetos por distância 



Este script foi feito para destruir os objetos após uma determinada distancia ou condição de um item especial. Como calcular a distancia foi minha maior&nbsp;dificuldade.







Spawn aleatório de cenário 



Ele gera um cenário a frente randomicamente. O problema foi gerar a lógica de quando ele deveria gerar o próximo cenário.







Movimento esquerda direita centro



 O personagem vai para direita, esquerda e centro, utilizando a seta, a dificuldade foi fazer ele transladar de forma que não ultrapasse o valor máximo determinado.




Trap Catapulta



 Após o jogador pisar no botão ele levanta uma barreira. 


GUI de Contagem dos efeitos dos Itens



 ele gera um box onde representa o tempo de efeito do item especial. Sincronizar com o efeito do item em si.












Para quem acompanha o blog deve ter percebido que todos os assets utilizados no jogo são iguais aos do game demo "ProjectViking". Sim realmente, como o objetivo era a programação o tempo era curto, e não queria utilizar apenas cubos, aproveitei todos os assets que tinha em minha biblioteca para criar os cenários. 



Devido ao tempo que era muito curto, o jogo contém apenas 4 tipos diferentes  de cenário sendo que um é o inicial, e 3 tipos de sequência de itens e objetos. Mas pelo objetivo já era válida a quantidade. Para quem tiver curiosidade segue o link do jogo, ou então basta joga-lo abaixo! Se tiverem dúvidas sobre as features implementadas estarei disposto a compartilhar minhas experiências deste projeto!