AKA “the project formerly affectionately referred to as project sword and also formerly occasionally humorously referred to as project you’re a nation”. (503 is shorter)
The project at this point is still about exploring the map, more to come, hopefully soon. Movement is WASD and directional keys. Q and Z controls elevation. N for new map. F2 to gain control of your mouse. Esc to quit the program (only works if it’s the active window, you may need to click then hit esc.)
So this update has a lot of new work in it. The horizon looks much more realistic as I’ve vastly improved my generation algorithms. I separate the rock and dirt into separate arrays, while exaggerating the rock. Then treat the two differently in erosion. A much bigger step I’ve made though is the river and lake generation. This was a lot more difficult than I expected, I basically rain on every vertex then allow the water to go down to the lowest adjacent vertex absorbing a small amount of terrain per step then when it is trapped it begins raising the height with water and placing terrain instead of taking it. Eventually it finds it’s way out and continues until it reaches the ocean. Mass wasting was much simpler, though I’m not completely satisfied with the results. It moves earth much like the water moves. It breaks off a chunk of terrain if the slope is too steep, and moves it to the lowest adjacent vertex. Then runs again on that vertex and so on.
The problem is that there are 8 adjacent vertices so if I had a large area that was really steep I always end up with large flat areas with well defined corners, and coastal shorelines that are straight. Maybe a little more robust slope detection check would do the trick. I abstracted my heightmap generation and then use it to make 2d noise maps. I also made it a little more powerful so I can create more specific noise maps. I generate several noise maps with each new map. Though, you can’t see the effect of any of them except one. The green terrain looks more interesting now; the darker patches represent forest. I still need to tweak these values. But, I’ll probably get higher lod terrain streaming and tree generation before I tinker too much with it. I could probably get a decent looking skybox with a little bit of work using the same noise generator. Maybe I should have got that out before posting; But, I’m trying to find a balance between high frequency posts and actually having something to show in the posts. Ideally I would like to post once per week but that may be unrealistic. We’ll see how it goes.
As a side note, the name, 503, refers to a period of time on the Gregorian calendar, or AD 503. While the game won’t be historical it will be designed to be in a very distinct setting (late antiquity/early middle ages/dark ages/whatever you want to call it, in western Europe). 503 is probably a little too exact but it’s just a name. I’ll figure out a subtitle for it later as it’s too ambiguous right now.
-Erosion added: both mass wasting and fluvial simulation
-Noise maps generated for various resource placement
– Multithreaded some of the generation to make it a bit faster on multicore processors
-updated texture generation
-fixed a small (but annoying) memory leak in the generation (about 2kb per map generated)
-a bunch of smaller stuff I can’t think of right now