So things got busy and I lost interested and motivation.
But I’m back!
Major changes in approach:
- iOS and macOS only (Swift in Xcode not C# in Unity)
- 2D not 3D (SpriteKit not Unity)
- Randomly generate basic terrain from perlin noise
- Basic pathfinding
- Basic terrain save and load
- Single villager that randomly walks
Some great simulations are a feedback loop with exits.
Looking at plants in the game, I think the way to go will be:
- Sunlight makes energy
- Energy fuels plant growth
- Plants limit the available sunlight for nearby shorter plants
- Plants have different rates of sunlight conversion, growth, growth efficiency and maximum sizes
- The faster you grow, the more energy you require
This will cause competition for sunlight to be an influence on plant distribution. Large trees should block the sunlight around them, causing plants with high energy needs to not grow nearby. A small flower with low energy requirements should be able to live happily in the shade of a giant oak, but you shouldn’t get two oaks growing right next to each other.
I have now done a quick simulation of sunlight affecting growth: the small highlighted ‘tree’ below will actually never grow any further until the taller trees die out. I added a debug cylinder as a ‘canopy’ indicator for now.
Sad tree will never grow 🙁
I’m estimating the available sunlight by checking for nearby taller plants and multiplying the available light by the density of the canopy of overlapping trees by the ratio of their overlap. It’s sort of a 2D approximation of available sunlight, but it actually models out pretty well.
Next I need look at setting up the relationship between stored energy, sunlight and growth, as well as making plants die out or not germinate if they lack sunlight.
After a lot of swearing at Unity and C##, I can now sort of save and reload the game. More for testing than anything I expect to make into the final code.
XML and back again
Plants growing and spreading via seeds
So, let’s get this show on the road.
The goal: a fun settlement simulator with procedural elements.
- Realistic local ecosystem (plants and trees grow, animals can be over-hunted)
- Primary, secondary and service industries (farming, mining, cooking, teaching)
- Not a violent game, but people can get injured and sick
- Townspeople have family and social structure
- Economy based on barter and trade
What makes you think you can succeed?
I’ve had some minor successes with games in the past on the App Store. This is a game I have been wanting to make for a long time, and I think I can get it done.