I’m bad at introductions, so I’ll just get to the point. This is a blog about the development of SagaSim, which might best be described as a “world simulator.” It is currently under active development, and all the features aren’t even planned yet. I’m just working my way through it, one step at a time. Maybe it will be successful, maybe it won’t, but it’s already been quite a learning experience.
So far, the following major features are planned:
- Procedural generation of world, including terrain, rivers, climate zones, and biomes.
- Dynamic generation of plant and animal species with unique DNA (over 16 million possible combinations.)
- Dynamic generation of intelligent, civilized life forms.
- Simulation of resources, civilizations, important individuals, economies, politics, historical events, disasters, technological development, sociology, etc.
- Virtually all features can be controlled by the user.
Given that description, it would be better to categorize SagaSim as a sandbox than as a game. There is no way to “win,” the point is to explore the options and watch your world develop and evolve. Everything is displayed using simple 2D graphics, though I don’t discount the possibility of a 3D view at some point.
As of this posting, I have the world generation (mostly) done, and I’m about 1/3 of the way through defining the DNA system. Future posts will delve into detail about exactly how all of this works, so stick around!
For those who are interested in the basic technical details of SagaSim, my platform is Python 2.6 with Pygame, psyco, and NumPy. It is only limited to Python 2.6 because of psyco, though if PyPy ends up fully supporting Pygame and NumPy I will probably transition to that.
I’m still on the fence about what to do with the source code, and whether I should try to raise money to help fund development. I’ll certainly entertain suggestions, though.
Feel free to post any questions, comments, or encouragement!