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

If all goes well, you can expect a public release by Christmas Eve. =)
not allowed to open it until christmas morning though!



when PTG goes wrong


That's generating correctly. Lava and other water types generate relative to biomes, even if not surrounded by terrain. You can also adjust the biome height modifier for terrain and the Z-Snap Multiple for mountains to adjust the landscape in the second pic.

the second pic wasnt rlly relevant :P

it doesn't really seem logical to generate lava next to water tho

Oh lol, yeah besides the sharp mountains that second pic does look epic. There's not much I can do about transitions between biomes and especially water types like lava, at least not for this version; checking adjacent biomes might be slightly expensive to calculate and would be difficult to set up at this point. But, if I even start on version 4 I'll try to incorporate an option for biome / water type transitions. =)
« Last Edit: December 20, 2015, 01:17:59 PM by [GSF]Ghost »

when PTG goes wrong

It looks like someone pissed on the water.

no its spicy mustard

you can tell by the fire

It's pretty mindblowing with the amount of options, but because of the options I can see it taking a good while to master!



You can remove all of these fail safes, it's actually impossible for servercmd functions to be called without a client unless someone deliberately tries to break it with eval.



I'm trying to use the skylands mode, but the bottom layer sometimes has random holes:



Any idea what's wrong here?

And I'm getting this with edge falloff enabled:



And this with infinite terrain enabled: (note the same broken chunk and an additional hole in the terrain)



Seed is 224926 otherwise default settings





What is this nonsens? How do I disable it?



How can I speed up the generation? I'm usually running a dedicated server so it doesn't matter if this takes up half the time per tick. You probably have options for this, but I can't find them. The gui throws so many things at me at once that it gets hard to use. Then you also have little context menus in many places to open even more settings. aaahhhhh. You should probably add mouse over hints to every single setting that explain what it does in max two sentences.

Also took me a few to figure out that I have to click "apply new" to change any settings. Why is there a button to upload settings but no button to discard changes and download the current ones? Actually, why is this needed at all?

The guis (especially the preview one!) also need to be resizeable.
« Last Edit: December 21, 2015, 06:27:34 PM by Zeblote »

It's pretty mindblowing with the amount of options, but because of the options I can see it taking a good while to master!
The gui throws so many things at me at once that it gets hard to use. Then you also have little context menus in many places to open even more settings. aaahhhhh. You should probably add mouse over hints to every single setting that explain what it does in max two sentences.
Yeah, there is a lot of stuff included lol; I wanted PTG to be the go-to generator for the community, but ended up including about 500 settings at least... However, with the final release, I'm going to include a built-in help GUI with short descriptions of each setting; you can see the beginnings of it already with the question mark buttons on each category. I'll also be sure to include some video tutorials.




You can remove all of these fail safes, it's actually impossible for servercmd functions to be called without a client unless someone deliberately tries to break it with eval.



I'm trying to use the skylands mode, but the bottom layer sometimes has random holes:



Any idea what's wrong here?

And I'm getting this with edge falloff enabled:



And this with infinite terrain enabled: (note the same broken chunk and an additional hole in the terrain)



Seed is 224926 otherwise default settings





What is this nonsens? How do I disable it?



How can I speed up the generation? I'm usually running a dedicated server so it doesn't matter if this takes up half the time per tick. You probably have options for this, but I can't find them. The gui throws so many things at me at once that it gets hard to use. Then you also have little context menus in many places to open even more settings. aaahhhhh. You should probably add mouse over hints to every single setting that explain what it does in max two sentences.

Also took me a few to figure out that I have to click "apply new" to change any settings. Why is there a button to upload settings but no button to discard changes and download the current ones? Actually, why is this needed at all?

The guis (especially the preview one!) also need to be resizeable.
I could have sworn I fixed the issue with the holes for Skylands, but I'm not sure if the fix was included with the version sent to the testers. If you're able to recreate the issue, please send me a saved preset so I can look into it, or let me know the settings used if mainly using the default ones. The large gaps in the terrain are just chunks that were saved and loaded from file, using a custom save format. By default, the generator saves chunks you build in, and loads the chunks instead of recalculating them again. But, this can be disabled by setting the "chunk save method" popup menu to "Never Save", or by unchecking the "Set Chunk to edited if a new brick is planted / loaded within it" option; both are under the Chunk Options category for Routines settings.

The lag pause issue can be disabled by enabling the "Disable Normal / Dedicated Server Lag Checks and Routine Pauses" option under the Generator Schedules category for Routines settings; make sure to apply the changes though. The Apply New button allows you to send GUI settings to the server for both locally connected and non-locally connected clients - so you can use the generator on dedicated servers, on normal servers or on someone else's server if they enable permissions for you to use it; it was just easier to set it up that way. And I'll remove the client check fail safes.

I'll try to include options to expand the GUI windows, the default option included with the engine won't work due to how the GUIs are set up, so I just disabled it. Also, you can speed up the generator by making sure fast packets is enabled and setting all the delays under Routines to "0". There is still a slight delay added for recursive functions to prevent lag spikes during generation, but I can include an option to disable the schedules in general if that would help.

But yeah, I'll make sure to include the help GUI and video tutorials for the final release, I just didn't have time to get it ready for the Pre-Release test. =/

I could have sworn I fixed the issue with the holes for Skylands, but I'm not sure if the fix was included with the version sent to the testers. If you're able to recreate the issue, please send me a saved preset so I can look into it, or let me know the settings used if mainly using the default ones. The large gaps in the terrain are just chunks that were saved and loaded from file, using a custom save format. By default, the generator saves chunks you build in, and loads the chunks instead of recalculating them again. But, this can be disabled by setting the "chunk save method" popup menu to "Never Save", or by unchecking the "Set Chunk to edited if a new brick is planted / loaded within it" option; both are under the Chunk Options category for Routines settings.

But I haven't actually built anything. Seed 224926, default settings with edge falloff enabled reproduces this one broken chunk for me, any other seed works fine.

The Apply New button allows you to send GUI settings to the server for both locally connected and non-locally connected clients - so you can use the generator on dedicated servers, on normal servers or on someone else's server if they enable permissions for you to use it; it was just easier to set it up that way.

Why does clicking start after changing things in the gui not automatically upload new settings? How can I discard changes I made and re-load the settings from the server?

I'll try to include options to expand the GUI windows, the default option included with the engine won't work due to how the GUIs are set up, so I just disabled it.

Making resizeable guis is actually very easy, tge's gui system can do a lot more than it looks like from the surface. For example you can attach the graph area to the bottom border of the window and have the preview area above it expand together with the window border. Try to experiment with combinations of the width, height, etc sizings.

But yeah, I'll make sure to include the help GUI and video tutorials for the final release, I just didn't have time to get it ready for the Pre-Release test. =/

Make sure you don't rush this. You've already managed to get this far with a blockland add-on, really amazing. You're not bound by any deadlines, it won't hurt to spend another few weeks improving the user experience.

Is there a way for it to generate faster? Also where do I change to make the terrain to generate less "wavey" and more flat? not being flatlands but normal, like a mix between, so it's not like all bumpy mountains and more flat
« Last Edit: December 21, 2015, 08:29:48 PM by Filipe »

Is there a way for it to generate faster? Also where do I change to make the terrain to generate less "wavey" and more flat? not being flatlands but normal, like a mix between, so it's not like all bumpy mountains and more flat
For now, the only way to speed it up is to make sure fast packets is enabled - located under the Network tab in Options. I'm going to make some changes to the generator schedules though to allow terrain to generate even faster; right now it only generates a few bricks per tick / frame. And the terrain can be adjusted under Advanced settings by changing the Noise Scales settings - lowering the Z-Axis values for terrain should reduce the size of the waves.


But I haven't actually built anything. Seed 224926, default settings with edge falloff enabled reproduces this one broken chunk for me, any other seed works fine.
I tried recreating the issue, but didn't find any problems on my end. I'm pretty sure that's a chunk loaded from file, especially if the issue is occurring for that particular seed - due to how chunks are saved.  You can try clearing all saved chunks by typing "/PTGClearAllSaves" in chat, which will erase the saves if they do exist. I'm not sure why the chunk would be saved though; the default settings tag chunks as "edited" if a single brick is planted inside or edited with the wrench, and then saves them during removal if edited.


Why does clicking start after changing things in the gui not automatically upload new settings? How can I discard changes I made and re-load the settings from the server?
That's actually how it used to be set up; The start button would upload your settings and immediately start a routine after. However, sometimes users may want to halt a routine and restart it later without uploading new settings, so I decided split it into two separate commands. But, that option can be readded if needed. To discard changes, you would just have to change your settings back in the GUI and reupload them by selecting Apply New.


Making resizeable guis is actually very easy, tge's gui system can do a lot more than it looks like from the surface. For example you can attach the graph area to the bottom border of the window and have the preview area above it expand together with the window border. Try to experiment with combinations of the width, height, etc sizings.

Make sure you don't rush this. You've already managed to get this far with a blockland add-on, really amazing. You're not bound by any deadlines, it won't hurt to spend another few weeks improving the user experience.
I'll see what I can do about the GUIs; I know being able to expand the preview GUI especially would be very useful.



Update: Making progress with various small changes / fixes!

-Fixed loading routines settings via the GUI or by using third party support
-Added a new server command /PTGSetDefault to set current settings in the GUI as default for the GUI and the server (they would be loaded automatically for the next game instances)
-Fixed minor issue with adjusting chunk highlight object height when loading bricks from a .bls save
-Finished the ModTer corner calculation option (makes terrain w/ ModTer bricks perfectly seamless)
-Fixed an  issue with the option to offset the height of boundaries relative to the terrain offset, when using the radial grid
-Fixed using negative start (and end) values with the radial grid
-Fixed multiple issues with GUI landscape previewing
-Fixed issue that prevented removing all files when deleting an uploaded build through the Build Manager GUI
-Fixed issue with rotating item position, item direction and emitter position for loaded builds

« Last Edit: December 21, 2015, 10:33:17 PM by [GSF]Ghost »

 Looks Bootiful! I'd be happy to test it!