Giter Club home page Giter Club logo

pet's People

Contributors

geovanecomp avatar leosimoes1 avatar prestoppc avatar rfabbri avatar ttm avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pet's Issues

fazer pet funcionar com HTML5

para esta tarefa tem-se que terminar o curso do udacity de html5 for game programming, para poder ajustar o backend do playn pros sub-botoes funcionarem melhor nos navegadores

Sub tasks:

Redesenhar o codigo do Pet

Colocar em funcoes e classes porque agora so esta tipo um prototipo com tudo feito no mesmo lugar. do jeito que ta as variaveis podem conflitar perigosamente, etc. ta na hora de ir pensando entao em algumas classes a serem usadas no jogo.

Um exemplo seria criar uma classe animacao em vez de Sprite, que seria uma sprite mais leve mesmo, pra usar no jogo. Outra classe que precisamos eh uma de animacao / sprite mas com maior controle das velocidades da animacao. Mas so de colocar funcoes simples e quebrar o codigo em modulos ja vai ajudar.

Plano de acao:

  • uniformizar nomes de funcoes e variaveis para camelcase
  • quebrar o codigo em funcoes
  • redesign geral das classes
  • criar estado do pet como enum, nao como ponteiros para sprites
  • redesign das classes de sprites.
    • uma ideia eh ter todas as imagens num atlas. um unico json diz onde estao os quadros para cada animacao, e o numero de quadros. ai temos um setSpriteType(CHORANDO) que faz ele ler das infos ja carregadas do JSON quais quadros utilizar no atlas tb ja carregado. Eh so implementar direito e na hora de usar o prog. principal fica limpo.
  • uma vez feito isso, mover passivoAtributos pra passiveUpdate em PetAtributes
  • posicao do pet deve ser um atributo e guardado no json
  • mover maquinario de avisos pra uma classe separada
  • strings devem ir pra o json, de forma a facilitar traducao do jogo
  • escrever um melhor piscar(), pre-alocando os sprites em vez de ficar dando new
  • estudar codigo de outros jogos que usam PlayN para reuso e ideias para sprites, etc
  • tentar eliminar if's usando algo mais declarativo para a logica.
    • rever biblioteca react e exemplos para conectar eventos a animacoes

Tarefas futuras: O pet deve ter todo o estado numa mesma classe e json, ou deve ter um json separado para o que seria apenas o DNA do Pet? Tipo, idealmente teriamos um json (ou classe) para o personagem em si (DNA), outro para a fase/estado do jogo e personagem, e outro para as strings que aparecem no jogo, para traducao

Git study: basics

Leia mais sobre git no livro on-line Pro Git, pelo menos os 3 primeiros capitulos:
http://git-scm.com/book
No entanto, procure deixar esta tarefa para quando voce estiver estagnado nas demais.

Melhorias no Pet

Sugestões quanto ao código e outros assuntos em relação ao projeto.

reverter atributo fome

O atributo fome estava com o numero contra-intuitivo:

Fome = 100 significava "lotado" (super cheio), -20 faminto
Mas isso parece mais um atributo "Nutricao".
Leonardo havia invertido essa contagem, mas isso vai interferir na logica do jogo.

Solucao: colocar de volta como era (100 == lotado), e mudar o atributo para Nutricao.

Record Vim screencast tutorial for programming

practical tips on how to config Vim correctly for programming in general and Pet in particular

  • how to setup hooks
  • how to navigate code with ctags
  • how crazy commands and completion work
  • do a unix intro tutorial as well
  • reformulate wiki.nosdigitais.teia.org.br/Manual_do_Novato

codigo da tabela de atributos e eventos

Fazer classe de atributos e demais, de forma que o pet fique extensivel para o restante.

Algumas diretrizes:

  • Codificar a tabela de atributo em um formato JSON estruturado e legivel. Incluir aqui os nomes dos arquivos de sprites etc.
  • Ler esse JSON no programa
  • Fazer um codigo generico que pega as especificacoes do JSON de atributos e vai criando sprites com aquelas especificacoes bem como ajustando os parametros internos do jogo. Dessa forma o Pet fica uma "engine" generica de jogos do tipo Tamagochi - PetEngine?, que pode ser usada para criar qualquer jogo desse tipo.
  • Tudo o que for mais especifico para o Pet pode ser uma sub-classe de atributos, para manter a PetEngine? mais generica possivel.
  • Conhece a ScummVM? Essa engine roda qualquer jogo RPG simples em que voce clica nos objetos (Monkey Island, Loom, Indiana Jones) ​http://en.wikipedia.org/wiki/SCUMM. O Pet tb deve ter uma parte generica e virar uma "tamagochi engine" que pode ser usada ate para jogos 3D tamagochi. Pense em um layer acima do PlayN (que eh uma engine generica p/ qualquer jogo multiplataforma)
    • Ver tambem projeto de pesquisa de IC onde descrevi melhor isso.

Fazer primeiro #1

Logo US

Fazer logo US estilo Day of the tentacle!

Estudar animação, opengl etc

Estudar como sintetizar uma animação, começando por pequenas tarefas, como fazer o pingo andar pelo quarto.

Material:
https://code.google.com/p/playn-bullet-demo/

https://code.google.com/p/playn-samples/source/browse/gldemo/core/src/main/java/playn/sample/gldemo/core/GLDemo.java

https://github.com/dmg46664/playn/wiki/Tripleplay-Animator-Guide

Artistas podem tb criar animacoes no software Flash CS e o PlayN renderiza na GPU do celular:
https://github.com/threerings/flump

Tutorial Games+HTML5

Faca o tutorial de jogos em html5 no udacity:
https://www.udacity.com/course/cs255

Isto sera util no futuro na hora de ajustar o Pet para rodar em qualquer navegador Web e em varios dispositivos. Coordene esta tarefa junto com um estudo de javascript necessario para conseguir fazer o curso do Udacity.

Deixe para fazer isto por ultimo, ou seja, depois que voce ja aprendeu bem git e java e nao consegue mais progredir.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.