
Bom, enquanto ouço
The Slander do
Night Wish o café faz efeito o vento frio da janela se torna cálido. É um titulo curioso, enquanto dedicava minha imaginação à ideias macabras e assustadoras, ao ponto de não me deixarem dormir à noite (dois coelhos mortos-vivos trepando é uma cena que ninguém merece) dedicava meus poderes de lógica à criar a famosa vida-virtual!
Comecei a pensar em termos de marketing, e resolvi aplicar. A nova onda do momento é o famoso
twitter, que começa a aparecer no Brasil. Para quem conhece, deve estar familiarizado com suas inutilidades, ou empolgado com suas possibilidades.
Hoje em dia o
tiwwer é outra maneira de se conseguir ser ouvido. Trata-se de um mecanismo de mensagens curtas, alguns
chamão de micro-blog. Na Franca ele tem tanta força que as pessoas chegaram a criar uma conta para seus filhos ainda na barriga da mãe! Usando uma cinta com sensores e um
bluethoot o sistema
twittava toda vez que o feto dava um chute! Sim, incrédulo, hoje em dia você não precisa perder tempo com coisas triviais, como "nascer", você já esta "
on-
line"!!!
Tecnicamente falando, criei uma conta no
twitter para Cibele, e ando convidando uns amigos, pra conhece-la. Na esperança que mais gente goste dela e a adicione.
Eu não irei falar em momento algum que Cibele é uma personagem, a ideia é deixar as pessoas pensarem que é uma adolescente louca, e irem na dela.
Com certeza a melhor linguagem para esse
projeto. Tendo em vista suas especificações e a proximidade com linguagem natural e os bons casos de uso.
Eu também posso ir aprimorando minha capacidade de escrever textos, que ultimamente anda tão destreinada quanto à de desenhar. E de quebra elaborar um perfil verbal mais refinado pra Cibele. Outra necessidade que vi é a de estudar mais
oque as
menininhas andam falando, pois eu tenho meus
vicíos de linguagem, e Cibele deve ter os dela,
compátivel com a faixa etária.
Em uma primeira instância montei um
script em
ruby para postar automaticamente.
Tudo que ele faz é mandar mensagens em intervalos aleatórios. Durante o processo de
postagem fui refinando o sistema. Agora ele alem de enviar, guarda
log de eventos, e eu posso configurar o intervalo de
postagem sem mexer no código. Em seguida irei preparar o sistema para que algumas das configurações possam ser feitas remotamente!
Cloud Computing, um belo termo, o
script roda local em minha maquina, mas decidi usar o Google
Docs para escrever as entradas no Twitter. Assim onde quer que eu esteja posso
atualizar a história!
Outra novidade, o controle de versão. Até então não usava isso em meus
projetos pessoais. Mas
surgio uma solução interessante no
trampo, que resolvi testar aqui. Ainda apanhando pra aprender.
GIT, o sistema desenvolvido por
Linuz Talwards (criador do Linux), é muito bom. Diferente do SVN ele pode ser usado localmente.

Mas para deixar a coisa mais legal, criei um repositório no site
GitHub, esse site é quase um
twitter de
coders, já que cada
update ele manda por
rss, posso ter seguidores e etc. Outra vantagem do
GIT, se caso eu precise viajar e não possa deixar o computador ligado, basta pedir a um amigo fazer clone do
projeto, e passar os arquivos de
config para ele. Pronto!
Em uma segunda etapa, estou desenvolvendo o sistema de I.A. do jogo. Bom, o sistema é em Lua, mas da mesma forma que chamo o
ruby eu chamo a Lua pelo
ruby. No momento o que mais rápido deve sair é a percepção de clima. Sim, se esta de noite, Cibele deve "
mimir", ou no máximo acordar pra fazer um pipi (sim, ela vai postar
issu, sei que muitos vão achar pouco feminino... mas dane-se, a intenção é um
twitter bem "
newbie"). Então desenvolvi em Lua a classe clima. Estou remexendo no meu
projeto no Google
Code, faz séculos que aquilo esta lá... e até hoje a Sangria não me deu uma mão com a tradução pro inglês ~_~. Vou acabar largando aquilo.
Estou mudando a temática
JSON de respostas do sistema. Achei uma alternativa mais elegante. A classe clima agora responde coisas como:
~$ lua
Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio
> require("globals")
> require("terreno/clima")
> clima = Clima()
> print( clima )
São 0 e 0 da manhã, o tempo esta normal com temperatura normal (23°)Acho que se eu fizer um retorno desses, com separações de
TABs devo ter um resultado minimamente interessante pra futuras expansões da I.A. em linguagem natural.
As respostas aos eventos aleatórios do clima viriam de estruturas de
array, como:
["Nossa ta frio
hj:("],
["Vou ver
oque acho pro almoço",
["
Uhmm! Cogumelos!",
"Amoras
rsrsrs! Nossa o pé
tava cheiinho hj!",
"Porra! O galo me bicou! Tomá banho! Ele
nem cuida dos filhote, vai regulá ovo"]],
["Acho que vi um vulto!",
"
Caraio! Vi a coisa de novo! To
cumedo",
"Ai!!! Ele ta la fora"],
["
Caraca, que dor de cabeça!
Nunca mais misturo
vodika com absinto"]
Mas por hora fazendo a personagem dormir, e reagir ao clima estaria bom. Se tiver chovendo posso sair da linha de tempo das
postagens para um conjunto de frases especifico ou mesmo outra linha de tempo!
Terceira etapa chutar o
páu da barraca com bastante força. Alguém já ouviu falar em
Eliza Bot? Outra coisa que me deparei, e achei aplicações praticas aqui, descrita em Janeiro de 1966 por Joseph
Weizenbaum, esse programa usa algumas artimanhas da língua para fingir uma conversação.
http://www.masswerk.at/elizabot/É limitada essa versão em JavaScript, no entanto existem exemplares mais robustos... infelizmente escritos em
Pearl (
ecah).
A vantagem.... Cibele poderá
dár algumas respostas automaticamente ao povo que
quizer falar com ela! Isso tanto é bom, nesse
projeto como no jogo em si!
Sei que invariavelmente toda a I.A. dos
NPCs do jogo serão baseadas em maquinas de estado.
O quão complexas eu ainda
so posso chutar.
Tipo, o Padre da cidade tem um sistema de contagem, se a
bruxinha não inspirar ser boazinha (ou se praticar roubos ou outros
atos pra conseguir dinheiro e ele ficar sabendo) irá regular água-benta. Isso se resolve com flags, contadores e códigos extras para classes (meta-códigos poderiam ser perfeitos, mas já que apenas o conceito
ja me deixa enrolado, vamos deixar pra lá).
Quanto às criaturas mortas....Estou fechando os
sculpts dos zumbis. Vou mais tarde tentar implementar
paralax-
mapping nos modeles,
oque me permitira criar modelagens mais realistas ainda do que essa. Mas ando tendo algum problema em compilar os
sources, a
OGRE sempre reporta erro! Não sei se é alguma configuração que não percebi que tinha que ter ou bug na versão mesmo.
Mas está ai meu
zumbizinho:
Off-topics:Obs.: Alguns que assinaram meu
rss devem ter notado que apaguei o ultimo
post, pois é, nunca mais faço rascunho aqui. Dei um
enter onde não devia e o
malebento publicou.
Blender 2.49... prévia pro sonhado 2.50 que surgira um dia iluminando nossos monitores com suas
dadivas maravilhosas... mas por enquanto
so posso dizer
CASSETA!!!
http://wiki.blender.org/index.php/User:Theeth/etch-a-tonhttp://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.49/Projection_PaintProblemas e soluções:Pra quem tem o mesmo
problema de rodar o ruby no Ubunto ou Debian, é
so digitar "
ruby source download" no google e em seguida clicar onde ta escrito "
stable version" ou "
stable qualqueroisa". Baixe descompacte (tudo com botão direito, n perca tempo tutoriais de terminal.
Desistale tudo de
ruby, menu de sistema/administração/
Synaphtic -> procure por
ruby e mande desinstalar TUDO.
Depois p sofrimento de todos, abra o terminal e navegue para a pasta que você descompactou o
ruby (
cd nomeda_pasta ) e digite em
sequencia os comandos:
./configure
makesudo make install(entre com sua senha)
Agora
va no google baixe o "
rubygens source", novamente jogue em qualquer lugar entre na pasta pelo
pronpt de comando (shell) e digite:
sudo ruby setup.
rbPronto, mais um
mini tutorial resolvido!
Quanto ao
cron so aceita caminhos absolutos, tipo n podia colocar o comando:
ruby /home/eu/programacao/...bla3.../script.sh
o certo é
/etc/
bin/
ruby1.8
ruby /home/eu/programacao/...bla3.../script.sh
vai entender!?