Discord: Join the Discord!
Steam Wishlist: Wishlist Peasant Simulator on Steam!
Bluesky: Follow on Bluesky!
Build #157
Big post, lots of changes.
Fire Propagation
Fire is something I've wanted in the game, and I've started including it into the background sim. It behaves about as you would expect, the fire searches for nearby entities, checks if they are flamable, and if so, lights them on fire - repeating recursively.
Interestingly this has helped highlight some other performance issues I was having, and have since cleaned up! As a result, crops now are 13x more efficient then they were before! Which is great, because the game world needs to support hundreds of thousands of them.
Fire hasn't been added in a general case yet, its just something I'm testing in the editor - but as a proof of concept it does work. Fire represents unique challenges to the games design, and in a PvP sandbox every engagement could simply boil down to nuking all the forests in a region with fire. Which would be cool, but it needs to be balanced.
Kingdoms, and Territory
I've started working on one of the games major features - Kingdoms, Territories, and Holdings.
The basic idea is that each player can stake a claim to a specific area of land, and then physically update that border over time by securing new "Flags" into it.
As you can see in the video, territories won't simply be circles or squares, but actually organic borders that can be moved, and contested in War. If an unsecured flag is uprooted by a player or an NPC, then the territory will re-calculate based upon the flags left, allowing you to actually usurp other lands.
Eventually, the goal is to use territories to assert "ownership" over regions, and the resources they contain. Lords will also be able to specify what actions that Neutral and Allied players and NPCs within their territories are able to physically perform. If you want to allow "Peons" to farm, but not open the Armory, the system will eventually support this.
A wishlist feature for this could be storing the controlled territory over time in a "history" timeline, so anyone can explore the historical timeline of the area ... but that is for a future blog.
Physical Cooking
Physical cooking is in the game now, and it works by actually placing items on, or in other heat sources:
When placing meat next to a heat source, like in this image, the heat source will slowly impart heat to the item. If this item is "Heat Transformable" - it will change into a new item based on a series of rules. In the case of meat, it will become cooked!
Here I'm debug drawing the range of the fireplace. Because the blue rectangle is within the orange circle, the heat of the fire slowly imparts temperature onto the meat.
If the meat was placed closer to the red sphere, it would burn and convert into burned meat.
The funny thing about this is that after implementing it, I immediately felt like I was cooking on a grill as I kept adjusting meat to be close enough to the fire to cook quickly, but not too close to burn.
Cooking is handled by a list of Heat Transformable rules:
In this case, Raw Meat can be come three things, 1. Cooked Meat, 2. Dried Meat, or 3. Charcoal.
Which item it becomes depends on what temperature range it exists within, and for how long. As with all ECS things, this logic will scale to tends of thousands of items being cooked in the game world simultaneously.
Proximity Crafting
Following along from the cooking theme, I've also added "Proximity Crafting" to the game. Keeping with the theme of physically deforming items in the game world, to craft anything you place the constituent items on the floor in close proximity together, and then strike them with a hammer.
When a new player enters a world, they can pick up a rock - which functions as a primitive hammer. If they strike another rock with this hammer, this creates a chipped rock on the floor - their first primitive axe.
Eventually striking a pile of lumber and rope etc, will combine them into varying furniture. The system needs more work but functionally its there.
Thanks for Reading!
Thanks for reading! In the coming weeks I'll be improving the kingdom system, adding user interface to interact with it, naming, and server wide notifications for when a new kingdom is founded, or destroyed.
Discord: Join the Discord!
Steam Wishlist: Wishlist Peasant Simulator on Steam!
Bluesky: Follow on Bluesky!
