Leben – Day 36

Estive descansando um pouco do Leben, mas hoje tive vontade de voltar desenvolver.

Hoje estive adicionando um processo de propagação de arbustos, encontrei vários erros no Core do Leben que estavam ignorando o timer dos eventos, depois de corrigir todos, agora sei que é mais difícil ter um memory-leak tão rápido, mas ainda há muito trabalho nessa parte.

Primeiro porque um objeto está sendo Spawnado em cima de outro, e não existe um limite de Arbustos na região, então eles se propagam indefinidamente e isso é um problema, ainda não pensei em como limitar, talvez por nutrientes no solo… mas ainda não sei.

Como sempre um gif pra mostrar o comportamento.

Só pra manter o Blog ativo.

Bom, eu gosto de escrever pro meu blog,

Estou sem desenvolver no Leben, dá um pouco de preguiça e existe muitos projetos que quero fazer e ainda preciso me distrair pra manter a sanidade.

estive jogando Raft, mindustry, this war of mine e autonauts.

Mas principalmente estou dando suporte á minha ferramenta para gerenciar mods pro jogo Kenshi

Conforme ela está crescendo percebo como é legal ajudar outras pessoas gerenciar seus mods e melhorar a experiência de um jogo tão legal, por isso vou continuar melhorando ela.

bom era isso, só queria postar algo mesmo

:p

Leben – Day 35

Fiquei descansando um pouco do projeto, acabei Jogando Days gone, demorei um pouco mais pois acabei mudando de computador e instalar os requisitos para desenvolver no notebook.

Então agora que pude começar desenvolver um pouco com a AI.

mas não consegui produzir muito.

então é isso :p

Leben – Day 34

Como havia dito ontem precisava separar mais as responsabilidades da AI, estive com uma dificuldade enorme de conseguir compreender como fazer a AI, até que percebi que meu problema era tentar deixar complexo tarefas simples, assim que eu simplifiquei o meu pensamento e como efetivamente acontece as coisas consegui produzir, muito bem por sinal.

Ontem e hoje estive fazendo alguns exercícios mentais pra escrever o que precisava na AI, também mostrei pra minha esposa como estou fazendo isso, é bom ver que ela vem tentar entender essa loucura, ao explicar pra ela, entendo melhor o que devo fazer.

Bom é isso, sem prints ou gifs hoje.

That’s all Folks!

Leben – Day 33

Depois de pensar bastante na estrutura que tinha e separar algumas coisas.

Foi iniciado a parte de AI Muito básica ainda, mas já dá pra ver algo:

Explicando o que tem no vídeo.

primeiro o npc está aguardando “sentir” fome, procura um arbusto mais próximo, e fica tentando comer ele, é quando o arbusto começa dar fruto e ele finalmente “come”.

ainda preciso separar todas as sequências e estados de cada tarefa, mas já é um começo.

Leben – Day 32

Hoje não foi tão produtivo,

estou implementando a AI nos npcs, ainda estou absorvendo os postsde referência.

Bom em resumo eu havia feito um código lá em meados de 2016, que já tem alguma base da AI,

Que cada entidade possui uma Entidade, e dela uma lista de tarefas.

Hoje essa estrutura mudou.

E agora essas tarefas são na verdade eventos que são pré-configurados com timeout que quando invocados algo determinado acontece.

Algo como:

HungerTick (1seg) > evento de subtrair o valor da fome.
TirenessTick (1seg) > evento de subtrair o valor da Cansaço.
ThirstTick (1seg) > evento de subtrair o valor da Sede.

acredito que ainda vou ter de pensar em uma forma de integrar a inteligência artificial, para tomar uma decisão e deixar uma tasklist.

Penso em algo parecido como The Sims, acho muito agradável essa idéia.

mas por enquanto não é um roadmap, estou desenvolvendo e descobrindo o que é Leben.

Hoje não tem update do Leben :x

Também tenho outros projetos.

hoje recebi um comentário no meu youtube de um mod manager que eu havia feito, era uma pessoa com dificuldade, então enquanto estava respondendo ele de como fazer funcionar e percebi que havia outro vídeo explicando como minha ferramenta funcionava, fiquei bem feliz e orgulhoso.

Então parei um pouco pra dar um update no Leben, só pre adicionar alguns recursos no mod manager.

ah! o manager é pro jogo Kenshi, por enquanto parei um pouco de jogar, mas é muito bom, um dos jogos que mais joguei no Steam.

Leben – Day 31

Bom…

Li bastante conteúdo e não… eu não li o livro inteiro ou todo conteúdo que postei recentemente, pois estou procurando técnicas, mas achei outros conteúdos bem pertinentes.

Encontrei esse post: Coffee Brain Studios – Finite State Machine vs Behaviour Tree, A True Story.

o que me chamou atenção é: eu pensei usar Finite State Machine (FSM), mas Behaviour Tree (BT), mas quero deixar a AI Complexa, independente e Extensível, pra isso acredito que terei de tomar a mesma decisão, implementar minha própria Behaviour Tree.

Gostei bastante desta implementação: Libgdx-AI,A Conclusão é interessante, mas a explicação extensa é de grande valia pra mim.

continuarei pensando

inté.

Leben – Day 30

Nem sempre conseguirei adicionar imagens ou algo visível de como está andando o projeto.

hoje estou lendo alguns conteúdos de AI

O Livro que estou lendo como referência, pra não ter de reinventar a roda.

Inteligência artificial para jogos

outras referências: Wiki e Um Post do Chris Simpsom sobre como funciona AI

é redundante ler a mesma coisa, porém tem graus de complexidade onde eu posso escolher em qual deles me aprofundar e quando.

sou autodidata faz muito tempo e desta forma eu controlo quanto e como, fico mais inclinado á aprender.

Ainda acho que hoje crio um Arcabouço para apresentar algo, se ficar claro eu posto.

Leben – Day 29

Juntando todo o trabalho feito até o momento, temos esse resultado:

Ainda há ajustes de animação, a animação também “trava”, o Pathfinding dá um bug quando entro em certos localizações.

Mas, já existe esse “sandbox” pra começar colocar itens e testar e fazer algumas coisas.

ainda é necessário fazer o código do behaviour tree, sendo algo muito complexo, não acho que vou adicionar no jogo.

Vou preferir isolar a AI, testar direto num console, depois passar pro HTML ou WPF, e depois que estiver razoável, quero criar ferramentas pra manipular, depois crio uma forma de portar essa instruções pra engine, até o momento essas foram as melhores formas de trabalhar que percebi.

Toda vez que tentei fazer tudo de uma vez, direto na Engine a quantidade de coisas que eu precisava fazer e aprender era overwhelming…

bom é isso, sim, duplo post hoje, mas ontem não deu pra postar e não fiz muita coisa.