WRL5 – 🌟 Atualização do Leben Frontier 🌟

Hey, pessoal! 😊

Essa semana o progresso foi um pouco mais lento, mas isso faz parte do processo. Tenho estado com o tempo bem restrito e parece que vai continuar assim por mais algumas semanas. Mas não se preocupem, o desenvolvimento continua firme e forte! 💪

🔄 Ao invés de trabalhar com renderização 2D, decidi investir em alguns testes de renderização 3D. Os benefícios a longo prazo são enormes para o desenvolvimento do projeto, e estou empolgado com as possibilidades!

Além disso, voltei a desenvolver no Godot. 🌱 Durante essa jornada, experimentei várias engines como Unity, Godot e Stride (Xenko). Apesar de todas terem suas vantagens, percebi que ao usar Mono, estava mais focado em criar ferramentas para facilitar o desenvolvimento do que realmente focando no jogo em si. Por isso, estou retornando ao Godot, que me permite concentrar mais na criação do jogo que quero construir. 🎮

O caminho é longo, mas estamos dando um passo de cada vez.

Esteja Curioso! 🧐✨

WRL4 – 🌍 Geração de Chunks, Diagrama de Whitaker e Melhorias na Geração de Mundo 🌱

Olá, exploradores de Leben: Frontier! 🚀

Estamos animados para trazer uma atualização repleta de melhorias e novos recursos que tornam o mundo de Leben ainda mais imersivo e consistente. Confira o que estivemos desenvolvendo:


Melhoria na Geração Procedural 🎲

  • Geração de Objetos e Lógica de Biomas: Nossos biomas ficaram mais inteligentes! 🌿 Árvores, arbustos e outros objetos agora surgem com base em suas condições ideais de temperatura, umidade e altitude, garantindo um ambiente mais natural e variado.

  • Bordas do Oceano e Suavização: A geração de mapa de altura nos Chunks foi aprimorada com bordas de oceano e uma transição suave nas extremidades do mundo, criando um limite visualmente mais agradável e realista para suas explorações.

  • Revisão na Geração de Mundo: Fizemos ajustes significativos nos parâmetros de geração de mundo e nas configurações de conteúdo, alinhando tudo com a nova lógica de biomas e geração de objetos. Espere um mundo mais vivo e dinâmico do que nunca!

Testes de Estética 🎨

  • Com as novas regras de geração em vigor, estamos definindo e testando a estética dos nossos ativos artísticos e configurações de entidades. O mundo está ficando ainda mais bonito à medida que exploramos e refinamos o visual de diferentes biomas.

Barra de Saúde 💪

Animação de Caminhada 🚶‍♂️


Esta atualização marca um grande passo em nossa jornada para criar um mundo vivo e dinâmico em Leben: Frontier. Como sempre, seu feedback é essencial para nós—compartilhe suas impressões!

Até a próxima, exploradores!

Esteja Curioso! 🌟

WRL3

🌟 Leben: Frontier – Atualização Semanal 🌟

Olá, Pioneiros do Leben! 🚀

Estamos de volta com mais uma atualização cheia de novidades e progresso no desenvolvimento do Leben: Frontier! Vamos conferir o que rolou essa semana:

🗺️ Mundo Procedural em Expansão

Continuamos trabalhando na geração procedural de mapas! 🌍 Embora ainda não esteja exatamente como queremos, o sistema está evoluindo e novas mudanças estão por vir. Implementamos o carregamento de chunks, onde o mapa é dividido em pedaços menores. No momento, estamos carregando muitos chunks ao mesmo tempo, mas para a versão final, planejamos otimizar isso para carregar apenas os chunks adjacentes, garantindo uma performance suave. Confira um vídeo mostrando o progresso até agora!

🎥 Novas Animações (provas de conceito)

Além disso, focamos em melhorar as animações dos personagens. Dê uma olhada nas novas animações lateral e frontal:


🤖 Desafios na Inteligência Artificial

Uma das partes mais complexas do desenvolvimento até agora tem sido a implementação das interações no jogo. As interações são genéricas, permitindo que os NPCs descubram sozinhos o que fazer em diferentes situações. Cada NPC possui um Goal (objetivo) e, a partir disso, cria planos de curto e longo prazo para alcançá-lo. Isso adiciona uma camada de profundidade ao comportamento dos personagens, mas também torna essa etapa uma das mais complicadas de implementar. Estamos trabalhando duro para garantir que essas interações sejam naturais e envolventes, tornando o mundo de Leben: Frontier ainda mais dinâmico e reativo.

⚙️ Interações com Objetos

Com essas interações genéricas e baseadas em Goals, os personagens podem manipular o ambiente de formas variadas e significativas, o que enriquece a jogabilidade e abre novas possibilidades de interação. Este é um passo fundamental para criar um mundo vivo e interativo.

Estamos ansiosos para compartilhar essas melhorias com vocês. Como sempre, sua opinião é essencial para continuarmos moldando o Leben: Frontier na melhor experiência possível.

Fiquem ligados para mais novidades e, como sempre, Esteja Curioso!

Weekly report: Leben – WRL2

🚀 Atualização de Desenvolvimento de Leben: Frontier! 🚀

Olá, pioneiros! 🌍

Como um desenvolvedor solo trabalhando em “Leben: Frontier” em tempo parcial, estou animado para compartilhar algumas novidades com vocês! Mas primeiro, uma risada—recentemente descobri um bug hilário onde uma árvore decidiu que queria se tornar um foguete! 🪵🚀 Você pode conferir o clipe:


São momentos como esses que me lembram das alegrias (e desafios) do desenvolvimento de jogos!

🛠️ Últimas Mudanças e Melhorias:

Novos Recursos:

  • Aprimoramento de Artesanato: 🛠️ O sistema de artesanato ficou mais profundo com uma nova árvore de habilidades para profissões. Personalize as habilidades dos seus aldeões de acordo com o seu estilo de jogo!
  • Diplomacia Melhorada: 🤝 Engaje-se em interações detalhadas com outras aldeias. Seja formando alianças ou negociando comércio, a diplomacia nunca foi tão envolvente!

Outras Refatorações e Melhorias:

  • Reformulei os componentes de IA e gerenciamento de recursos para uma jogabilidade mais fluida.
  • Aprimorei a lógica de pesquisa e atualizei os sistemas de agricultura, mineração e gestão de facções.
  • Fiz melhorias significativas no manuseio de blocos dinâmicos e na geração de objetos.

Estilo de Arte & Correções:

  • 🎨 Introduzi um novo estilo de arte e corrigi alguns bugs para uma experiência mais suave.

Lembre-se, tudo o que estou trabalhando ainda está em estágio de protótipo e nada foi totalmente implementado.

Obrigado pelo seu apoio e feedback contínuos! Estou fazendo grandes progressos, e sua participação é uma parte fundamental disso. Fique ligado para mais atualizações e não se esqueça de compartilhar suas opiniões comigo!

outro vídeo, com todas as mudanças:

Esteja Curioso!

Weekly report: Leben

Leben: Frontier – Um Novo Mundo de Aventuras e Estratégias

Olá, aventureiros e estrategistas!

Estamos empolgados em compartilhar com vocês os mais recentes avanços no desenvolvimento de Leben: Frontier, nosso RPG de simulação 2D. Embarque em uma jornada para explorar um mundo místico onde ruínas antigas encontram terras férteis, florestas densas e minas profundas. Descubra, construa, lute e evolua enquanto desenvolve habilidades e gerencia relações dinâmicas com outras comunidades.

O Que Esperar

Prepare-se para:
Explorar biomas únicos e misteriosos.
Construir e personalizar sua própria vila.
Lutar contra ameaças e proteger seus recursos.
Desenvolver habilidades em agricultura, mineração, pesca, e muito mais.
Gerenciar a vida na vila, desde a produção até as relações interpessoais.
Descobrir segredos antigos e artefatos mágicos.
Automatizar tarefas e melhorar a eficiência da sua vila.
Interagir com NPCs, formando alianças e enfrentando rivais.
Viver ciclos de vida e ver gerações progredirem.

Cada partida em Leben: Frontier oferece uma experiência única, cheia de desafios e oportunidades. A história da sua vila será escrita com cada decisão que você ou qualquer cidadão vivendo no mundo tomar.

Veja o Jogo em Ação

Confira o estado atual do jogo no vídeo abaixo e veja um pouco do que estamos construindo para você:
Lembrando que estamos na fazer e prototipação, essa é uma versão com muita coisa pra ser melhorada.

Fiquem atentos para mais atualizações e preparem-se para embarcar em uma aventura épica com Leben: Frontier!

Até a próxima, exploradores!

A equipe de desenvolvimento de Leben: Frontier

Esteja Curioso

Leben 41

não mudou muita coisa

Hoje só voltei pra parte de coleta de recursos e um pouco de animação.

agora já consigo colocar unidades pra trabalhar em um depósito e esperar que os itens fiquem prontos.

o zoom foi algo já implementado

agora é pensar nas rotas

minha idéia é ter uma base móvel e o tempo é curto porque a “Mancha” se aproxima.

Esteja Curioso!

Leben Dia 39 e 40

Mono é um respiro novo pra algo antigo :sweat_smile:

Depois que fazer um refactor das coisas que tinha (desde maio de 2020) e enviar pro mono

achei até que seria complicado fazer toda a alteração, mas não… como eu já tinha separado o Leben.Core
a transição foi bem simples.

a única dificuldade foi re-lembrar como fazer Draw no mono, como não é uma Engine tive que começar do zero algumas coisas.

no dia 39

só foi o refactor, fazer draw de object, alguns itens de interface,
viewport draw, um relógio pra esboçar um comportamento, estações e recursos, provávelmente teve outras coisas, mas eu acabei esquecendo.

hoje foi implementar as animações, caching de texturas e como eu quero que exista uma possibilidade de modificar o jogo nas texturas também.

eu simplifiquei o jogo para carregar PNGs, não é o ideal em alguns dispositivos haverá perda de performance, mas eu penso que por enquanto não é um problema.

também implementei um sprite tipo atlas que tinha no godot (eu gostei disso, daquele engine)


consigo configurar todas texturas num arquivo Yaml:

gameObjects:
  - texturePath: house.png
    textureName: house
    size: { x: 50, y: 50 }
    scale: 1
  - textureName: "grassTexture"
    texturePath: "Content/grass.png"
    scale: 1.0
    size: { x: 48, y: 48 }
    offset: { x: 1, y: 0 }
    isAnimated: true

a melhor parte nisso é a customização externa, ainda vou deixar uma forma de apertar um botão e as texturas serem carregadas de novo, assim posso simplesmente ir montando com placeholders e atualizando conforme vou achando que funciona.

o jeito que implementei é muito tranquilo ir de um objeto sem animação alguma pra algo que se move.
então posso deixar tudo com um única célula e assim que for conveniente apenas mudo o png e atualizo o yaml

um vídeo pra mostrar como ficou …

era só, nada rocket science.

Esteja Curioso

Leben dia 38

Voltei pro desenvolvimento do Leben…

Vai ano, volta ano e sempre pego esse projeto, toco por alguns dias e paro.

Hoje eu cansei de usar o godot, estava na versão v3.3.2.

estive fazendo o upgrade do projeto pra versão v4.2.2, mudou bastante coisa, acabou que eu tive que portar o Leben.Core pra net core 6.0

terminei de portar e comecei trabalhar no projeto
Vira e mexe vem o erro:

eu deleto o script, mudo o script, crio um novo, mas nunca é uma coisa simples, parece que foi uma gambiarra pra funcionar C# nessa engine.

por conta disso vou mudar de engine de novo…
pra quem não viu o histórico…

eu comecei o projeto com Unity, foi pro Mono, Unreal, tentei zenko/stride.

Voltarei pro Mono que já tem um ecossistema mais próximo do que quero trabalhar

eu estou tentando ir desenvolvendo com BDD então eu não preciso de uma Engine ainda

só quero adicionar os objetos programaticamente e rodar pelo Leben.Core.

estou indo por essa abordagem porque quero ter a possibilidade de ter Full mod support, sendo possível alguém se quiser re-escrever como a IA funciona.

mas essas engines são muito travadas…

era isso

Esteja Curioso!

docker-compose.yml com podman

Contexto

Mesmo adorando usar docker, principalmente porque ele tem uma interface :heart_eyes:

acabei tendo que buscar alternativas, já que ele começou ser pago para empresas, sempre tentei compartilhar a liberdade que existe em usar um ambiente dentro de um container.

Pra mim é algo mágico poder simplesmente matar o container e fazer de novo, sem medo de perder algo, ou até mesmo pedir pra alguém testar algo.

enfim…

um dos meus projetos é apresentar alguns environments para outras pessoas, afinal é mais prático você apresentar algo á alguem usando o recurso do que pedindo pra pessoa estudar

em minhas conversas sempre é o mesmo papo, pergunto se a pessoa conhece docker, e no final a pessoa geralmente fala “já ouvi falar, mas nunca usei”, quando isso acontece eu tenho a oportunidade mais divertida, porque hoje eu compartilho minha tela e começo mostrando como é “dificil” subir alguma coisa, eu escolho o item mais simples que conheço: rabbitmq que por um acaso é um outro amor que tenho 😀

Exemplo de subir uma imagem

compartilho geralmente meu repositório de environments

então abro um console e digito:

git clone https://github.com/millerscout/environments.git
cd environments
cd rabbit
cd Default
docker-compose up


e Voilá! tá pronto, só abrir o localhost:15672

logo com user guest e senha guest e pronto

é tão simples que acaba sendo mais fácil ainda quando eu mostro como eu fiz, no docker-compose.yml

não é nada mais nada menos que só isso:

version: '3'

services:
  rabbitmq:
    image: "rabbitmq:3-management"
    hostname: "rabbit"
    ports:
      - "15672:15672"
      - "5672:5672"
    labels:
      NAME: "rabbitmq"

configurando o podman

bom primeiro eu tive que instalar o podman (duh?!)

tive que instalar um script em python para funcionar o podman-compose, tudo instalado, tranquilamente

mas quando executei: podman-compose up

sem sucesso acabei fazendo o que todo dev experiente faz, abri o google e pesquisei :scream:

e achei dois posts que são importantes:
https://github.com/containers/podman/issues/11530 que é o “problema” que eu tenho
https://www.redhat.com/sysadmin/container-image-short-names que é a explicação do motivo que acontece.

então acabei alterando meu yml pra funcionar tanto com podman quando docker apenas acrescentando a origem da imagem

version: '3'

services:
  rabbitmq:
    image: "docker.io/library/rabbitmq:3-management"
    hostname: "rabbit"
    ports:
      - "15672:15672"
      - "5672:5672"
    labels:
      NAME: "rabbitmq"

sim… somente essa mudança.

bom, agora que você sabe como rodar isso tanto em docker quanto em podman, vai lá e começa brincar e compartilhar com alguém do seu time que ainda não está usando 😀

até mais

Esteja Curioso!

Leben – Day 37

Continuando com o desenvolvimento

fiquei vários dias olhando pra tela sem vontade de escrever nada, fazer o desenho do mapa, estava me deixando maluco, o perlin não estava funcionando como eu queria, até que joguei Swag and Sorcery, acabei me lembrando de como eu gosto de 2D side-scrolling

então vou me forçar simplificar mais o Leben pra algum dia terminar ele :sweat_smile:

O que fiz de novo?

estou começando desenhar alguns tilesets, havia falado que ia usar Krita, mas acabei preferindo aseprite, comprei no steam mesmo, se não me engano usei o grátis e me apaixonei.

nada muito completo, apenas o background e o chão, vou fazer o render do céu de outra forma pra facilitar transição de dia/noite, mas por enquanto, é o suficiente.

ainda tem muito trabalho, mas eu estou gostando:

estive sincronizando com a cloud os assets e os códigos que estive fazendo.

vou montar agora algumas construções e começar “brincar” com o jogo