[p]In this devlog, I want to share how a simple and familiar algorithm — Flood fill — helped me massively speed up pathfinding in my game.[/p][p][/p][p]Why Bother?[/p][p]Imagine you have a big map filled with obstacles: houses, walls, trees, etc. When a creature wants to move from point A to point B, the game needs to figure out if it’s even possible to get there.[/p][p]Running a full pathfinding algorithm every time — even when there's clearly no path — wastes time and resources. So I decided to precalculate which areas are actually connected and only allow pathfinding when it makes sense.[/p][p][/p][p][img src="https://clan.akamai.steamstatic.com/images/40199210/6f9de5bc1de8914116a4da35a00402f2085ed85d.png"][/p][p][/p][p]The Idea: Divide the Map into isolated zones[/p][p]Every time the player places an unwalkable structure (like a wall) on a tile, the game runs a Flood fill algorithm from each walkable side of that tile.[/p][p]The algorithm explores all reachable walkable tiles connected to that side and tries to form a new isolated zone.[/p][p]You can think of it like pouring paint from each side of the blocked tile — each "puddle" becomes its own zone.[/p][p][/p][p][img src="https://clan.akamai.steamstatic.com/images/40199210/ca8132393eee939e20e913233ca8a8206be299ed.gif"][/p][p][/p][p]As a result, instead of running expensive pathfinding calculations, creatures in the game now simply check whether their destination tile is in the same zone they’re currently in.[/p][p]If it is — go ahead and search for a path.[/p][p]If it’s not — no need to try: there's clearly no way to get there![/p][p][/p][p]Support me on Boosty:https://boosty.to/ricktechnolithic[/p]
Paleon Reinvented Devlog #0
Chunk-Based Tilemap Architecture
The tilemap system in the game is based on a chunked layout, where the full tilemap is divided into multiple chunks depending on the tilemap dimensions and the configured chunk size. This architectural choice significantly improves performance and memory efficiency, especially for large maps.
The number of chunks depends on both the overall tilemap size and the chunk dimensions. For example, a tilemap that is 128 × 128 tiles in size, with each chunk being 8 × 8 tiles, results in a grid of 16 × 16 chunks. Each chunk is internally represented as a render target texture (RenderTarget2D). Whenever a tile inside the chunk is modified, the corresponding chunk is marked as dirty and automatically re-rendered to its new texture and disposes the old one.
To optimize rendering performance:
Empty chunks (chunks that contain no tiles) are skipped entirely and never rendered.
The tilemap system respects the camera’s visible area. Chunks outside the current camera bounds are culled and not drawn at all.
Tile Connections System
Tile connection system that dynamically selects tile variants based on their surrounding neighbors. This helps create seamless terrain transitions without manual work. There are three connection modes available:
- Individual: Each tile is rendered independently, with no awareness of neighboring tiles. This mode is simple and used for non-terrain elements (items).
- Sides: A tile checks its four direct neighbors (top, bottom, left, right) and selects the appropriate variant to blend with them. Ideal for terrain with simple transitions (paths, walls).
- Sides and Corners: This advanced mode considers all eight surrounding tiles—including diagonals—allowing for smooth and detailed tile blending. Ideal for terrain with complext transitions (water, grass). It also enables the use of bitmasking for auto-tiling, similar to systems used in Godot and Tiled.
What’s New Compared to the Original Paleon
Paleon Reinvented introduces several visual and optimization improvements:
Tiles that are located at the edges of the map are no longer visually cut off. They now connect seamlessly with the tilemap borders.
When a tile is completely surrounded by tiles of the same type, it can randomly use a decorative variation
In the original Paleon, each season had a separate, dedicated Tilemap. This meant managing multiple full maps for each seasonal state. In Paleon Reinvented, the system is much more elegant and efficient: I keep a single tilemap and simply swap its Tileset at runtime depending on the current season.
Paleon (old):
Paleon Reinvented:
Our Discord server: https://discord.gg/bnGvx8mXyB Support me on Boosty: https://boosty.to/ricktechnolithic
Paleon source code is now public!
Hi everyone!
I’ve decided to release the source code of Paleon to the public — now you’re free to explore and study it. Since I started working on the project early in my programming journey, the code isn’t very readable, extensible, or maintainable.
Currently, we are working on two new projects (which is why there hasn’t been much news from me):
Ay Bulak — I’ll share more about it soon;,
Paleon Reinvented — an updated version of Paleon with all the improvements and features I couldn’t implement in original version of the game.,
If you’d like to contribute your own changes or improvements to Paleon, feel free to message me — I’ll be happy to help!
💬 Join the discord channel to follow the news of the projects: https://discord.gg/bnGvx8mXyB
Paleon Achievements!
An achievement system has been added to Paleon! With new updates there will be even more achievements!
Paleon 1.6.1 Multiple tools update
Changes/Updates:
Creatures can now carry multiple tools of different types with them at once
Settlers, while hunting, can use both melee and ranged weapons at the same time
Added a new tab to the creature UI where all equipped tools and clothing are displayed
Creatures can equip tools from tiles
Ability to manually remove equipment from creatures
Partial revision of localizations
Paleon 1.6.0 Dry manure fuel, Treadmill and assigning settlers to the hut
Features:
Dry manure fuel - a new type of fuel, used for heating housing and cooking
Manure drying area
Treadmill - used to generate mechanical energy by animals and settlers
Ability to assign settlers to a hut
Updates/Changes:
Removal of the "Equip weapon" order (The mechanics of tools will be changed soon)
Wooden plow and copper reaper now have durability
Updated the cost of building walls and floors
Settlers stop working when they want to sleep
Fixes:
Reworking the localization
Paleon 1.5.3 New localizations and Improvements
Updates/Changes:
Renamed the "Hut" category to "Settlement"
Moved grave and dolmen to the "Settlement" building category
Removed the "Religion" building category
Added repeatable recipes for threshing floor and thresher with hay as the target product, allowing control of hay production through "Production Limits"
Included fuel in the recipes for clay oven, kiln, copper smithy, iron smithy, and hearth
Bug fix:
Resolved an issue where only one animal would spawn when purchasing multiple animals of the same type
New localizations:
Chinese (Simplified and Traditional) (Thanks to EJane)
Turkish (Thanks to :D)
Paleon 1.5.2 Hotfix
Fixed game crash when trying to open the trade window
Paleon 1.5.1 Animal fat, Oil lamp, Japanese localization!
Features:
New item "Animal Fat", obtained from pigs and boars
New structure "Oil Lamp". Used for lighting, consumes animal fat as fuel
New food "Pemmican". Crafted from dried meat, animal fat, and berries
Updates/Changes:
Old wild animals can now defend themselves too
Male mouflon has a 50% chance to attack a settler during hunting
Health of animal offspring reduced by 50%
Health of old animals reduced by 30%
A settler with critical health cannot hunt and will seek a hut for recovery. If the settler cannot find a hut, they will try to escape from the animal
Localization:
Added Japanese localization. Many thanks to "Allgames-kari (Alis)"
Paleon 1.5.0 Purchasing animals and trading posts!
Features
Possibility to buy animals
Trading post (replacement of a merchant). Updates its assortment once a day
Now to grind flour you need to use a "Mealing stone" instead of a "Mortar and pestle"
Updates/Changes:
Added sound when making a trade in the trade window
"Mortar and pestle" is now only used for grinding ores
Price adjustments for some items
Fixes:
Localization fixes in the trade window
Trader can now sell hay
The exclamation mark did not disappear from the “Mortar and Pestle” construction button
The duration of the effect displayed the number of days, along with the number of hours
Modding: A lot of work has been done in the field of modding, here are the main ones:
Transferring all technologies to a json file
Separating animals of all ages into separate json files for ease of working with them