A downloadable tool for Windows

Experimental Procedural Terrain Generator, with Blitz3D Sourcecode.  Stretching the hardware to the limits with a big terrain, fully rendered. Not really perfect or finished, but has some nice features. Shows how to use Cubemapping in Blitz3D, although using a terrain entity as water causes glitches - it's WIP. Also, new method of LOD with the ol pinetree. Feedback welcome.

Update 3d:

The WebGL output has now more contrast and saturation. Also, sea ground color can be defined in the config file. Note about screenies here: those with viking boat are from WebGL. Also, I suggest to set "Param1" for plant materials in CC to 0.3.

Update 3c: 

This latest update fixes a lot of issues and also saves all meshes for import in CopperCube / CopperLicht.js. Please note, only the first version contains the blitz sourcecode for now. Currently this is a tool for CopperCube users, but Blitz-compatible mesh saving and source release of the Generator as a procedural engine for Blitz3D are planned.

Update 3e:

This is no Tool update, but a new demo for WebGL, showing and describing in the Dev-Logs how to deal with the problem of clumping masked textures. Compare the latest screenies. Play it here:

https://jfkeo1010etc.itch.io/stress-test-for-copperlichtjs


Download

Download
fancy_terrain_rel1.zip 2.1 MB
Download
fancy_terrain_savemesh4copper_01.zip 2.1 MB
Download
fancy_terrain_genWin32_rel3c.zip 5.9 MB
Download
fancy_terrain_rel3d.zip 5.1 MB
Download
ftg_trees_tweaker_rel1.zip 5.1 MB

Install instructions

Extract in a folder of your choice and run the EXE, or load the .bb in Blitz3D and hit F5. Make sure to read the read me txt files.

Development log

Comments

Log in with itch.io to leave a comment.

(+1)

Just wow. Amazing work.

Thanks!

I never really said that, but the release of the game "The ouchee island ramification" was in a way the final update to this project, in that it offers the whole game as download for the CopperCube editor, where all the details can be seen, on how to get the terrain generator output properly set up in CopperCube. Things like sunlight direction are vital.

(+1)

Very impressive! It looks great, and the performance is quite good on Win10 here. What algorithm do you use to create the height map?

Thanks! I'm not happy with the trees, they are 4 Tris LOD ones, supposed to be replaced by a detailed versions on close distance, but I never added that. It is in the original generator walk-through mode tho, that's in Blitz3D for windows.

The height map is loaded as bmp, greyscale. If not found, a simple random map is made, using some weird mixture of sinus,random,noise and smoothing.

i'm been try to e-mail you in 6 month with no response please e-mail back in your website e-mail or youtube

Didn't see any mail.

I think, i e-mail the wrong person and the name is

 BlitzCoder

(1 edit)

Hey, how's it going? ๐Ÿ˜

I found a small glitch seeing the edge of the water when viewing at a distance and from a higher ground. If you also go back and forth, it also has some popping issues and the water tile appears..


(+1)

Thanks. Yeah there's a ton of glitches, esp with the water under Blitz (vs WebGL). However, you can try and replace the water by something better. This one covers only the part surrounding the camera. If the latter moves, so does the water rectangle, but in jumps, to appear stationary. But these jumps must fit the tiling scale and animation loop, which is tricky to achieve. As I said, maybe best to be replaced entirely. I'm no waterologist ^^.

Hey,  you still have one of the best b3d water with the half-sub.  ๐Ÿ˜Š

I think you should look at and perhaps incorporate fredborg's water with the rubber ducky. It kinda has a same tiling method like what you have here, but seems to work on a distance, not sure though if the fog just covers it.

(+1)

Yeah, if time permits I probably will work on it some more, thanks.

(1 edit)

By the way, is there some way to save each terrain splat painted layers to a texture map, sort of like alpha mask texture per file?

(+1)

Not in this tool. But notice the trees tweaking utility comes with source, including the B3D saving part.

Here I use a feature of copperlicht / webGL that allows to have two textures on one single mesh, whereby the mesh's vertex alpha value determines the visibility of the "top" texture. Additionally Vertex-RGB is used to taint seaground and add diffuse shade under trees.

i'm been try to e-mail you in 6 month with no response,  please e-mail back on  your website e-mail or youtube please 

Hey there rcgdack1, just sign up and contact me here at www.blitzcoder.org

Deleted 2 years ago
Deleted 2 years ago
Deleted 2 years ago

Looks promising, though on my Windows 10 machine it will not run due to what appears to be a dependency on DirectPlay, which is not installed.

Thanks. Sorry to hear that. Here on Win10 it works. I'd guess support for DirectX9c (just guessing it includes DirectPlay) is required, but not necessarily present on all distributions of Win10. Seems like they want you to buy new games :)

Not much I can do, as Blitz3D has a fixed library attached to the EXEs, containing DirectPlay usage, even when not used by the program.

I think the answer may lie here https://www.blitzcoder.org/forum/topic.php?id=193 Looking at my system, DirectPlay is classed as a legacy system and turned off.

Then maybe with the run-options, in XP compatible mode or something like that? I've heard of cases in which Win10 automatically installed some missing parts, but don't remember exactly what it was.

Looks awesome!โšก apparently I cannot say the same with the performance even with a small window 800x600. Then again it's still wip so understandable..๐Ÿ˜Š

(+1)

Thanks. You should not use less than 640 pixels screenheight. It will readpixelfast 640x640 on the backbuffer. Yeah there is still some optimation potential, but what do you expect with 300k tris and 3000+ individual tree entities, plus a cubemap, rendering additional 6 cameras per frame. I have probably one of the cheaper onboard graphics cards and this is where the framerate starts dropping from playable to slideshow. But on a slightly better hardware I could play this with some NPC and some game idea.

But yes, there are still some options to make it faster. It'd be easy to just add fog and clip things 100m away. But I also like the far sight.

I see.. looking forward to more updates. This one reminds me of fredborg's water. Any similarities, derivation or new water techniques you added on this?

(2 edits) (+1)

This is from my entry into the best water contest, maybe 15 years ago (a sub on the water). Waves are based on the old plasma.bb, with 2 scalar copies interferring (as far as I see). Also, using vertex color to get some pseudo-volumetric water colorization, as seen in Far Cry back then, adds a lot to it IMHO.

Fredborg won the contest,but refused to take the prize, so it went to Inarie from Germany. Yeah, he won a swiss military knife ^^

Re Optimation: I have added an exporter for the copperlicht.js engine, all trees in one single surface mesh, and all grass in 4 parts (each one less than 32k tris or verts), and the terrain too, and it runs in the browser with a very decent framerate. So I may do the same in Blitz and have it running even faster, while displaying grass all the way to the horizon, too. In the LOD fading, I must see whether fading nearby low poly trees out using vertex-alpha is fast enough, and if not, just fade the highpoly version in and have it covering the low poly one somewhat. However, internal z-sorting of meshes with alpha textures may cause problems, where in the current version the individual tree meshes are rendered in their last positioning order, which z-sorted them during their creation.

(+1)

That's great info.. which reminds me, do you think it's possible to do environmental bumpmapping just like what you did with the plasma effect? It's kinda similar and I see that with your water demo entry, but a bit more elaborate where you also use a normal map to help with the outcome of the effect.

Anyway, looking forward to the Blitz optimization update.

(+1)

I just recently made some dot3 normalmap tests in Blitz. It was said it's static. I found a way to make it react on a moving point light, but it used up 4 texture layers.

You're absolutely right, having a mesh or terrain animated may be an unnecessary load on the cpu, it may be possible to make the cubemap take the bumpmap into account, so you could have nice water simply by animating the bumpmap. I suspect that's how the water in copperlicht works, it's one flat plane. I yet have to try it in Blitz.

Great Job! Thank you very much for sharing. Your work looks very, very beautiful & impressing. Could this possibly also somehow achieved with CopperCube .exe-builts? Looking forward for your thoughts on it at https://ambiera.com/forum.php.  :-)

P.S My old GT 630M could handle the project very well.

Hey Indyplayer, thank you very much! I guess something similar could be achieved in Coppercube with some scripts and or plugins. There may be some differences tho. For instance, I have yet to check whether CC can have the reflective water half-transparent, so the blue-ish tainted seaground shines trough. It is tainted using Vertex Color, which is supported by CC. Also, the splatting of the terrain rock vs grass, here it's two meshes with the rocky one ontop, slightly offset, with vertex alpha to fade smootly to grass. In CC vertex-Alpha is supported only to fade from texture layer 1 to texture layer 2, of the same vertex / mesh. Meaning, One needs to save this terrain in a way that CC can load. This might be a B3D file that Blitz3D cannot load correctly, but CC can :).