Archive for the ‘DEMO’ Category

Papervision Tile

abril 2, 2009

Olá pessoal, estava me preparando para montar um novo tutorial sobre tile system, já estou a algum tempo uma atualização para a estruturação de cenários isométricos, mas eu pensei “por que não criar um cenário 3D tile?”

swf

Clique na imagem para testar.

Gostou, este será o nosso produto final, pois bem vamos seguir com o tutorial.

Lógica:

A lógica é bem simples, usaremos 2 vetores diferentes, um deles será para mostrar qual será o tile que usaremos na posição e o outro vetor que indicara a altura. Criaremos os loops para percorrer o vetor e criar cubos num plano 3D. Como termos alguns cubos suspensos, completaremos os espaços vazios com cubos, e colocaremos uma função para rotacionar nosso Field.

Tiles:

linkage

Estes sãos os movieclips que usaremos no nosso arquivo .fla, todos eles com exceção do water são estáticos, não possuem nenhum freme alem do desenhado, já o water eu coloquei uma pequena movimentação para dar um efeito de água se movendo. Todos os movieclips estão com a propriedade linkage definidos.

Usaremos a classe MovieAssetMaterial para importarmos cada movieclip para um material diferente

 public var matGrass:MovieAssetMaterial = new MovieAssetMaterial("grass");
 public var matBase0:MovieAssetMaterial = new MovieAssetMaterial("base0");
 public var matBase1:MovieAssetMaterial = new MovieAssetMaterial("base1");
 public var matFlower:MovieAssetMaterial = new MovieAssetMaterial("flower");
 public var matWater:MovieAssetMaterial = new MovieAssetMaterial("water", true);

Tiles x Materiais

materiaislist

Como vocês podem ver na imagem acima montaremos cubos para usarmos como tile, por enquanto vamos nos focar em criar as listas de materiais para as respectivas faces dos cubos.

 public var w:MaterialsList = new MaterialsList(
    {front: matWater, back: matWater, left: matWater,
     right: matWater,  top: matWater,  bottom: matWater});
 public var g:MaterialsList = new MaterialsList(
    {front: matBase1,  back: matBase1,  left: matBase1,
     right: matBase1,  top: matGrass,  bottom: matBase1});
 public var f:MaterialsList = new MaterialsList(
    {front: matBase1,  back: matBase1,  left: matBase1,
     right: matBase1,  top: matFlower,  bottom: matBase1});
 public var b:MaterialsList = new MaterialsList(
    {front: matBase0,  back: matBase0,  left: matBase0,
     right: matBase0,  top: matBase0,   bottom: matBase0});

Assim nosso Tile ficara formatado da seguinte forma.

 public var arrayTile:Array = [
  [w,w,w,w,w,w,w,w,w,w],
  [w,w,w,g,g,g,g,w,w,w],
  [w,g,g,g,g,g,f,w,w,w],
  [w,f,g,f,g,g,g,g,w,w],
  [w,g,g,g,f,g,g,g,w,w],
  [w,w,g,g,w,g,g,g,w,w],
  [w,w,w,g,g,f,g,g,w,w],
  [w,w,w,g,g,g,g,w,w,w],
  [w,w,f,g,g,f,w,w,w,w],
  [w,w,w,w,w,w,w,w,w,w]];

Tile x Altura

Para não poluir o vetor de tile decidi usar um vetor separado para mostrar o posicionamento do bloco no plano R3.

 public var arrayTileHeight:Array = [
  [0,0,0,0,0,0,0,0,0,0],
  [0,0,0,0,0,0,0,0,0,0],
  [0,0,0,0,2,2,3,0,0,0],
  [0,3,2,0,1,1,2,0,0,0],
  [0,2,1,1,1,1,2,0,0,0],
  [0,0,1,1,1,1,1,0,0,0],
  [0,0,0,1,1,0,0,0,0,0],
  [0,0,0,0,1,0,0,0,0,0],
  [0,0,0,0,0,0,0,0,0,0],
  [0,0,0,0,0,0,0,0,0,0]];

Nós usaremos cada cubo com o tamanho 30x30x30 analogamente para subir um nível os blocos temos que multiplicarmos a posição demonstrada no vetor por 30.

espaco

Com isso acabamos criando espaços vagos.para resolvermos isso criaremos um loop que criará blocos do tipo base da altura 0 ate a altura definida.

Criando Tiles

A diferença dos tiles que vimos em R2 para o R3 é que alteramos a propriedades x e z com os loops ao invés de (x,y) a propriedade y utilizamos para altura.

public function Objetos () {
  for (var i = 0; i < arrayTile.length; i++) {
      for (var j = 0; j <  arrayTile[0].length; j++) {
          //Criando blocos extras na altura
          if (arrayTileHeight[i][j]>0) {
             for (var k=0; k< arrayTileHeight[i][j]; k++){
                var obCubeb:Cube = new Cube(b,30,30,30);
                cena.addChild (obCubeb);
                obCubeb.x = i * 30 -150;
                obCubeb.z = j * 30 -150;
                obCubeb.y = k * 30;
             }
          }
          //Criando bloco Tile
          var obCube:Cube = new Cube(arrayTile[i][j],30,30,30);
          cena.addChild (obCube);
          obCube.x = i * 30 -150;
          obCube.z = j * 30 -150;
          obCube.y = arrayTileHeight[i][j] * 30;
      }
    }
    addEventListener (Event.ENTER_FRAME,Loop,false, 0, true);
 }

Código extra: Movimentando a câmera

Para fazer a movimentação da câmera utilizei a seguinte lógica, criei um objeto do tipo plano no centro de nosso cenário, e travei a câmera nele com o método.

obcamera.lookAt (centro);

Assim independente o posicionamento do x, y e z da câmera, ele sempre terá como foco o centro do mapa. Agora podemos movimentar o x e z da câmera para circular o cenário que ele nunca mudara seu foco.

A cada frame colocaremos as propriedades x e z somarem um valor, valor este que estará armazenado em um vetor. Se sempre somarmos valores nossa câmera sempre se afastará, com as possibilidades definidas em um vetor podemos manipular para ele alem de somar subtrair também para trazer a câmera de voltar.

Código Completo

Arquivo main.as

package {
   //flash
   import flash.display.MovieClip;
   import flash.events.*;
   //Papervision
   import org.papervision3d.objects.primitives.Plane;
   import org.papervision3d.objects.primitives.Cube;
   import org.papervision3d.scenes.Scene3D;
   import org.papervision3d.render.BasicRenderEngine;
   import org.papervision3d.cameras.Camera3D;
   import org.papervision3d.view.Viewport3D;
   import org.papervision3d.materials.MovieAssetMaterial;
   import org.papervision3d.materials.utils.MaterialsList;
   public class main extends MovieClip {
      //papervision
      public var cena:Scene3D;
      public var viewport:Viewport3D;
      public var camera:Camera3D;
      public var renderer:BasicRenderEngine;
      public var centro:Plane;
      //material
      public var matGrass:MovieAssetMaterial = new MovieAssetMaterial("grass");
      public var matBase0:MovieAssetMaterial = new MovieAssetMaterial("base0");
      public var matBase1:MovieAssetMaterial = new MovieAssetMaterial("base1");
      public var matFlower:MovieAssetMaterial = new MovieAssetMaterial("flower");
      public var matWater:MovieAssetMaterial = new MovieAssetMaterial("water", true);
      public var w:MaterialsList = new MaterialsList(
         {front: matWater, back: matWater, left: matWater,
          right: matWater, top: matWater, bottom: matWater});
      public var g:MaterialsList = new MaterialsList(
         {front: matBase1, back: matBase1, left: matBase1,
          right: matBase1, top: matGrass, bottom: matBase1});
      public var f:MaterialsList = new MaterialsList(
         {front: matBase1, back: matBase1, left: matBase1,
          right: matBase1, top: matFlower, bottom: matBase1});
      public var b:MaterialsList = new MaterialsList(
         {front: matBase0, back: matBase0, left: matBase0,
          right: matBase0, top: matBase0, bottom: matBase0});
       //tiles
       public var arrayTile:Array = [
        [w,w,w,w,w,w,w,w,w,w],
        [w,w,w,g,g,g,g,w,w,w],
        [w,g,g,g,g,g,f,w,w,w],
        [w,f,g,f,g,g,g,g,w,w],
        [w,g,g,g,f,g,g,g,w,w],
        [w,w,g,g,w,g,g,g,w,w],
        [w,w,w,g,g,f,g,g,w,w],
        [w,w,w,g,g,g,g,w,w,w],
        [w,w,f,g,g,f,w,w,w,w],
        [w,w,w,w,w,w,w,w,w,w]];
       public var arrayTileHeight:Array = [
        [0,0,0,0,0,0,0,0,0,0],
        [0,0,0,0,0,0,0,0,0,0],
        [0,0,0,0,2,2,3,0,0,0],
        [0,3,2,0,1,1,2,0,0,0],
        [0,2,1,1,1,1,2,0,0,0],
        [0,0,1,1,1,1,1,0,0,0],
        [0,0,0,1,1,0,0,0,0,0],
        [0,0,0,0,1,0,0,0,0,0],
        [0,0,0,0,0,0,0,0,0,0],
        [0,0,0,0,0,0,0,0,0,0]];
       //Camera
       public var cam:int = 0
       public var a:int = 0;
       public var arrayCam:Array = [[-45,0],[0,-45],[45,-0],[0,45]];
       public function main () {
          Set ();
          Objetos ();
       }
       public function Set ():void {
          viewport = new Viewport3D(400,300,true,false,true,true);
          addChild (viewport);
          cena = new Scene3D ;
          renderer = new BasicRenderEngine ;
          camera = new Camera3D ;
          camera.focus = 100;
          camera.zoom = 10;
          camera.x = 650;
          camera.z = 450;
          camera.y = 700;
          centro = new Plane();
          centro.y = 0;
          centro.z = 0;
          centro.x = 0;
      }
      public function Objetos ():void {
          for (var i = 0; i < arrayTile.length; i++) {
             for (var j = 0; j <  arrayTile[0].length; j++) {
                //Criando blocos extras na altura
                if (arrayTileHeight[i][j]>0) {
                    for (var k=0; k< arrayTileHeight[i][j]; k++){
                       var obCubeb:Cube = new Cube(b,30,30,30);
                       cena.addChild (obCubeb);
                       obCubeb.x = i * 30 -150;
                       obCubeb.z = j * 30 -150;
                       obCubeb.y = k * 30;
                    }
                }
                //Criando bloco Tile
                var obCube:Cube = new Cube(arrayTile[i][j],30,30,30);
                cena.addChild (obCube);
                obCube.x = i * 30 -150;
                obCube.z = j * 30 -150;
                obCube.y = arrayTileHeight[i][j] * 30;
             }
          }
          addEventListener (Event.ENTER_FRAME,Loop,false, 0, true);
      }
      public function Loop (e:Event):void {
          a++ ;
          rotaionCamera (camera,arrayCam[cam][0],arrayCam[cam][1])
          if (a % 30 == 0){
             nextCamera()
          }
          renderer.renderScene (cena,camera,viewport);
      }
      public function nextCamera():void{
          cam= cam+1
          if (cam>=4){
             cam = 0
          }else if (cam<=-1){
             cam = 3
          }
      }
      public function rotaionCamera (obcamera:Camera3D,newx,newz):void {
          obcamera.x+= newx;
          obcamera.z+= newz;
          obcamera.lookAt (centro);
      }
   }
}

Obs: Lembrando que estamos fazendo um aplicativo utilizando as classes do papervision, não podemos esquecer-nos de importalas.

+ Sprites

março 24, 2009

Olá pessoal, estava remodelando o jogo FireRunaway do jeito que ele esta eu já acho legal, mas a emoção do jogo só começa a vir mesmo depois de uns 3 mim jogando.mas o post de hoje não vai ser para falar sobre a continuação do Fire Runaway, e sim para falar de sprites.

Enquanto eu estava trabalhando nessa nova versão, tive a curiosidade de ver como seria uma fase completa de um game de plataforma tradicional no estilo Mario, mas para ficar dando Print Screen em cada tela daria muito trabalho foi quando eu decidi procurar no Google e encontrei uns sites muitos bons de sprites.

http://ian-albert.com/
Neste site vocês encontraram sprites de mapas, fases completas de games como Mario, Zelda, Ultima.

donut_plains_4

master_sword

http://sdb.drshnaps.com/
Este site possui uma infinidade de sprites estáticos de animações quadro a quadro.

Aproveitando a brincadeira decido fazer o teste em uma das fases do Mario world usando pedaços de códigos do meu jogo FireRunaway.

madrugaworld

Clique na imagem para poder testar a demo

Espero que tenham gostado e assim que encontrar mais sites legais de sprites eu vou postando aqui, quem souber de outros sites bons podem postar o link aqui também. Obrigado pela sua presença e até a próxima.

Recapitulando

janeiro 30, 2009

Olá pessoal, Estou preparando uns tutoriais novos, alguns deles relacionados a papervision, provavelmente no meu próximo post já terá algo relacionado. Outra boa noticia é que o Rafael (Coisas Comuns 🙂) me disponibilizou um banco de dados no servidor dele para que eu possa salvar os recordes, com isso, farei um update nos jogos que já estão prontos e tentarei terminar os imcompletos.

Eis aqui parte do futuro

thumb_ppv

Essa é a primeira demo de um jogo que eu estou fazendo utilizando Papervision 3d e actionscript 3,  Para matar a curiosidade, no canto inferior dessa demo, tem uma formula matemática, essa formula também é conhecida como DPPR3 (distancia do ponto ao ponto em R3)  é com essa formula se faz a verificação de Hit nesse jogo. O jogo ainda esta na sua fase de aperfeiçoamento, ainda esta sujeito a alterações.

Para quem não parou para jogar os jogos prontos e testar as demos segue abaixo os links para vocês fazerem o test drive.

Jogos:

Clique nos Links ou nas imagens para jogar.

thmb_mariocard2 thumb_spaceinvaders

thumb_mariocard thumb_fire

thumb_ovada

thumb_sneak

Demos:

As Demos são componentes de futuros jogos. Não são jogos prontos, podemos dizer que são jogos incompletos.

isometria

False 3d

Agradeço a presença de vocês e voltem sempre.

Finalmente com CS 3

junho 10, 2008

今日は皆-さん. Em fim estou com CS 3. Não Não a imagem acima é só ilustrativa o CS que eu estou falando é o Adobe Flash CS3. Ainda não tive a oportunidade de fazer o test drive, mas logo logo espero estar postando algo sobre as mudanças do flash 8 para essa nova versão.

Como havia prometido aqui vai a Demo do novo Game que eu estou fazendo, para variar mais uma demo incompleta^^ Mario Kart Hero é um Puzzle de corrida, e com gráficos baseado no game Mario Kart de Snes. E podem deixar que até o fim da semana eu estarei postando a 4º parte do tutorial do Tile System e algumas imagens do chutulu em Rio.vlw pessoal. Até a próxima, CYA また見てね.

1 de Maio – Descanso?

maio 1, 2008

A preguiça é a mãe de todos os vicíos…
Mas mãe é mãe e devemos respeita-la!!!!

今日は皆-さん. Hoje é um dia muito importante para quem não é vagabundo, o dia do trabalho, dia de você se estirar no sofá e não fazer nada que preste, para você que é vagabundo esteja feliz por que pode fazer isso todos os dias^^ de qualquer maneira aproveitem esse feriado. Feliz dia da Preguiça ou se preferirem Feliz dia do trabalho.

Bem pessoal nen todos usam o dia do trabalho para descansar, no meu caso estou aproveitando o tempo livre para implementar novas funções no meu jogo Demo e hoje postarei a demo atualizada com Inimigos.

Um grande poder exige uma grande responsabilidade, um Herói sempre precisa de um inimigo, Um jogo sem inimigos e como você tomar tequila sem limão e sal, tomar Yukault sem Vodka, Comer arroz sem feijão, tomar sopa sem sal e outras combinações. Por mais simples que um game seja exige Inimigos, para aumentar o campo de improbabilidade dos seus atos.

Clique aqui para testar a demo

Componente de Inimigos

Agora o game conta com 2 tipos de inimigos, podemos rotulalos como Inimigos burros e inimigos menos burros^^

  • Inimigos Burros: Se movem apenas para um lado e para outro, cima – baixo, baixo – cima, direita – esquerda, esquerada direita.
  • Inimigos Menos Burros: Se locomovem de uma parede a outra, quando ele alcança seu objetivo ele tem uma probabilidade de seguir outra direção.

O sistema vai contar com 3 niveis de dificuldade no momento. Onde o nível de dificuldade influencia diretamente na velocidade em que os inimigos se locomovem e a quantidade de inimigos na tela.

Modelo de Sistema

Algumas pequenas coisa do modelo final de sistema já está implementado na demo como por exemplo, ao iniciar um cenário o jogo automaticamente distribui os itens e inimigos aleatóriamente por entre o cenário. Mas o game contará com 2 modelos de sistema Alfabeto e Extra.

  • Alfabeto: Esse modelo funcionará de forma completamente randômica, todos os cenários serão letras, números, o nível de dificuldade, posição dos itens e inimigos, visual de tudo será feito de maneira randômica, resumindo as fazes nunca serão as mesmas^^
  • Extra: Esse modelo serão fases propostas, fases com posicionamento de tudo já predefinido, nível de dificuldade, quantidade de inimigos, posicionamento de itens, e o mais legal desse sistema é o seguinte, eu abrirei espaço para vocês montarem suas próprias fases criarei um editor de cenário aonde os usuários escolheria o tipo cenário, posição de tudo, visual de tudo.

Próximas Etapas

  • Implementar sistema de plano de fundo: para que você não esteja em um bloco e sua cabeça esta debaixo de um item que esta em um bloco acima^^
  • Criar Design: Essa etapa nem preciso explicar né
  • Cobrar 1 dólar para cada pessoa que queria jogar o game ops… err^^ por enquanto vamos pular essa etapa.

Bem espero que estejam gostando no nascimento desse novo game. agora aproveitem o feriado. Até mais, CYA, また見てね

Coisa Rápida..VRUUUMMM

abril 11, 2008

Konnichiwa mina san! Hoje eu logei rapidim só para cumprar a promessa de postar a atualizaçao da demo de corrida.

Antes nessa demo vinha 3 carros e você ficava desviando (desviando por capricho porque a batida não funcionava) toda vez que você passava um carro outro aparecia (Na verdade era o mesmo só que ele usava teleporte para frente para você passalo varias vezes) porém entre tudo todavia nessa nova atualização você só está competindo com um carro faça testes do tipo deixar ele te passar e tente rapassalo varias vezes, a ideia nessa nova vesão era testar posicionamento de inimigos para que no futuro teja uns 12 carros correndo^^ e nessa versão você ainda tem acesso a varias informações que pra vocês são inuteis mas pra mim ajuda pacas que é as posições X e Z dos carros. Caso vocês não esjam afim de testar essas demos eu recomendo vocês continuarem jogando Mario card^^ Até a proxima, Cya, Matamitene!

Retomando projetos.

abril 9, 2008

Konichiwa mina-san Devo lhes pedir desculpas por minha ausência no blog. Como eu já havia lhes dito antes estava passando por uma maratona de 240 capítulos em 19 dvds de One Piece.

One piece

One Piece é um anime muito bom de pirataria, com personagens carismáticos, historias dramáticas (até da vontade de chorar T_T), Combates Fodas(desculpe me a expessão), em fim é um excelente anime que eu recomendo, mas por causa dele eu fiquei um tempo numa rotina muito digamos preguiçosa. Acordar as 8 ir pro trabalho as 9, chegar em casa as 7, assistir one piece até meia noite e ir durmir sem mesmo tocar no PC. ^^ mas agora que eu já terminei a maratona vou poder voltar aos meus projetos.

Demo

Como eu havia mencionado eu tinha colocado pra funcionar o portal mas porem entre tudo todavia eu noob como eu sou esqueci o arquivo no trabalho e meio que tive que refazer uns códigos do zero, isso me impediu que eu começasse a trabalhar nos comandos de inimigos.

  • letra

    Planejado Objetivo: Bem eu já avia mencionado que não tinha noção qual seria o objetivo principal do game. Mas quando eu tava fazendo o sistema de fase eu tive uma idéia. Usarei sprites diferentes aleatórios para cada fase, por exemplo, você pode jogar a primeira fase em um cenário de neve, deserto, floresta, factory entre outros aleatórios, seu principal objetivo em cada fase é chegar ao certo numero de pontos e entra no warp portal que aparece ao concluir. Sendo que serão mais de 23 fases ^^ cada fase será uma letra diferente do alfabeto, e conforme você vai passando as fases vai habilitando personagens secretos. E pretendo colocar sistema de recordes (mas ainda eu tenho que estudar com calma e fazer uns testes para ver como funciona)

  • Adicionado Fases: Adicionei algumas fases demo para vocês poderem ter uma noção de como vai funcionar o game.
  • Adicionado Sistema de Portal: Agora o portal que aparece quando você pega os itens funciona.

carro

Recentemente andei mexendo naquela demo de corrida (Madrugas Race) que eu postei aqui a algum tempo mas meu problema ainda é fazer curvas via ActionScript por isso lançarei um game de corrida só com reta ^^ no grande estilo velozes e furiosos. pra semana eu tento colocar a nova atualização dessa demo. vlw pessoal e até a próxima (matamitene)

Compilando mais funções na demo.

março 29, 2008

konnihciwa mina-san. Estoy hoje mais uma vez para expor os progressos na demo (jogo demostração, não tem nada a ver com satanismos ou religião ^^) eu ainda não tive muito tempo para produzir muita coisa (que desculapa esfarrapa to numa maratona assitindo os episodeos de one piece^^) mas devez em quando eu arranjo um tempo no trabalho para dar uma pincelada de detralhes nas novas fuções. Agora vamus comentar um pouco das atualizações.

Demo Beta 2
  • Adiciondo novos Personagens: Bem como vocês podem ver eu estava fazendo um teste para ver se era simples adicionar outro personagem e eu conclui que tendo os sprites certos é muito simples a adaptação no game. Futuramente depois que ele estiver concluido estarei abrindo espaço para o pessoal enviar sprites de personagens para poder selecionado no game^^
  • Adicionado Objetivo (ohhh Sugoii) . O objetivo do game é muuuuito simples 6000 pontos, na tela existirão 10 itens sendo que desses 10 terão 3 tipos diferentes de pontuação, você não será obrigado a pegar todos para passar de faze, mas ao pegar 6000 pontos um portal no meio da tela se abre para passar para a proxima fase (A mudança de fase ainda não funciona)
  • Proximas etapas para conclusão do jogo: Falta Adicionar mudança de cenários, Falta adicionar obstaculos e inimigos, e por ultimo mas não menos importante adicionar Grafico.

Soldier

Bem nen cheguei a falar pra vocês, meu irmão como um viciado em Final Fantasy me chamou pra participar de um concurso de desenho via comundade do orkut. A regra era se auto desenhar com o figurino de um soldier do Final Fantasy 7. Bem eu não caprichei muito no meu desenho porque pra mim é muito dificil superar meu irmão no desenho(olha desculpa esfarrapade^^). Bem aqui vai o meu desenho espero que gostem.

random-battle.jpg
RANDOM BATTLE

Bem depois eu posto o desenho do meu irmão também, o resultado do concurso só sai em abril é o prêmio é a Ultimania que comemora os 10 anos de Final Fantasy VII. Fiquem torcendo por mim^^ vlw galera até o proximo post.

Funções novas adicionadas na Demo

março 26, 2008
Demo Beta 2

Konnichiwa mina-san! Bem como vocês podem ver ja estou bem melhor cof cof, eu separei um tepinho livre no trabalho para adicionar uns componetes novos na demo. Heheh dessa vez eu cumpri com o prometido^^

  • Adicionado: Seleção de Personagens.
  • Adicionado: Sprite de personagem parado.
  • Adicionado: Novo Bug ao coletar item (Ainda não montei esse sitema de itens decente logo logo vou corrigir isso) .

Bem o nome do game ainda não pensei, a ultima vez que parei pra pensar comecei a sentir um cheiro estranho de queimado e decidi deixar pata tentar pensar depois. Bem ja é tarde eu to com sono, pode deixar que assim que eu montar um componente novo pro game eu posto aqui. fuiz.

Mais demo, porém essa vira jogo!

março 23, 2008

konnichiwa mina san! Feliz Pascoa (não sei se vou logar no domingo por isso to fazendo esse post hoje^^) bom pessoal esse posto eu deveria estar colocando no ar na semana passada, mas a vida é uma caixinha de surpresas e numa bela manhã de sol eu deci deixar o meu nootbook com o meu irmão pra ele colorir um desenho que ele tava fazendo para um concurso(eu tb estou participando mas só falarei melhor sobre esse concurso quando eu tiver terminado meu desenho^^), ai eu pensei ah posso deixar o noot com meu irmão na boa uma semana sem PC em casa não vai me matar de tedio (para isso eu tinha preparado uns DVD de anime para passar o tempo, Shcool Rumble, muito foda por sinal mas isso não vem ao caso agora), mas a vida é uma caixinha de surpresas e numa bela terça ensolarada o trabalho indo de vento e poupa quando de repente eu começo a senti uma forte dor de cabeça, qualquer um de nois ficaria chateado desmotivado, sem vontade de cantar uma bela canção, mas a dor de cabeça começou a piorar, sentia enjoado, minha visão as vezes ficava turva, minha capacidade de raciocineo de muito pouco foi reduziddo a quase nada foi quando que eu pedi para sair para ir no medico (resumindo de maneira rapida e clara desde terça eu náo mexo num computador), bem em situações como essas que você para e pensa, pq eu não tenho plano de saude e dinheiro, e fui obrigado a seguir uma jornada sem volta ao serviço de saúde público T_T, para minha sorte eu consegui ser atendido no mesmo dia ohhhh depois de encarar 2 horas e meia de espera, para o médico (médica muito boa por sinal) virar pra mim e dizer:

“você esta com principios de dengue mas eu não posso mandar você fazer nenhum exame hoje pq só acusaria algo no exame depois de 3 dias de sintomas, vc vai ter que ficar 2 dias de repouso bebendo muito liquido e na quinta feira vc volta aqui pra fazer um EMOGRAMA”

Foi quando eu pensei “<PENSAMENTO> WTF esse EMOGRAMA vai mostrar pra todos que eu não tenho nenhum tipo de sintomas emos </PENSAMENTO>(OBS: não tenho nenhum peconceito contra emos isso foi apenas uma brincadeia^^)” Mas o exame foi tranquilo e foi comprovado que eu não possuia nenhum tipo de virus, emo, dengue ou qualquer outro derivado, Hoje eu ja estou melhor consigo até digitar algumas letras, a forte dor de cabeça não deixou sequelas.

Bem depois de falar uma monte de baboseiras sobre minha pessima semana eu vamos ao que interessa. Finalmente eu solucionei o problema que eu tava tendo ao montar os componentes do joguinho do phil^^ mas eu gostei tando desse componente que eu decidi montar um joguinho simples, esse joguinho estaria pronto hj se não fosse pela minha maravilhosa semana, mas eu decidi deixar uma pequena demo aqui para que vocês acompanhem o progresso do jogo.

Demo

A principio esse jogo será daqueles tradicionais jogos casuais de apenas pegar pontos. Mas se vocês quizerem dar sugestões eu estou ouvindo (lendo pra ser mais preciso)

Os sprites do game não serão esses, estou usando os sprites do pateta temporariamente só para não ficar controlando quadradinhos ^^ os sprites definitivos serão personagens criados por mim mesmo^^ Bem por enquantoo que eu posso dizer: aproveitem a demo e opinen na criação desse game assim que eu tiver mais coisas atualizadas nela eu aviso. e me desejem melhoras pq eu ainda to meio atordoado dessa semana^^