Imagine having 9x1024^2 voxel volume columns (each column's width, length and height will be 1x1x1024, respectively) stored on the HDD in two different folders called NewGame and Continue.
Now run Voxelstein 3D and load Savegame1 (you have already killed over a hundred people :P). The computer will now feed one of the nine 1024^2 voxel volume columns from the Continue folder, into the RAM (a "Get Psyched!" loading screen pops up while the game is loading). It will then put the player inside the newly created 1024^3 voxel volume on the RAM.
When the player moves forward one voxel, the computer will replace 1024 of the voxel columns in the voxel volume that got copied from the Continue folder into the RAM, with the last row of voxel columns that the player has left behind (the row that goes out of the game enviroment). When the player moves backward one voxel, the computer will feed the recently changed row of voxel columns from the Continue folder, into the RAM again and everything will look the way it looked when it was left.
When you have destroyed most of the enviroment and you want to start a new game, the computer copies everything from the NewGame folder and puts it in the Continue folder. Now everything has gone back to normal.
To make all the columns, create a huge 9x1024^3 map and divide it into 9x1024^2 voxel columns and save them separately as small ".vxl"/whatever files :)
It can't take that much time to move 1024 voxel columns from the RAM into the Continue folder, and then move a new row of 1024 voxel columns from the Continue folder into the RAM? ??? It's a super fast way to load/store data! :o :P
If the HDD read/write speed is fast enough, we could make huge worlds with lots of trees etc, it will be just like Crysis - only better! :o :P
Edited by apegomp at
Hazard at
Re: Layman's new voxel engine idea
Yes, this might work. You could maybe save those slices as usual images since compression algorithms of those are established and fast. HOWEVER (i hate it to be the one who points at problems all the time :P ) you could only use it when you walk north/south. If you try to walk east/west you would have to read one pixel row of 1024 different images, which is most likely very slow. Especially writing 1024 images at the same time (to store the data on the "backside") would be a problem.
0xC0DE at
apegomp said at
Imagine having 9x1024^2 voxel volume columns (each column's width, length and height will be 1x1x1024, respectively) stored on the HDD in two different folders called NewGame and Continue.
Now run Voxelstein 3D and load Savegame1 (you have already killed over a hundred people :P). The computer will now feed one of the nine 1024^2 voxel volume columns from the Continue folder, into the RAM (a "Get Psyched!" loading screen pops up while the game is loading). It will then put the player inside the newly created 1024^3 voxel volume on the RAM.
When the player moves forward one voxel, the computer will replace 1024 of the voxel columns in the voxel volume that got copied from the Continue folder into the RAM, with the last row of voxel columns that the player has left behind (the row that goes out of the game enviroment). When the player moves backward one voxel, the computer will feed the recently changed row of voxel columns from the Continue folder, into the RAM again and everything will look the way it looked when it was left.
When you have destroyed most of the enviroment and you want to start a new game, the computer copies everything from the NewGame folder and puts it in the Continue folder. Now everything has gone back to normal.
To make all the columns, create a huge 9x1024^3 map and divide it into 9x1024^2 voxel columns and save them separately as small ".vxl"/whatever files :)
It can't take that much time to move 1024 voxel columns from the RAM into the Continue folder, and then move a new row of 1024 voxel columns from the Continue folder into the RAM? ??? It's a super fast way to load/store data! :o :P
If the HDD read/write speed is fast enough, we could make huge worlds with lots of trees etc, it will be just like Crysis - only better! :o :P
First off, I think it’s awesome what you already created with voxels (I think most models look pretty sweet). But I don’t think you have a lot of programming experience, and therefore I don’t think your ideas are doable or good (even though I think it’s cool you think about those issues).
Loading data from the HD in realtime isn’t really that fast. Also Hazard has some valid points there. And probably an even bigger problem would be destruction of the landscape itself. You need to keep track of which voxels are destroyed and which aren’t.
If you would like to study this issue more, I would suggest reading some basic tutorials on how to make a 2D platform game. It basically does what you want to. After that you probably have a good grasp at what the limitations are for such features.
Anyway, keep up the good (modeling)voxel work!
apegomp at
Hugo Smits said at
First off, I think it’s awesome what you already created with voxels (I think most models look pretty sweet).
Anyway, keep up the good (modeling)voxel work!
I love making voxel models, it's so easy. 2D sprite artists have to draw shadows on their sprites, I don't have to because Slab6 does the job for me, which is very convenient due to the fact that I can't draw lol! :P
yuriks at
A better idea would be to store the world as a grid of, say, 1024x1024x1024 pixels each cell. Then stream them all at once from disk when needed, and if they're modified, mark them as dirty, when they are cached out the program will write it to disk. Very simple.