tag:blogger.com,1999:blog-3779956188045272690.post3248115930728676316..comments2024-03-22T01:46:59.425-04:00Comments on Procedural World: Water bodiesMiguel Ceperohttp://www.blogger.com/profile/17586513342346629237noreply@blogger.comBlogger39125tag:blogger.com,1999:blog-3779956188045272690.post-3479156607607224142013-12-12T03:31:22.444-05:002013-12-12T03:31:22.444-05:00You may need a drain voxel to prevent flooding of ...You may need a drain voxel to prevent flooding of structures and to remove water at boundaries of Everquest Landmark properties, etc. If water and lava flows it creates griefing problems. I've seen that in Minecraft and Terraria and in one other voxel demo. A drain block would destroy water above it at a size related rate. <br />If the water is voxel based thats easy. If it flows by volume and mass it then drains harmlessly. Scatter a few drains around an your builds to safeguard against such griefing and a hydraulic cut paste disaster. There are plenty of free drain textures but it should be a state that can apply to many types of materials. Gravel, cobbles, cracked stone, marsh, wood and metal grill would all work in fantacy. Grates are a dime a dozen in modern and science fiction texture packs. <br />A drain may also have application eventually in under water content creation. wesley brucehttps://www.blogger.com/profile/17311908911551426601noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-46916294745612335422013-11-28T00:07:50.490-05:002013-11-28T00:07:50.490-05:00@pdurden, I think you misunderstood me, I meant th...@pdurden, I think you misunderstood me, I meant there are vast areas.of Miguel's rivers that are literally straight, and I should have mentioned they flow predominantly east west north south, straight lines.. here's a section (https://db.tt/RyunaEnF).<br /><br />I think it's a byproduct of the * search, unless it's due to the map resolution or heightmap, used to generate them, a little meandering would help... Many other areas of rivers look great in the sample image.<br /><br />Best to all! <br /><br />P.S. I know what I'm dreaming about... that I want to "be thankful" for... A demo? *wink* I can dream can't I :)Jonathan M.https://www.blogger.com/profile/13053063838125968099noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-79828465849831762832013-11-12T20:32:25.120-05:002013-11-12T20:32:25.120-05:00Once again, the current terrain is flat and using ...Once again, the current terrain is flat and using it to represent a planet's surface would be a bit of a challenge, although there are a few ways to deal with it. While a full voxel representation of the planet might seem the simplest, I'l bet a bunch of algorithms that go into this engine depend on down in gravity being down in the voxels. Maybe planets can be accomplished by having small geodesically tiled sections of terrain.TTFractalhttps://www.blogger.com/profile/02529275190483927581noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-17206375843860909902013-11-11T02:52:44.543-05:002013-11-11T02:52:44.543-05:00They don't look that out of place to me. Have ...They don't look that out of place to me. Have a look at the rivers in this area of Tasmania which is a nice bit of wild, empty terrain with rivers and mountains:<br />http://goo.gl/maps/YtR4Xpdurdinhttps://www.blogger.com/profile/17009164000358908795noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-42779473588672862562013-11-09T11:22:09.152-05:002013-11-09T11:22:09.152-05:00Just re-read the post and I'm marveling that w...Just re-read the post and I'm marveling that water is in progress... it's been such an holy grail for the engine, and to know that Miguel is working on it is so heartening.<br /><br />One minor thing I noticed was that many of the rivers in the screen shots had significantly large segments that appear very straight, and almost take 90 deg. turns to other straight segments... I'm sure you already noticed this and it's probably just a byproduct of the search algorithm, but I thought I'd mention that those would look pretty out of place.<br /><br />Still amazing, and I'm sure we're getting close to the Water-Part 2 post so I'll be quiet now and let you get back to work! ;)Jonathan M.https://www.blogger.com/profile/13053063838125968099noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-59136301768963006362013-11-09T10:45:16.226-05:002013-11-09T10:45:16.226-05:00Hello,
I was wondering if the Voxel Farm engine (i...Hello,<br />I was wondering if the Voxel Farm engine (its terrain generator) is flexible enough to create the Moon, Mars, or any random planet in it?<br />If this was possible we could have a colonization game in which you go to other planets and terraform them. You could see how the planet changes when contents of the atmosphere change, how oceans rise and how the plants you brought with you mutate and adapt to the environment. There would have to be some kind od deamon process going around the planet all the time and introducing erosion effects, making plants grow, spread and die etc.<br />It might be difficult to do, but it would be neat and every game would be different.Piotrhttps://www.blogger.com/profile/14640796587430542268noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-16023030278580672072013-11-06T07:43:55.213-05:002013-11-06T07:43:55.213-05:00I've come to this project late and frankly, I ...I've come to this project late and frankly, I am utterly amazed at what you are achieving. I really can't wait for this to be released in some form. Just the ability to wander around these landscapes would be fantastic. Driving, flying, skiing, sailing, swimming, scuba diving etc would be even better :) <br /><br />I don't know if you are going for some kind of kickstarter funding, but I'd be in like a shot if you were; or have I missed the boat?Euanhttps://www.blogger.com/profile/12664773681095466696noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-28025988608094274232013-11-04T07:24:04.325-05:002013-11-04T07:24:04.325-05:00Nice simple approach with nice results :), helpful...Nice simple approach with nice results :), helpfull explanation.Anonymoushttps://www.blogger.com/profile/14831076147194023182noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-14294934771165818612013-11-04T00:28:37.141-05:002013-11-04T00:28:37.141-05:00I only just noticed: What are the black bits?I only just noticed: What are the black bits?Kamicahttps://www.blogger.com/profile/09074839497845172950noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-19392950268107896742013-10-27T19:38:38.090-04:002013-10-27T19:38:38.090-04:00I think there are some islands on the last picture...I think there are some islands on the last picture. : )TheSliderhttps://www.blogger.com/profile/00722113578654952345noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-81798537494380010432013-10-25T16:59:06.464-04:002013-10-25T16:59:06.464-04:00I started writing something on this a long time ag...I started writing something on this a long time ago.<br />Not very readable, but something you can look into: <br />http://purple.worldforge.org/~munin/Procedural_World/waterflow.txt<br />In the following movie, I was testing the pondfilling algorithm. The contours denote the heightmap, the colored blocks denote different Pond ID ( sinkpoints:<br />http://purple.worldforge.org/~munin/Procedural_World/Mercator/pondfill5.avi<br /><br />Anyway, I am sure that this site will demonstrate a much more elegant solution very soon.<br />ScrapHeapnoreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-40618464858249983712013-10-24T20:48:55.828-04:002013-10-24T20:48:55.828-04:00"Scrap Heap", that's exactly what I ..."Scrap Heap", that's exactly what I am talking about.<br />Did it allow water to flow across the surface, meaning water that is higher than the point it would drain to?<br /><br />Since the discussion is finally going towards dynamic simulations of physics of various sorts in the voxel grid, I have a few questions that have been sticking in the back of my mind.<br /><br />Would it be possible to use a more general, less resource intensive approach for the land overall but use resource-intensive methods for rendering these voxel mechanics when right next to the player? This might be a problem, of course, if the player's position decides with what accuracy something is simulated with when the thing being simulated is 'real' in the sense that it is part of the voxel world and not just graphical tricks such as LOD.<br /><br />And finally. Could something be simulated once or twice with the accurate but expensive simulation (mainly I am talking about CA rules for fluid flow) and then have the engine analyze its overall behavior and then have it recreate that behavior without the individual simulations. This might make it possible for a user to create a system of pipes, that, in the end, only checks the inflow and outflow points and stops simulating the interior contents, until a voxel that is part of the pipes is changed.<br /><br />Of course the big problem here is the potential for a great deal of wonk in the physics if the 'faked' simulations do not perfectly match the real ones. It could be a bit of a problem if a user creates a contraption that works one way and then begins to work another way when the engine switches to the 'faked' simulations. Maybe correcting this is just a matter of the algorithm checking for all cases and being forced to resimulate as new cases come up.<br />TTFractalhttps://www.blogger.com/profile/02529275190483927581noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-84201386769808724752013-10-24T17:53:21.671-04:002013-10-24T17:53:21.671-04:00I played with water on heightmaps a while ago. Wh...I played with water on heightmaps a while ago. What I did was a two step approach: First I seeded water on the surface, and followed the particles downhill until I found a point where the water no longer could flow down. Doing so, I kept track of flow strength over the map, and used the flow stength later to carve/erode where the rivers should flow.<br />Then using these "sinkpoints", I started filling "ponds" until an outflow position was found, (or alternatively: pond surface exceeded a function of inflow strenght) (evaporation balance). Not very optimized approach, but one that kept track of the water. Please reply If you would like to know any more.Scrap Heapnoreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-33381762159776820542013-10-24T05:53:25.089-04:002013-10-24T05:53:25.089-04:00http://youtu.be/Jl54WZtm0QE?t=1m3s
I don'...http://youtu.be/Jl54WZtm0QE?t=1m3s <br />I don't know if this what you're referring to miguel - cell size this small I am expecting is beyond the reach of current processing power on real time world simulation, but it does demonstrate how 'tall' cells can be ignored with regard to simulation.Anonymoushttps://www.blogger.com/profile/04317720167941576155noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-21643047883360288392013-10-24T01:47:03.358-04:002013-10-24T01:47:03.358-04:00I forgot that you're already simulating erosio...I forgot that you're already simulating erosion. :)pdurdinhttps://www.blogger.com/profile/17009164000358908795noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-27978595156516628852013-10-23T23:11:25.557-04:002013-10-23T23:11:25.557-04:00What I showed here is random, just above a height ...What I showed here is random, just above a height value.Miguel Ceperohttps://www.blogger.com/profile/17586513342346629237noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-74668679888236653422013-10-23T21:21:53.419-04:002013-10-23T21:21:53.419-04:00I read a paper somewhere doing water simulation as...I read a paper somewhere doing water simulation as "tall" voxels. It is very similar to the idea you have described. I will try to find it and post a link.<br /><br />Putting a spring in the origin of rivers should be no problem. This is where the red dots are in the second image from this post.Miguel Ceperohttps://www.blogger.com/profile/17586513342346629237noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-36132636719530034302013-10-23T21:15:22.268-04:002013-10-23T21:15:22.268-04:00Don't forget that water also disappears into t...Don't forget that water also disappears into the ground, and pops up in actual springs =P. (Speaking of springs, if the spring is also a cave, you can have some impressive and mildly scary locations, I've one in real life, basically you just follow this nice calm river upstream, then suddenly BWAM 50 meter deep hole under water with water flowing up from it (In crystal clear water) =P.)Kamicahttps://www.blogger.com/profile/09074839497845172950noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-59807520392629085092013-10-23T21:07:13.368-04:002013-10-23T21:07:13.368-04:00Are you placing the springs in places which make s...Are you placing the springs in places which make sense in terms of the erosion? Or is it just random?Kamicahttps://www.blogger.com/profile/09074839497845172950noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-78933980151348807062013-10-23T16:25:21.055-04:002013-10-23T16:25:21.055-04:00Originally this was going to be a quick explanatio...Originally this was going to be a quick explanation of an idea but I felt like expanding on it. This is not necessarily a new idea but something I think might be a system for dynamically tracking quantities of water as they flow over the landscape.<br /><br />The idea is to split a given stream or lake into segments that each keep track of the volume of water they contain. Since the goal is not to simulate water at the voxel level, these segments should be as large as possible to still accommodate the purposes described below. The basic idea behind this system is that each segment knows the rate at which water should be moving in and out of it and adjusts the upstream and downstream segments accordingly. The rate of flow should be dynamic, as in based on not only the change in height but also on the volume of water upstream and downstream that may be putting pressure on it.<br /> For this system to work, the terrain generation would have to define places where water is created and where it is destroyed. A simple source is to have randomly placed springs. More complicated but also important is to have rainfall calculations. I imagine an iterative algorithm could be run to find where rainfall would initially collect in the landscape before significant enough to form a stream, and this algorithm would only need to be run once per generation or major modification of the terrain. The result would be a map of how much volume of water is added to each segment. The final step is for water to be deleted, which would require some sort of evaporation that removes volume based on surface area.<br /> The result, ideally, would be a system of streams that can dry up, flood, or change course when paths are dig by the user.TTFractalhttps://www.blogger.com/profile/02529275190483927581noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-28596993422757357132013-10-23T14:20:06.385-04:002013-10-23T14:20:06.385-04:00Is water going to be interactive, i.e. ripples? An...Is water going to be interactive, i.e. ripples? And if so, how much of the effect is going to be in geometry and how much in pixel shader?Paulnoreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-78374486195700557412013-10-23T12:03:59.729-04:002013-10-23T12:03:59.729-04:00Me tooMe tooAroidzaphttps://www.blogger.com/profile/06891654803738975116noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-7505523237480882182013-10-23T10:05:02.036-04:002013-10-23T10:05:02.036-04:00I am simulating erosion before putting the water i...I am simulating erosion before putting the water in it.Miguel Ceperohttps://www.blogger.com/profile/17586513342346629237noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-44480488018795618642013-10-23T10:03:51.405-04:002013-10-23T10:03:51.405-04:00No, I do not get the water depth from the A*, only...No, I do not get the water depth from the A*, only coverage. I will post later how I am coming up with it.Miguel Ceperohttps://www.blogger.com/profile/17586513342346629237noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-6686777463759621632013-10-23T07:53:57.416-04:002013-10-23T07:53:57.416-04:00I'm so glad to see you finally adding water. ...I'm so glad to see you finally adding water. I've been waiting patiently for this since I started following your blog, and I must echo the previous comments about the clever way you've handled lake-filling. <br /><br />Does this a* trick you use give you a way to determine to what depth the lake fills? Can you specify deep lakes, shallow lakes? What happens if a lake overflows its geography and begins a new river?Anonymoushttps://www.blogger.com/profile/04317720167941576155noreply@blogger.com