I've recently been working on a game that builds the universe and world of the game on its own when it is run. A god gives birth to the universe, the universe gives birth to a pantheon of gods, who build and populate the world.
My aim is to give every character in this game a set of personality traits, a goal, and an intelligence rating. I hope to have the game govern itself by having the various creatures in it all pursuing their own motivations to the best of their ability however they prefer. I want to use this so the player can really feel how their actions have consequences for the characters around them. I want a farmer to stab you in the back because you trespassed in his garden when all he wanted was some peace and quiet.
My actual question is this; is this possible, and if not, what problems will prevent me from realizing my goals?
Aug 31 2019, 8:09 pm
Aug 31 2019, 8:20 pm
I realize this somehow ended up in the wrong section of the forum. Sorry about that.
Almost everything is possible, lol. About your game, I think you can do it, the question is in time you can spend on it.
I actually like the idea of a procedurally generated game world, that starts building itself when it first boots up. It could even include it's own unique name, so there could be more than one "world".
The game could generate itself in stages over time based on the behavior of the people playing the game.
This mostly talks in terms of Unity, but should give you a bit of a sense of what might be involved in terms of procedurally generating terrain / NPCs / villages or other structures: https://www.gamasutra.com/blogs/JoshNewland/20150624/246897/ 2D_procedurally_generated_world_building_in_Unity.php
Usually the bit that sucks for someone who's not great at more complex algebra is the Perlin noise generation that a lot of articles on the internet will use to make this procedural generation happen. In BYOND, if I remember, there was a few libraries that could generate Perlin noise for you. The only that I could find from Google was: http://www.byond.com/developer/Hazman/Perlin
There are also a bunch of BYOND forum posts that will touch on this subject:
Hope that helps a bit! You've definitely picked a big subject there.
From Evosim (which sourcecode I lost and am currently rebuilding a new version from scratch), I learned that highly interactive games like that could become tick-heavy and laggy depending on the size of the universe and if you want all the mobs to follow a certain behavior. Be ready to use tick_lag checks and add sleep(1) in case your game is running through too many procs.