by Nash » Fri Mar 14, 2014 11:41 pm
I kind of have an idea. But it's a good way to kill yourself by the time you're done coding this. ;)
Store world in a huge array. All player movement is handled virtually. So input keys will actually feed data that will update player positions in data world (or fake world if you will). All player movement and collision simulation is ran virtually. Nothing is actually happening in Doom's physical world.
Then using that data, you have routines to "draw" the world, objects and players (moving and spawning block actors) at a designated and fixed spot in the map. You're going to predefine the "draw distance" so to speak by setting the physical map area to whatever you want (1024^3 for example) so the rendering and actor processing overhead for the voxels will always remain constant, eventhough the world could be (almost) infinitely big.
Very impractical and crazy but if you have nothing better to do with your life...
I kind of have an idea. But it's a good way to kill yourself by the time you're done coding this. ;)
Store world in a huge array. All player movement is handled virtually. So input keys will actually feed data that will update player positions in data world (or fake world if you will). All player movement and collision simulation is ran virtually. Nothing is actually happening in Doom's physical world.
Then using that data, you have routines to "draw" the world, objects and players (moving and spawning block actors) at a designated and fixed spot in the map. You're going to predefine the "draw distance" so to speak by setting the physical map area to whatever you want (1024^3 for example) so the rendering and actor processing overhead for the voxels will always remain constant, eventhough the world could be (almost) infinitely big.
Very impractical and crazy but if you have nothing better to do with your life...