Author Topic: Procedural Terrain Generator v3 [Working on v3.1]  (Read 78008 times)

I'll test for this.

yeah why not I'll test too

wonder how long the tester list will get lol


Right now I'm planning on adding events as a separate download, which will allow admins / the host to start, stop or clear the terrain, change the generator's seed, and to load presets. Would that work, or would it be better to include third part support?

Events won't really work. It would probably be easiest to just have a function or two that would load a terrain config from a file and automatically begin generating.

I'd be glad to help test this. I am an experienced add-on maker so I know what to look for and what/how to report.
I'm open for testing if you need it
I'll test for this.
yeah why not I'll test too

wonder how long the tester list will get lol
i wanna test this
Awesome, adding y'all to the list! Thanks

Can there be a possibility of creating an island? So it's not like just a part of an infinite terrain cut out like the picture you showed, and can we choose the trees to be generated as well?
There is an option included called Edge FallOff that forces the edges of terrain to gradually end at ground level, so that should help with creating finite islands. And yes, you can choose just about any trees and other details relative to each biome.

Holy stuff that looks awesome. Is it going to be released soon?
It's hard to give an estimate right now, but release is getting very close. :)

Events won't really work. It would probably be easiest to just have a function or two that would load a terrain config from a file and automatically begin generating.
Oh okay, yeah that shouldn't be a problem. I'll include some functions that Slayer and other mods can use.



Server Commands and Messages

Here's a list of the current server commands (Admin Only) that are included with the add-on:

/PTGCmds - Lists all available server commands in chat
/PTGStart - Starts an infinite / finite routine (after initializing and checking for errors)
/PTGHalt - Stops an infinite / finite routine (after the most recent chunk is finished generating)
/PTGClear %Bool - Clears all present stable chunks, except if static, and saves chunks relative to your current settings and the %Bool value you specify (0 or blank = save all)
/PTGClearSpam %ID - Clears all bricks in all stable, existing chunks that were planted by the player ID you specify (%ID)
/PTGRemoveChunk %Bool - Removes the current chunk you are in if stable (after 5 seconds), and removes the chunk save file (if present and depending if %Bool = 1)
/PTGClearAllSaves - Removes all chunk save files relative to last grid size and seed used (SuperAdmin Only)
/PTGPurge %Bool - Exactly the same as /PTGClear, except it clears static chunks as well
/PTGCount - Displays the current number of existing chunks, including edited and static chunks, and the number of all bricks within chunks
/PTGStatic - Toggles the relative chunk to be either static or non-static, depending on it's current static value
/PTGAllStatic %Bool - Sets all present stable chunks as either static or non-static (%Bool as 1 or 0)
/PTGChunkInfo - Loads all info for the current chunk and displays it in the Chunk Manager GUI (same as using GUI keybind)
/PTGSave - Saves all existing stable chunks, depending on your settings for saving chunks. Meant for finite terrain

Other screenshots of the server messages and chunk manager:









« Last Edit: July 09, 2015, 02:30:32 AM by [GSF]Ghost »

So... We bring things like the bedroom and now terrain? Nice!

Still taking testers? I want to test. :^(

Looks good.

yeah, i started working on a compact lil chunking simplex noise terrain generator that i might use later, but if i would be able to just hook into this in code instead, that would be amazing.

also, i'd be up for testing. blockland needs tools like this and it's nice to see it done in a solid, user-friendly way

Would be super cool to use a generated terrain as a base and then smooth/improve it with a set of brushes. Like a brick terrain editor.

Would be super cool to use a generated terrain as a base and then smooth/improve it with a set of brushes. Like a brick terrain editor.
I'm seriously thinking about making a brush-based brick terrain editor next, after the release of PTG. A couple people have requested it already, and it also should work great with generated terrain.

Still taking testers? I want to test. :^(

Looks good.
also, i'd be up for testing. blockland needs tools like this and it's nice to see it done in a solid, user-friendly way
Added to the OP list :)

yeah, i started working on a compact lil chunking simplex noise terrain generator that i might use later, but if i would be able to just hook into this in code instead, that would be amazing.
That would be fairly easy to do actually. The generator stores height values for terrain and other features in 2D arrays - relative to the size of the chunk. You could just setup a function that will store custom height values in the arrays instead, similar to this:
Code: [Select]
function CustomHeight_Terrain(%ChPosX,%ChPosY)
{
     for(%y = 0; %y < $PTG.chSize; %y += $PTG.brickSize)
     {
          for(%x = 0; %x < $PTG.chSize; %x += $PTG.brickSize)
          {
               $PTGArray_Terrain[%x,%y] = simplexNoise(%ChPosX+%x,%ChPosY+%y);
          }
     }
}
It would be slightly different from the above code, but that's the basic idea.



Btw, I'm working on the GUIs now - I attached some screenshots of what I'm planning so far (temporary for now and still a work in progress). Also, if anyone can help, I need to figure out:
- The server-sided function for shutting down a server (I would like to package it to remove script objects on shutdown, not onDisconnect or OnQuit)
- If there is an easy way to check player-specific quotas (for instance, I don't want to load builds or chunks from save files, and then have certain players get spammed with messages about being over quota).
- How to use GuiBitmapCtrl::getPixelColor() (thought it might be cool to add a heightmap importer)
« Last Edit: July 09, 2015, 10:06:20 PM by [GSF]Ghost »


I'm interested in beta testing.


bump
You don't need to bump a topic if it's already at the top of the section...

I'm interested in beta testing.

You don't need to bump a topic if it's already at the top of the section...
Oops...didn't see that ;-;

Quote
Also, if anyone can help, I need to figure out:
- The server-sided function for shutting down a server (I would like to package it to remove script objects on shutdown, not onDisconnect or OnQuit)

Package onExit() and onServerDestroyed(). There's no function that is called both when a normal server and when a dedicated server is destroyed.

Amazing work! I would love to test this as this in my eyes is one of the most useful blockland tools.