Este blog esta em reforma no momento.

Acerolas, um momento saúde

Não foi nem um pouco dificíl modelar a fruta. Uma esfera, um Proportional Editing pra fazer a reentãncia e depois sculpt. Tudo numa malha leve de 24x24 anéis.
Oque foi complicado foi setar o material. No inicio pensei em pegar a textura da foto de referência e aplica-la, mas olhei bem e tentei ver oque conseguia com as texturas procedurais do Blender.
Talves um Sub Surface Scatering deixa-se ela mais realista. Mas no momento naão espero dar um close muito profundo nas frutas e serão renderizadas numa cena noturna.
As imperfeições fiz com uma textura e a ferramenta Texture Paint.
Uma ferramenta que havia me esquecido é a Latice. Usando a mesma instância de malha eu apenas deformo um pouco e tenho mais de um modelo de fruta.
Tem horas que me pergunto se não estou gastando tempo atoa. Fazendo detalhes em um elemento que mau irá aparecer direito. Mas o resultado bem trabalhado realmente alegra de ser visto no final.
Bom, ao fazer o render encabeçando o post com certeza eu perdi bastante tempo ehehhe.

Outra coisa importante. Ja que estou desenvolvendo material em alta resolução decidi contribuir com a comunidade do Blender. Vou upar estes modelos pro BlendSwap.
Este site inclusive esta sendo usado pelo projeto Durian. Quem sabe eu não tenho sorte de aparecer de quadjuvante ^_^
Baixe a tijela de acerolas.

Preparando o livro da cena de abertura

Agora ao livro.
A textura foi gerada em um segundo arquivo .blend eu quiz dar uma impressão de couro trabalhado.
As letras ai e a logo foram produzidas no Inkscape e depois importadas para o Blender.
O recurso de "Simplificar" caminho do Inkscape é ótimo e diminuio os pontos de trabalho das letras. É parecido com o "Optimizer" do Flash. Depois setei o path no Blender para 3D e dei volume com as ferramentas de path.
Vou modificar o escrito, deixar Wild Witch Project Game sera melhor. E ainda irei vetorizar meu nome pros créditos da mesma forma.

O miolo do livro
Tentei fazer com particulas. Armei um esquema de renderizar a face trazeira da folha com material diferente e tudo mais... nada foi satisfatório.

Tive que optar por fazer o miolo como um mesh unico e aplicar normalmap. Dei uma boa trabalhada na textura lateral, inclusive com o sculpt.
A malha do miolo do livro tive que subdividir muito para deformar a folha. A malha ficou absurdamente grande. A solução para redução de poligonos foi o script "Poly Reducer", já incorporado ao Blender. Apliquei em sequência com um fator de redução de 0.1 (1%) do original e depois com 0.5 (50%).
Oque me surpreendeu foi a performance do script. Muito rapido pra uma implementação em Python, apesar de que o filtro Decimate por ser uma implementação interna, escrita em C++ é umas 50 vezes mais rápido.
Como nada são flores, o resultado foi uma malha meio trincada. Tive que dar Set Smooth na malha e ativar o botão Auto Smooth.
Uma coisa que me surpreendeu for o Blender ter dado pau com uma textura! Ok, era uma textura de 8196x4796 pixels, concorde que tem dimensões minimamente estupidas. Tive que reduzi-la para 80% desse tamanho. Mas pelo teste de render não deve ser muito ameaçador issu para a qualidade final.

Próximos ojetos
Contrariando tudo que agente pensa quando vê um cenário de RPG, e contrariar é uma coisa nata minha, lembrei que o mago/bruxa também tem que comer.
Com minha nata preguiça fiz um passeio pelo quintal e procurei as acerolas menos feias na arvore.
Uma tijela com algumas sera o suficiente.
Além disso parei um pouco e olhei para minha própria mesa. Lógico que a mesa na cena é de algum estudioso, então no minímo deve parecer bagunçada.

Agora uma notícia
Saejin Oh removeu sua pagina no Deviant Art, meu parco inglês deu pra intender pouco dos motivos. Mas aparentemente ele estava cansado de seguidores bobos.
Uma pena, é dele praticamente a mais linda de todas as ilustrações das garotas de DarksTalkers que já vi, tinha favoritado e não sei quando a verei de novo.
Bom, ao menos ele migrou aqui para o Blogger. Onde pode-se ver os passo-a-passo de suas obras e continuar se inspirando no trabalho dele.
Uma coisa apenas tenho que concordar com ele: "Arte é politica"
Agora vou deixar o link do RSS dele no side-bar do blog

Aprendendo a arte do hi-poly mais uma vez, refação do amuleto!

Resolvi o problema do tempo de render descrito no post anterior.
A solução foi uma ortodoxa "refação" do amuleto.
Mas o trabalho derrubou o tempo de render de 22 minutos para 1 minuto e 50 segundos! E isto porque não trabalhei no cabo do punhal.
A malha base teve que ser reprojetada e acabou ficando mais simples. O multires aplicado foi maior que o anterior, deixando o arquivo final com 160MB enquanto o outro tinha 96MB.
Apliquei o script Bevel Center incluso no proprio Blender, de forma bem mau feita e preguiçosa, mas teve resultado!
O mapeamento UV também foi apartir do proprio recurso altomático do Blender. Mas a textura nunca ficava boa, até eu acertar ela na resolução de 8192x8192 pixels
Eu aproveitei o maior nível de multres e deixei alguns detalhes a mais.
Procurei repetir alguns caracteres, para dar uma real noção de linguagem e aproveitei para colocar alguns símbolos beeeem conhecidos da galera XD

Finalmente
Eu poderia ter terminado isto antes... fosse o Cyrus la da PDJ ter postado istu aqui http://bit.ly/daqjLO
e eu fiquei segunda e terça mechendo!
É bem simples, olhe a imagem proximo ao rosto e tente relaxar o olho. as imagens vao se fundir. Tente focar a do meio. (meu truque é envesgar os olhos). Pode clicar para ver melhor.
Enjoy

Fazendo testes de render

Pois é, o preparo do render é lento como os projetos de "core" e I.A.
Estou totalmente desacostumado a trabalhar em hi-poly. Tanto que ficarou uma espécie de serilhado nas bordas quando apliquei o multi-res.
Os demais detalhes são todos a base do sculpt. Dei também umas amassadas com o sculpt para ele aparecer bem velho.
Estes dois testes de material até que foram satisfatórios. Os metais não se mostram muito limpos e estou inclinado a usar o da primeira foto.
Oque ferrou mortalmente meus planos foi na hora que joguei o amuleto na cena final. Tipo cada render esta consumindo 22~23 minutos! Isto talvez pela quantidade depoligonos.
Apesar dessa estrela aparecer apenas 3 ou 4 segundos em cena, ela podera custar 2 horas por frame na hora de render o produto final em full HD e motion-blur, oque vai deixar a coisa muito lenta aqui.
Estou a uns 40 minutos esperando o Blender terminar de aplicar o filtro "decimate" pra tentar reduzir isto e montar uma textura normalmap.
Espero resolver essa questão de performace logo.

O próximo passo é o livro, que não podera ser o mesmo que já montei.
Pra quem não lembra: The Book is on the Blender
Uma solução que estou analizando é fazer as folhas do livro com o sistema de partículas! Os primeiros testes se mostram bem favoraveis.

Preparando a cena da Introdução e do Trailer

Deu vontade (além da necessidade) de ir preparando a cena de introdução.
A primeira coisa foi inserir uma luz de lua.

Em seguida modelei a vela. Tudo ficou legal, mas o sistema de partículas na chama não ficou muito bom. Recorri à um tutorial, mas acho que estou trabalhando com uma escala muito pequena (realística na verdade) oque esta dificultando algumas coisas.

A cena esta demorando pra renderizar, o Ambient Oclusion não é grande problema, como tudo é estático basta renderiza-lo pra um cache de textura. No entanto os primeiros resultados mostram que talvez seja melhor eu fazer algumas sombras a mão.
Essa referência de vela que esta difícil chegar perto. Acho que consumi uns 50% só na vela! E ainda não acertei a mão. A foto acima foi tirada totalmente no escuro.

Detalhes do punhal. Resolvi adornar bem o cabo. Talvez eu dê mais um nível de multres e capriche na figura. Afinal um punhal feito a mão não deve ser tão muito rústico. É que na verdade fico me concentrando em objetos e coisas que uma menina simples poderia ter. Mas, lógico, ela gostaria de ter coisas bonitas.
Os materiais até agora eu baixei todos do www.blendermaterials.org. O bronze do cabo que talvez eu não use, ele esta lerdeando bastante o render e talvez madeira de cedro seja mais concisa.
Me fez lembrar um comentário do Maurício Cunha, sobre achar que tenho arquivos demais, essa cena esta abarrotada de bibliotecas.

Something is technically wrong

O pesadelo dos twitteiros! Achei um personagem bem interessante (espero não ter problemas em usa-lo).
Afinal, nada melhor doque juntar robos dos anos 60 e 80 com uma imagem atual.
Tive esta ideia em algum dia da semana passada quando o Mr. Twitter caiu de novo, esboçei a malha... e ela ficou parada até hontem :P
Deixei uns toques de ferrugem para ele ficar mais ambientado no cenério.

Tela principal primeiro rascunho

É uma ideia simples, baseada no rodapé do blog.
Cibele em Pose de Lotus, e a esfera de energia com as opções do menu circundando. Claro no ambiênte de render da OpenGL agente pode a busar um pouco mais de buffers e jogar efeitos.
A camera pode ficar avoando pelos ângulos, e a mesh pode ser projetada especialmente para esta tela.

Pensando em SEO

Eu estava muito crente que a maior parte do meu acesso desconhecido se devia à pessoas em busca de tutoriais.
Um estudo bem formulado com o Analytics me permitiu olhar o cérebro do internauta. Estou desesperado pra fazer um curso de Analytics em São Paulo... mas os dois dias de curso mais os 700 contos... estão realmente se mostrando proibitivos.

Devo notar também que perdi um bom período de dados, ao esquecer de migrar os dados do Analytics quanto troquei o domínio ~_~
Mas o fragmento aqui me parece ser bem relevante a enxergar o todo.

Cheguei a conclusão que o conteúdo em sí é realmente a parte mais relevante!
Agrupei as requisições por grupos (em amarelo), e depois comecei a associa-los. Também marquei com estrelas os termos mais consultados.
Bingo!
 O blog se mostra atraente no que anda mostrando, apenas isto, não se vê um game, mas sim a programação e o desenho! E mais uma vez eu confirmo o que os especialistas dizem, o Google já esta sendo usado como "parte da memória pessoal" das pessoas! As vezes a pessoa quer lembrar mas ao ivéz de forçar a mente usa o Google, isto também vale para quem consulta a grafia de palavras no Google. É o "transhumanismo" já nos dias de hoje.

Pena o Analytics ainda não mostrar informações sobre pesquisas de imagens, do tipo "qual a imagem clicada", pelo menos eu tenho as informações do Picasa, infelizmente são informações misturadas pois, as fontes vêm também de fóruns como a PDJ.
Ainda assim me comicho para usar a API do Google para varrer estes números, quem sabe eu consiga também extrair dados consistentes dai.

Me sinto muito feliz hoje!

Na verdade isto que lhes conto ocorreu na terça e não nesta quinta.

Mas chegando em casa e lendo minhas mensagens no DeviantArt eis que encontro isto:
De imediato, senti que era um fake, mas olhei a comunidade e o seu co-fundador é Martin Renold, o desenvolvedor do projeto MyPaint!
Entrei na galeria, e meu desenho até que se encontra junto à umas boas obras.
Ele ficou poucos dias aparecendo na capa, mas ja deu pra animar bastante.

Um detalhe sobre naught101 o fundador do grupo, olhando seu blog pessoal eco101 e seus intereses políticos, me lembrou de imediato um grande amigo, o Mateus com seu blog Somos Carbono, os conteúdos muito se parecem.

Galeria do MyPaint.deviantart.com.

Linkagem gratuita a parte, me lembra muito daquela teoria de que mentes com pensamentos similares se atraem, é mais coerente essa ideia doque coincidências. Acho que se eu jogar um mapa mental com o XMind e agrupar os elementos em comum no grafo devo ter uma surpresa.
Curioso como coisas tão despretenciosas acabam chamando atenção.

E no Mundo off-line
Outra coisa de impacto em minhas realizações profissionais, é ter sido aceito em duas firmas este mes, oque me deu a oportunidade de escolher o melhor caminho (assim espero).
Apesar de ter um pouco mais de grana, ja estou sentindo saudades dos companheiros de equipe de onde eu estava trabalhando. Pois foi um lugar que encontrei pessoas muito legais. Eu nem sairia de la, fosse questões salariais.
A galera la ainda vai receber sua homenagem ^_~

Mas vamos ver noque o tempo se transforma...

Mais alguns progressos Aracte e Hell Lizzard

Semana insana e a próxima sera mais ainda, mas....
Hell Lizzard

SIm, eu não sei escrever Lizzard direito, não sei se é com um Z ou dois  (so me toquei desse detalhe depois de upar pro Youtube).
Bom, de qualquer forma ta ai, alguem se lembra do rascunho que começei semanas atraz? Esta manha sentei e puchei mais poligonos. Ficou com 1.200 e pouco.

Aracne SD Ilustração 2
Gente, essa drider ja foi favoritada 5 vezes no DeviantArt, sem fazer qualquer propaganda dela.
Intaum to fazendo outra ilustração caprichada dela.

Caldeirão da Bruxa
Nossa, editando esta imagem me deu un "dejavu" muito estranho.
 Veja online aqui.

To fazendo o oclusion map na unha mesmo.
E descobri uma coisa, o sistema de "path" (trilho) para a camera é beeeem complicado de se acertar. E programacionalmente falando é mais fácil desenvolver usando paths bezier de 3 ou 4 pontos doque nurbs curves. O Away3D usa paths de 3 pontos, oque me da um "puta" trabalho para tirar os dados do Blender que usa paths de 4 pontos (que são os que eu irei usar no meu sistema de camera do jogo).
Mini tuto de Path na Away3D
import away3d.animators.PathAnimator;
import away3d.animators.data.Path;

private var camPath:Path;
private var camPathAnimator:PathAnimator;
private var time:Number = 0;

var aPath:Array = [
 new Number3D(-433.7,315.5,-109.0),
 new Number3D(-266.1,225.2,-416.4),
 new Number3D( 467.9,071.0,-226.6),
 
 new Number3D(467.9,071.0,-226.6),
 new Number3D(582.3,170.2,-178.0),
 new Number3D(426.6,145.4,388.6)
];
   
camPath = new Path(aPath);
  
var init:Object = { duration:1000,
  lookat:null,
  aligntopath:true,
  targetobject:null,
  offset:new Number3D(0,0,0),
  rotations:null,
  fps:24,
  easein:false ,
  easeout:false
};
camPathAnimator = new PathAnimator(camPath, view.camera, init);

//No enter frame
time = (time +0.01>1)? 0 : time+0.01;
camPathAnimator.update(time);
Baseado no tutorial da Away3D

Flex PixelBender Zend RPG MD2 Away3D Correria Café Cerveja TUDO JUNTO AGORA


Essa semana foi atipica, não parei, corri de um lado pra outro, fui pra São Paulo e voltei correndo, levei trabalho pra casa, to no meu hobby, relembrei Flex, aprendi Pixel Bender, levei a Clarice pra vacinar e aqui estou postando e também preparando meu post de amanha na RPG Vale.

Como devem ter notado na imagem acima estou fazendo umas coisinhas um pouco mais nervosas com flash. Pensei em montar um hotsite em 3D dessa vez, por issu este modele com cara de Budy Pocket... alias confesso que ficou bem podrão mesmo. Talvez se eu organizar o esqueleto direito consiga usar ele para os testes de colizão no terreno do jogo.

Irei inserir mais frames nesta animação, o arquivo MD2 ficou com incríveis 36Kb com 12 frames! Então acho que irei arriscar uns 30.
Uma dica excelente que achei na internet, é a respeito da lista de animações do MD2, você pode criar um arquivo separado definindo os quadro chaves. O formato pede que a primeira linha identifique o arquivo, o resto é uma string e o numero total de frames da animação.
Fica itegralmente assim:

# MD2 Frame Name List
stand 11
run 0
attack 0
pain0 0
pain2 0
pain3 0
jump 0
flip 0
salute 0
taunt 0
wave 0
point 0
crstnd 0
crwalk 0
crattack 0
crpain 0
crdeath 0
death0 0
death2 0
death3 0

Eu tentei mudar o nome das animações, mas começou a dar pau com o Blender 2.49a. Então larguei mão e só zerei a quantidade de quadros. Deu certinho.

Away3D suporta animação por bones dentro do Collada, mas os tutoriais de MD2 etão mais à mão, mas é bom saber que ela tem esse recurso muito mais avançado.
Este foi um dos motivos da escolha da Away3D, ela incorpora muitos recursos que a Papervision3D demora para incorporar. Apesar das ultimas informações que tive dela ela consumir o dobro de RAM que a Papervision, mas isso faz bastante tempo, qualquer duvida procurem alguma analize mais atual.

A pintura foi toda feita no inkscape, achei mais pratico usar um software vetoria, pois um espaço pequeno de 256x256 pixels é complicado de trabalhar.

Uma coisa interesante durante o processo, o png com transparência foi renderizado perfeitamente na away3d. Deu até uma ideia de fazer uma mágia de invisibilidade pra deixar Cibele assim, com os olinhos aparecendo pra dar aparência daquele desenho do PacMan que quando ele comia o fantasma so saiam os olinhos flutuando em bora.

Outra coisa legal é o Pixel Blender, esse recurso é fabuloso. Rodar shaders apartir do player do flash é um recurso extupidamente poderoso. Tem gente estudando o recurso inclusive para manipulação de dados!
Eu tirei este shader lindo de raios de luz deste site (kode80.com), e pretendo usar esse mesmo shader de light-scatering na faze inicial do jogo. A luz atravessando as arvores vai dar uma visão chocante. E é um shader bem simples, me expantei ao analiza-lo.
Pena que rodando no flashplayer o pixelbender, so trabalha na fase processo pixel, o pre-calculo de vertice e matrizes é todo via AS3, mas mesmo assim o resultado é rápido (veja o site dos caras)!!!

Pra quem não conhece pixelbender é o novo recurso adicionado ao player do flash, onde o swf carrega um código pré-compilado em linguagem de maquina, que roda direto no processador da placa de video. O PixelBender é baseado na GLSL que o torna bastante compativel e portavel.

O modelo foi criado com um numero extreamente reduzido de poligos, mesmo porque irei caprichar no cenário. Por sorte o shader não se atrapalha com a transparência.
Outra coisa que irei fazer é adicionar uma segunda layer de render para renderizar o chão com sombras e o horizonte.
Depois irei usar o recurso de paths da Away3D para fazer a camera acompanhar um caminho fixo ao mover o mouse pela cena, oque dara uma visão de angulos muito superior. Esse processo sera usado no game final também.
Irei jogar um pequeno sistema de particulas para fazer a fumaça, tentei fazer com pixelbender, usando outro código da net, mas não mesclou corretamente.
Bom, o objetivo é copiar uma cena como esta:
Creio que vocês não devem ter reparado no background... mas ele esta ali, é so olhar pra esquerda e direita da figura centra. Sei que é dificil :P
Bom, uma vegetação como essa deve ficar excelente na cena.

Os links irão estar flutuando no ar ao longo do path.

Parte 2
Bom, pra não dizer que aproveitem bem meu tempo... inventei de aprimorar o software de visualização 3d dos personagens. Dando um acabamento profissional.

Infelizmente issu acaba implicando em atenção a inumeros e inumeros detalhes que agente nunca repara de inicio. Oque deveria durar uma manhã, comeu o sabado inteiro e parte da manhã de domingo.

Mas ficou legal. Agora você pode inserir comentários, e há uma conexão com o Gravatar, um serviço universal de avatar. Basta digitar ser e-mail e ter um cadastro simples no Gravatar e pronto.
Poderia ter usado o OpenId, pois o Zend tem essas facilidades, mas fiquei com preguiça.
Estou satisfeito com o Zend, apesar de seu vasto tamanho, ele tem recursos na proporção dos seus Megabytes.
Este código no controller transforma a saída em RSS 2.0, simples, e padronizado. Assim além de poder usar ele na aplicação eu posso aproveitar os dados em qualquer outro lugar, inclusive agregadores de feed ^_~
public function indexAction()
    {
 $page = $this->getRequest()->getParam('page',false);//'www.8arte.net/wwpvisualizador';
        $this->view->rss = $this->formatRSS( $page );
    }
    
    protected function formatRSS($dt,$title=false)
    {
     $config = Zend_Registry::get('config');
     $base = $config->rss->base;
     if(!$title) $title = $config->rss->title;
     
     $ens = array();
     $pageNome = 'www.8arte.net';
  foreach( $this->comentarios->listComments($dt) as $com )
        {
         array_push( $ens,
    array(
     'title'   => 'Comentário de '.$com['nome'],
     'author'  => $com['nome'],
     'link'   => 'http://'.$com['pagina_nome'].'/',
     'description' => $com['coment']//$this->formatDescription($com['nome'],$com['web'],$com['coment'])
    )
         );
         $pageNome = $com['pagina_nome'];
  }
  $rss = array(
   'title'  => $pageNome,
   'link'  => "http://$pageNome/",
   'charset' => 'UTF-8',
   'entries' => $ens,
   'author' => 'Marcos Augusto Bitetti (marcosbitetti@gmail.com)',
   'category' => "Comentários",
   'image'  => 'http://www.8arte.net/media/img/rss/rss_wild.jpg'
  );
     
  $feed = Zend_Feed::importArray($rss, 'rss');
  
  return  $feed->saveXML();
    }

O Adobe Flex é muito rápido pra produzir aplicativo... infelizmente pra mim, não ajuda muito, eu acabo perdendo tempo incrementando mais recursos. Mas vale a pena.
private function addComents():void {
    coment_list.removeAllChildren();

    var ld:URLLoader = new URLLoader();
    ld.addEventListener( Event.COMPLETE, addCommentsData);
    ld.load( new URLRequest("http://www.8arte.net/comments/wwpvisualizador") );
   }

   private function addCommentsData( e:Event ):void {
    var ld:URLLoader = e.target as URLLoader;

    var com:Array = new Array();
    //adiciona comentario principal
    var t:TextArea = new TextArea();
    t.percentWidth = 100;
    t.height = 85;
    t.wordWrap = true;
    t.editable = false;
    t.htmlText = '<img align="left" alt="gravatar" height="80" hspace="2" src="http://www.gravatar.com/avatar/aa6003be4294547ab18571dfca3e4522.png" vspace="0" width="80" />Bitetti (autor) Implementação de visualização de personagens do jogo Wild Witch Project.'+
       'Utilizando Adobe Flex 4.0, Zend Framework e Flash Develop.'+
       'Modelos 3D produzidos no Blender, texturas no Gimp, Inkscape e ArtRage2 (licenciado).'+
       'Wild Witch Project sob licenca Creative Commons 3.0 - uso não comercial, atribuição e não derivação.';
    coment_list.addChild(t);
    
    //parse RSS
    var feed:RSS20 = new RSS20();
    feed.parse( ld.data as String );
    ld = null;
    System.gc();
    
    for each( var i:Item20 in feed.items) {
     t = new TextArea();
     t.percentWidth = 100;
     t.height = 85;
     t.wordWrap = true;
     t.editable = false;
     t.htmlText = i.description;
     coment_list.addChild(t);
    }
   }
Este código lê o RSS gerado no Zend e insere os elementos TextArea para cada entrada. Tudo simples, usando as xml syndication lib disponível no google code.
Foi uma boa relembrada de Flex.

Bom, vou voutar à minha correria

Cibele vs Pedobear, uma batalha trash

Nada como não pensar em programação numa manhã de domingo.
Quem quizer comparar com o traço inicial é so ir neste post.

Flickr www.flickr.com/photos/bitetti/4413075605/
DeviantArt http://bit.ly/cWVyTf

Saldo de 2009 - Projeto em baixa

 Triste constatar, mas o progresso esta lento.

Arquivos mestres (blender, png, xcf, svg, audio...)
2672 arquivos - 5.5GB

Total de todos os arquivos sem discriminação (incluindo screenshots, suporte, libs, marketing, docs e lixo)
5288 arquivos - 6.0GB

Média de 400MB por personagem (sculpt com res 5 acima para normalmap)

Código da primeira versão (study):
C++ 2729 linhas (incluindo comentários* e arquivos de cabeçalho)
Lua 1037 linhas (incluindo comentários*)
* eu comento pra caramba!


Periodo de permanencia num contexto (paro um pouco, mecho em outro, depois volto...)
1 semana


progresso dos personagens (%)
CharConceptMalhaAnimaçãoTexturaScript*Audio
Cibele10000000
Aracne1001001000-
Coisa Ruim1000000-
Fada Lime100100300-
Loira do Banheiro900000-
Harpia00000-
Trolls900000-
Gil Gasaper600000-
Velhão500000-
Preto Velho Tarado800000-
Neaderstalore600000-
Monstro do Armário100100000-
Nesgóico100100000-
Crendeuspaldo1000000-
Firefox10010000
(normalmap)
0-
Nerd das Montanhas1000


-
Winderfall10010001000-
Mortos-vivos100100000-
Guarda-chuva100100000-
* - Lua script

Constatação
O cronograma ter explodido até que não foi surpresa, este projeto tomou altas expectativas tanto minhas quanto de quem acompanha.
No começo eu mantive a cota de uma malha por semana. Mas aí vierão os problemas, stress, mulherada enrolada (muito mais stress), desafios no trabalho (stress pra kraio) e por fim meu ritmo de sono que nunca foi constante pirou de vez (hora de ir pro clube da tarja preta). Hoje mesmo enquanto escreve estou sob uma forte dor de cabeça, à espera do efeito do analgésico.

 Concluindo
Mas olhando bem e refletindo ainda tem um porém de esperança: isto foi o start e todo projeto intelectual curva exponencial como a natureza do próprio conhecimento.Enquanto o tempo passa e eu desenvolvo material solido a tecnologia fica cada vez melhor. E ja tenho por exemplo, um esquema de rig pronto pra todos os personagens.