Statistics | We have 1675 registered users The newest registered user is dejo123
Our users have posted a total of 30851 messages in 1411 subjects
|
Who is online? | In total there are 9 users online :: 0 Registered, 0 Hidden and 9 Guests :: 1 Bot None Most users ever online was 443 on Sun Mar 17, 2013 5:41 pm |
Latest topics | » THIS FORUM IS NOW OBSOLETE by NickTheNick Sat Sep 26, 2015 10:26 pm
» To all the people who come here looking for thrive. by NickTheNick Sat Sep 26, 2015 10:22 pm
» Build Error Code::Blocks / CMake by crovea Tue Jul 28, 2015 5:28 pm
» Hello! I can translate in japanese by tjwhale Thu Jul 02, 2015 7:23 pm
» On Leave (Offline thread) by NickTheNick Wed Jul 01, 2015 12:20 am
» Devblog #14: A Brave New Forum by NickTheNick Mon Jun 29, 2015 4:49 am
» Application for Programmer by crovea Fri Jun 26, 2015 11:14 am
» Re-Reapplication by The Creator Thu Jun 25, 2015 10:57 pm
» Application (programming) by crovea Tue Jun 23, 2015 8:00 am
» Achieving Sapience by MitochondriaBox Sun Jun 21, 2015 7:03 pm
» Microbe Stage GDD by tjwhale Sat Jun 20, 2015 3:44 pm
» Application for Programmer/ Theorist by tjwhale Wed Jun 17, 2015 9:56 am
» Application for a 3D Modeler. by Kaiju4u Wed Jun 10, 2015 11:16 am
» Presentation by Othithu Tue Jun 02, 2015 10:38 am
» Application of Sorts by crovea Sun May 31, 2015 5:06 pm
» want to contribute by Renzope Sun May 31, 2015 12:58 pm
» Music List Thread (Post New Themes Here) by Oliveriver Thu May 28, 2015 1:06 pm
» Application: English-Spanish translator by Renzope Tue May 26, 2015 1:53 pm
» Want to be promoter or project manager by TheBudderBros Sun May 24, 2015 9:00 pm
» A new round of Forum Revamps! by Oliveriver Wed May 20, 2015 11:32 am
|
|
| Voxel terrain generation | |
| | Author | Message |
---|
TheRabiesGuineaPig Learner
Posts : 102 Reputation : 10 Join date : 2014-04-22 Age : 23 Location : Somewhere in the World Wide... World
| Subject: Voxel terrain generation Sat May 31, 2014 12:50 pm | |
| Ok, so I've been thinking recently and came up with an idea. This would obviously only apply to later stages but what about, hear me out, using voxel terrain for the terrain generator. Not only is it highly customize-able, it is also editable and realistically detailed. Voxel terrain might make you think Minecraft or Cube world, but it isn't only blocky. Just look at this game, Blockscape, for an example: http://www.blockscape.com/v2/ Isn't that just what we need? Also, using voxels would allow for intricate alien landscapes and deep caves. Your civilization would be able to mine. Your creature could burrow! Endless possibilities! Note: I have a Belgium computer with an intel graphics card and the game runs at 10 fps at the worst of times. Voxel trees. Asteroid destruction. Thanks for viewing! Edit #1: Added a quick example of voxel trees I made in the voxel sandbox 'blockscape': - Big picture:
Last edited by NickTheNick on Mon Jun 09, 2014 12:27 am; edited 6 times in total (Reason for editing : Added picture) | |
| | | Alexthe666 Newcomer
Posts : 17 Reputation : 1 Join date : 2014-04-23 Location : Westeros
| Subject: Re: Voxel terrain generation Sat May 31, 2014 6:12 pm | |
| - TheRabiesGuineaPig wrote:
- Ok, so I've been thinking recently and came up with an idea. This would obviously only apply to later stages but what about, hear me out, using voxel terrain for the terrain generator. Not only is it highly customize-able, it is also editable and realistically detailed. Voxel terrain might make you think Minecraft or Cube world, but it isn't only blocky. Just look at this game, Blockscape, for an example: http://www.blockscape.com/v2/ Isn't that just what we need? Also, using voxels would allow for intricate alien landscapes and deep caves. Your civilization would be able to mine. Your creature could burrow! Endless possibilities! Note: I have a Belgium computer with an intel graphics card and the game runs at 10 fps at the worst of times.
Voxel trees.
Asteroid destruction.
Thanks for viewing!
Edit #1: Added a quick example of voxel trees I made in the voxel sandbox 'blockscape': I really like this Idea, but planets are spherical, and all of the "blocks" would have to be curved. Maybe the design could be used for trees instead of landscape? | |
| | | MitochondriaBox Learner
Posts : 188 Reputation : 7 Join date : 2013-01-29 Age : 24 Location : Houston, Texas
| Subject: Re: Voxel terrain generation Sat May 31, 2014 7:31 pm | |
| - Alexthe666 wrote:
- TheRabiesGuineaPig wrote:
- Big image, etc.
I really like this Idea, but planets are spherical, and all of the "blocks" would have to be curved. Maybe the design could be used for trees instead of landscape? Trees are going to be individual organisms, though. Would that have any effect on Voxel? | |
| | | moopli Developer
Posts : 318 Reputation : 56 Join date : 2013-09-30 Age : 29 Location : hanging from the chandelier
| Subject: Re: Voxel terrain generation Sun Jun 01, 2014 12:27 am | |
| Yes RabiesPig, you're absolutely right in saying that voxel worlds need not be blocky. Indeed, there are many ways to avoid seeing blockiness in voxel-based systems. Simplest of all, you can just raise your resolution. That, almost definitely, is not an option for us, as it would involve much much higher memory usage than we can afford. Other tricks include smoothing algorithms like marching cubes to reduce apparent blockiness, and roughening algorithms (fractals, noise, L-systems, etc) to raise the apparent resolution. So we wouldn't need to raise resolution above the current maximum of about 3m per side.
However, there is no way to get around the fact that introducing a new dimension will drastically increase our memory footprint. Even though we'd (definitely) be constraining the altitude dimension to within reasonable bounds (nothing too far from mean surface height), we'd still be increasing several thousand-fold the number of things we'd have to track. And for what? a few caves, mines, and some overhanging cliffs? For those we could do much more localized voxel grids, covering only the areas that need open space beneath rock. Then we would cut out the massive performance penalty, and still get the benefits.
Then, since features requiring voxel grids are always gonna be at scales much smaller than planet size, we can ignore planet curvature for the purposes of voxel geometry, which solves Alexthe666's issue. And yes, trees are individual organisms. Thus, it's quite unlikely we'll use just voxels for those, as what we'll likely be doing is using constrained L-systems, which would probably generate geometry. However, a simple storage and physics optimization is to convert regions of dense foliage into voxel representations; but we'd probably still be treating that as geometry, so yeah, I don't think voxels would work too well here.
Remember guys, "voxel" is not an aesthetic choice, it is a choice in the underlying representation. If we want something to be voxel, we store it as a grid of many bits of stuff, which automatically gives us a way to access certain sub-bits, and rules out certain algorithms. Similarly, storing objects as geometry gives us another set of choices.
Edit: Oh also, the giant picture has stretched the page -- RabiesPig (and whoever's quoted his picture), could you spoiler it?
Last edited by moopli on Sun Jun 01, 2014 12:28 am; edited 1 time in total (Reason for editing : pagestretch aiya) | |
| | | TheRabiesGuineaPig Learner
Posts : 102 Reputation : 10 Join date : 2014-04-22 Age : 23 Location : Somewhere in the World Wide... World
| Subject: Re: Voxel terrain generation Sun Jun 01, 2014 3:18 am | |
| Yea, I can already see where problems with voxels come up. Do we have a memory usage budget? What would the computers of the future be like when we start work on the creature stage? (Windows 9. anyone?) but that was just a thought that randomly sprung into my head. | |
| | | moopli Developer
Posts : 318 Reputation : 56 Join date : 2013-09-30 Age : 29 Location : hanging from the chandelier
| Subject: Re: Voxel terrain generation Fri Jun 06, 2014 10:37 am | |
| I was just reading about an efficient method to store and work with sparse voxel data. It's really cool, and gets around a lot of the problems with storing large amounts of voxels. While we probably don't have the memory to use it for entire planets (or even just a shell at the surface), we could use it for other things Edit: Come to think of it, VDBs would be really useful for mines, caves, cliffs, and so on -- since those sorts of things are likely to be sparse, and will generally have interesting shapes that don't fit nicely in rectangular prisms. | |
| | | TheRabiesGuineaPig Learner
Posts : 102 Reputation : 10 Join date : 2014-04-22 Age : 23 Location : Somewhere in the World Wide... World
| Subject: Re: Voxel terrain generation Sun Jun 15, 2014 5:08 am | |
| Sounds great! Could this be used to randomize static objects like rocks, lamps and buildings? | |
| | | moopli Developer
Posts : 318 Reputation : 56 Join date : 2013-09-30 Age : 29 Location : hanging from the chandelier
| Subject: Re: Voxel terrain generation Sun Jun 15, 2014 8:08 am | |
| It isn't a method for generating things, it's a method for efficiently storing and accessing the data.
What we would need to look at is voxel-based object generation to create things, and we would just use a VDB instead of the standard 3D array to hold everything. | |
| | | TheRabiesGuineaPig Learner
Posts : 102 Reputation : 10 Join date : 2014-04-22 Age : 23 Location : Somewhere in the World Wide... World
| Subject: Re: Voxel terrain generation Sun Jun 15, 2014 3:06 pm | |
| Oops! My bad :P Didn't read it properly. Is there an alterante link you could use? I can't seem to open this one. | |
| | | moopli Developer
Posts : 318 Reputation : 56 Join date : 2013-09-30 Age : 29 Location : hanging from the chandelier
| Subject: Re: Voxel terrain generation Sun Jun 15, 2014 4:27 pm | |
| Does your computer block PDFs? Because so far, all the links you've been unable to open have been PDFs.
Anyway -- the thing you can't access is a research paper, very technical -- the author describes a datastructure, the VDB, which, in a nutshell, is a tree of voxel grids. It stores voxel data very efficiently, because it uses some tricks to avoid needing any memory for areas that don't have anything in them. Naive voxel grid systems have to store a 0 in every place where there is nothing, wasting space, but the VDB contains a bunch of much smaller voxel grids. These voxel grids only take up memory if there's something inside them. Massive space savings. And since any algorithm that works with voxels basically goes through each voxel one by one, and since most voxels containing unimportant data in a VDB don't take up memory, then a VDB can skip those, meaning you get great time savings too.
Oh, you might be confused because the D in VDB stands for dynamic -- that just means 1) the VDB was designed to make it easy to change its contents efficiently, and 2) the VDB does some trickery behind the scenes to make things efficient (it is a dynamic datastructure -- it doesn't just sit there, more or less).
Anyway -- enough about VDBs. I've talked to the other devs, and it seems VDBs are a good idea we'll be using later for stuff like this, so we can turn our attention to the actual procedural generation now.
So if anyone finds stuff on generating caves, cliffs, and so on, that would be awesome. | |
| | | TheRabiesGuineaPig Learner
Posts : 102 Reputation : 10 Join date : 2014-04-22 Age : 23 Location : Somewhere in the World Wide... World
| Subject: Re: Voxel terrain generation Tue Jun 17, 2014 7:24 pm | |
| Oh ok, so VDB is a good thing for us? That's cool. 8) | |
| | | Sponsored content
| Subject: Re: Voxel terrain generation | |
| |
| | | | Voxel terrain generation | |
|
Similar topics | |
|
| Permissions in this forum: | You cannot reply to topics in this forum
| |
| |
| |