Logo

tech debt and beetles 12/05/2025

the latest feature I decided to implement took me a long while, not because it's very complex, but because it surfaced many issues with the way I had been structuring things in code. that led me to a long and stressful rewrite of a lot of stuff - starting at the persistence feature (save game) but trickiling down to everything else. I guess the first rewrite came way earlier than I antecipated! at least I'm sure it's made the features more robust!

anyway, with the boring stuff out of the way, the feature I initially wanted to implement and finally finished was entity inventories! now entities can hold other entities inside themselves! to illustrate that point I decided to create 3 entities with a symbiotic relationship between them: acorns, trees and beetles. the cycle goes like: acorns grow on trees, beetles visit trees and grab them, wander around for a bit and drop the acorns on the ground - then the acorn grows to a tree and the cycle repeats

that also prompted me to create a more complex behaviour system for insects, with some decision making features. because of that I was able to add a nice extra behaviour where the beetles sometimes would rest inside the trees, amongst the acorns

I still haven't named and made the tree's artwork, but I decided to play a little bit with the beetle. not sure if I'll keep it like that or not. I'm calling it "Lucanosator arboralis" (from lating lucanus "stag beetle" + sator "sower" + arboralis "from the trees")

I'm also planning to add some graphics to the HUD that would indicate what entities are holding in their inventories. I'm still experienting with design, but I think implementation should be fairly easy

eye candy 10/04/2025

now I'm onto some much more interesting things: the HUD. this by itself is already creating so much more depth to the game, because I can now give some personality to the entities and experiment with mood, art and text

to celebrate this milestone, I took some time to create another rather complex entity and its accompanying imagery and lore. it also makes use of a new feature that allows entities to evolve into other forms. I'm calling it Luminifera violumbria, a purple glowing moth, and its 3 stages: caterpillar, chrysalis and moth. see the evolution line, their 8x8 sprites and 32x32 portraits below:

as with other entities, I've only been experimenting with functionality/art/text style and haven't yet defined their place in the game loop. I'm truly enjoying this "scientific" mood as if the player is some sort of researcher studying a garden, but keeping it light with some brief descriptions that edge poetry/haiku (as observed by my partner)

another interesting tiny feature I've just added is the "entity focus lock", featured on the video. moving entities are now automatically followed by the camera. I felt the urgent need to implement that after a very frustrated moment trying to show sprites to a friend the other day!

persistence 04/04/2025

I've been working with some "boring" stuff these days. mostly data persistence. because of the game's nature, there's just a lot to store - data from every single tile and entity. right now it isn't much, but I'm expecting the game to grow in complexity and I had to look for a future-proof solution. so I learned what are the available methods offered by Godot (the game's engine) and decided to go the "Resource" route

resources are objects that Godot can load and keep in memory while the game runs. it's an easy way to load and save custom game objects. since I've been building the game using the Entity-Component System (ECS), a known coding pattern popular in game dev, there are many custom objects to handle and making custom serialisation for them would be a bit too error-prone and tedious. this post on the official Godot forums has been invaluable for this work

another interesting topic is when to save the game. there's no real straight answer, especially when taking into account that this is a cross-platform game. desktop is ok, but mobile is quite finnicky because the OS is designed to kill applications on the spot, which I've found through my experiments to be a very easy way to corrupt save files

so I decided to make the game save on 3 situations: when the OS is trying to gracefully kill it, which means closing the window on desktop and pressing "back" on mobile (this gives a small window where a save can occur), every 2 minutes whilst playing, and I thought of adding an in-game object that would trigger a save, but I still haven't decided details. maybe something like a "runestone" that sits at the corner of the garden? I keep thinking that having settings as in-game objects is very fun and adds to the immersion, so I left a reminder to experiment with that in the future

now that persistence has advanced quite a bit, I feel safe enough to start building the game's HUD - and with that I mean fighting with Godot's UI features until I figure them out! so hopefully by my next update I should have some nice imagery to show :)

it's alive! 26/03/2025

I've just finished implementing the first sentient being: a little snail dude. things get a bit more complicated once AI (not in the buzzword sense) is involved. my idea with the snail is to introduce a counterpoint to balance the bushes growth and prevent them from taking over the garden

to achieve that, I've implemented movement, attraction and consume mechanics. the snail would move randomly and periodically browse its surroundings in search of a bush tile (I've added some debug lines to make it easier to visualise it while developing). once found, a pathfinding algorithm is triggered to guide it towards the target. meanwhile, every few seconds it will get hungry and devour one neighbouring bush tile

this work is very fundamental for all other fauna, as I'll want most or all of them to wander around and interact with certain tiles!

new beginnings 23/03/2025

it feels so rewarding to get the old hands dirty again and see some good results right from the start. it's my first attempt at a full project with the Godot engine, so I'm learning lots of things, but I'm moving at a decent pace already. I've been taking my time to build the strongest foundations I can, moving things around a lot to get a cohesive architecture, using good practices for version control and even, behold, writing tests!

I've built a bunch of little entities and systems already, including grasses that can hold nutrients, and bushes that draw nutrients from them and grow, put branches out, flower and spread seeds. I found that their shapes can create very interesting and organic patterns - especially because I made sure to make a few arbitrary parameters such as amount of existing nutrients on grasses and rate of nutrient absorption on bushes!

it's already possible to navigate with drag gesture on mobile or mouse/arrow keys on desktop, and to zoom with pinch gesture on mobile or +/- keys on desktop. I'm now off to finish the entity pick up mechanic!

project Symbiosis 20/03/2025

a few years ago, I was having a nice walk next to a beautiful and inspiring pine forest near Trento. I found this big rock sitting on a slope and I decided to rest there and appreciate the view for a bit. I eventually took notice of the stacks of dried grass on the ground below me (cut by some of the farmers that work nearby) and how this allowed a much better view of the soil - and the surprising amount of denizens that busily made their way through the relatively huge hills, valleys and stalks

there were at least five different types of ants: some solitary, some in their signature line formations, all behaving in their respectively different manners, cohabiting the land with small beetles, worms and a myriad of other lifeforms. there I sat for no less than two hours, eyes fixated on that tiny patch of grass the size of my feet. that little bustling land somehow became so much more interesting than the vastness of the forest and its imposing pines

at some point, I managed to spot this amusing story happening between a group of ants and a very stubborn, still green and rooted, stalk. there were initially one or two of them, doing the best their tiny pincers could to fall it, but it stood strong. they called for reinforcements and the group eventually grew to five, then ten, all relentlessly biting that poor stalk. it took me a while to realise they were actually prying a hole open on a tiny grass fortress and it held something inside. my curiosity spoke louder and I decided to grab a stick and become part of the team

the eleventh member of the squad then became an idle but curious giant. after I made easy work out of that stalk, I could see a delicate bright yellow and orange larva (belonging to god knows what species) surfacing from inside it. in the thrill of finally seeing their share of the loot, the little ants forgot to thank me and immediatelly ran to grab it to themselves. my reaction was to give the larva the end of the stick and, as it promptly grabbed it, I lifted it to safety

at that moment, I found myself in an ethical dilemma. my tiny intervention changed the whole course of that story (I gather no one else would come for the little guy's rescue). that tiny patch was a deeply interlinked system of systems, and either letting patterns naturally emerge and flow or conditioning them to my liking led to intriguing repercussions worth stopping and observing. whatever I did to the larva afterwards mattered less than that epiphany itself

that experience was the starting point for the conceptualisation of this project I've been calling by the alias "Symbiosis". the core idea of this game is to reproduce the feeling of amusement of interacting with small, but rich, emerging systems. the concept of actual terrariums is the biggest inspiration here - a self-contained environment of manageable size filled with flora and fauna

I think the game would fall into the "sandbox" genre, which distances itself from the notion of a game and becomes more of a toy. that means that no hard goals will be initially established and the fun aspects should come from naive discovery and exploration. another thing that I'm in favour of is to defy the consumerist trend of "fear of missing out" and "engagement" that have become so ingrained in the game scene since the infamous shareholders realised the gold mine that modern gaming has become - for that, I want this game to have the slowest pace possible even if it means introducing limiting mechanics to it. it's worth noting that while it would be nice to get revenue out of this work, I'm leaving monetisation as a whole for much later (if any). another important aspect is the fact that the game is being made in the Godot engine, making it possible for me to export it to all major platforms!

I eventually came up with this concept image that summarises the core idea:

there are lots of small elements to unpack there: the game will play from a top-view perspective, represented by a 8x8 pixel wide tileset representing a garden and entities that grow on it. the player will be able to navigate it by dragging the crosshair around and focusing different entities. the focused entity will then have its details displayed on the GUI at the bottom. I've added a couple buttons there, but currently I want to get rid of them and simplify it to a simple click/tap action

the entities will have different behaviours and will be able to interact with other entities, creating a form of ecosystem (eg: some plant grows, an animal eats it, its feces fertilise the soil, new plants grow on it). players will be able to "pick up" entities and "use" them on others, resulting in various effects (a picked up rock, when used on a plant will smash it)

of course, I wouldn't miss talking about the giant Buddah-like creature standing right in the middle of it. I want to explore the concept of "gods" coming to watch the garden and offer rewards in case they like it or demand offerings and sacrifices to appease them. the idea is to make the story a bit richer and introduce some slight pressure to the player

there's really a LOT of features I want to add to it, but I think I'm off to a good start already. the game is being actively developed and I'm planning to release it in small iterations for playtesting as I get things done. of course, this being a solo dev undertaking, the final release date is very far from known and I might go Adams brothers here, spend years and never call it finished!

about arvere

hello! I'm arvere, solo game developer, art and music enthusiast. in this dev log I'll keep updates about my projects in game design. here's a little bit about me and my work:

I like to think of my process as artistic and experimental. my concepts come to life out of the desire to replicate interesting or pleasant, naturally occuring phenomena, systems and feelings as observed from my own experiences

I treat each project as work of passion, rather than a product, that requires meticulous handcrafting of every individual element

my method aims to make all elements of design agree and harmonise as deeply as possible. this requires a long back-and-forth flow of form following function, and function following form, allowing the project to have a mind of its own

aesthetically, I have a big appreciation for simplicity, retro graphics and the challenge of storytelling with minimal resources. this has interesting practical implications such as better cross-platform portability and lower specification games that are more accessible and democratic