Procedural Terrain Generator (Features Tutorial Added!)

Poll

What is your favorite feature included in version 3?

Infinite terrain
239 (11%)
Finite terrain
139 (6.4%)
Support for various brick sizes, terrain types, and ModTer sizes and types
171 (7.9%)
Color, Print, and Brick setup
144 (6.6%)
Landscape Additions (Mountains, Caves, Clouds, Floating Islands & Boundaries)
176 (8.1%)
Biomes, Details and Mass Detail Setup
164 (7.5%)
Chunk saving and loading options
130 (6%)
GUIs and Presets
156 (7.2%)
Advanced Options (such as manipulating noise scales)
140 (6.4%)
Routines Options (delays, toggling brick destruction, setting up permissions and ownership, etc.)
125 (5.8%)
Custom Bricks and Dynamic Cascading Streams
140 (6.4%)
Floating Brick Support
151 (6.9%)
Multiple User Support
137 (6.3%)
Build Loading and Flat Areas
161 (7.4%)

Total Members Voted: 325

Author Topic: Procedural Terrain Generator (Features Tutorial Added!)  (Read 87506 times)


After over 2 years of work, introducing version 3 of the Procedural Terrain Generator - the most advanced and versatile generator ever made for Blockland! This add-on creates randomized, brick-terrain for you, while making it appear hand-built. This isn't meant to replace building terrain by hand, but rather to provide another vehicle for creativity.

* Perfect for zoned-rpgs, MERPs, DMs / TDMs, infinite freebuilds, open world exploration, Day-Z servers, survival gamemodes, and more!
* Can generate all major terrain types: Cubescapes, Cubescapes w/ Plate-Capping, Platescapes, 2x2 and 4x4 Terrain, 1x1f Mini Empire Landscapes, ModTer, ModTer Wedgescaping, Minecraft Esque, Skylands, Flatlands, Enclosed RP Landscapes and more!


 

Features


Easy To Use, Intuitive GUIs

  • Features both a Simplex GUI (easy-to-use) and an expandable Complex GUI for generating landscapes, a Chunk Manager GUI for managing chunk objects and an Overview GUI which gives a brief introduction to the add-on
  • The Simplex GUI is designed to use minimal options for generating landscapes - you tell the generator basically what you want and it takes care of the rest
  • Includes GUI presets for easily saving and loading past settings (also allows you to share landscapes with others)
  • Allows for layer-based landscape previewing (so you can see how your landscape will look before generating it)
  • Advanced options for those who want more control over the generator (including noise scales, noise offsets, section cut heights, routine options, and other settings)

                                                                                                                               



Finite & Infinite Terrain Generation (seamlessly switch between both)

  • Includes genuine infinite terrain generation, which works for all players on your server, and auto-adapts as players join and leave your server (chunks of terrain will be created and removed relative to each player's location)
  • Set separate chunk radii for normal players and super admins when using infinite terrain (you can even disable chunk culling / removal)
  • Handles terrain within chunks - which are basically just boxes or containers that house generated bricks
  • Finite terrain makes a return; you can set a pre-defined grid area where your landscape will generate
  • Compliments the game's brickgroup and trust system, rather than overriding it (generated bricks can be saved normally as a .bls file)
  • Toggle chunks as being "Static", which will prevent them from being removed under certain conditions - great for creating spawn areas when using infinite terrain
  • Generates seamless landscapes

                                                                                                                               



Landscape Options

  • Toggle additional features such as Mountains, Caves, Clouds, Floating Islands, and Boundaries, each with their own settings
  • Support using various brick sizes, including ModTer bricks (all bricks snap to a height relative to the brick itself)
  • Choose between 3 different ModTer types for terrain, clouds and floating islands (Cubes & Ramps, Cubes & Wedges, and Cubes only)
  • Choose between 4 different terrain generation types (Normal, Skylands, Flatlands and loading from chunk saves only - can be used to create infinite freebuilds, or zoned RPGs)
  • Other options include: AutoSaving, Gradual Generation, Radial Grid, Edge FallOff, and Public or Standard Ownership
  • Customize the colors and prints for terrain and the various features, along with other settings
  • Use the Edge Falloff option to snap terrain edges to the group, and to close-up openings of Skylands, floating islands and clouds near the grid edge

                                                                                                                               



Biomes & Details

  • Includes 3 toggleable custom biomes, which can be used to create unique areas of terrain, such as arctic mountains and arid deserts
  • Customize colors, prints and detail bricks for your biomes (details allow you to add things like plants and trees; any bricks can be used)
  • Choose between 4 different water types: normal, lava, ice and quick sand for the default and custom biomes (each include unique zone, wave and particle effects)
  • Select up to 18 detail bricks per biome (or use the Mass Details List GUI to add up to 400 per biome)
  • Includes Common, Uncommon and Rare detail brick generation-ratios; you can also adjust the standard frequency
  • Smart Detail Placement Algorithm - when planting details on ModTer bricks
  • Includes Support For Sylvanor's Tree Bricks - Randomly chooses one of the three tree base bricks when one of the tree top bricks are selected as a detail (you can set up 3 random colors for the base bricks)

                                                                                                                               



Build Loading

  • Load your own .bls saves randomly into the landscape; you can set up placement parameters, frequency and toggle auto-rotation for each
  • Also can generate flat areas in the landscape, to easily build on terrain (both flat areas and build loading can be enabled at the same time, but be sure to reduce the flat area frequency first)

                                                                                                                               



Dynamic Stream Bricks

  • Custom stream source bricks are included that will cause dynamic streams / waterfalls to cascade downward when planted
  • You can adjust how quickly streams cascade, define who can plant them, toggle water zone generation and more

                                                                                                                               



Combine Features In Unique Ways


                                                                                                                               



Chunk Saving
  • Saves your planted bricks to the terrain in a custom format within chunks, with various saving / loading options included
  • Define when and how chunks are saved
  • Permanent and Normal Chunk Saving options included
  • You can include chunk saves with shared presets, so that player builds on the landscape can be loaded with the preset itself (more info in Help.txt included in the add-on's .zip file)
  • You can even use chunk saving to speed up landscape generation

                                                                                                                               



Toggleable Multi-User Support
  • Toggle allowing other players to upload their GUI settings to the server (disabled by default)
  • Toggle permissions for allowing other players to use PTG server commands and events (disabled by default)
  • Toggle ability for players to upload and manage already uploaded builds (disabled by default)
  • Toggle ability for any player to use the /PTGPos command to check their current position

                                                                                                                               



Floating Brick Support
- Modifies scripts for the hammer, wand and admin wand to support player bricks planted onto the floating landscape; also supports the game's brickgroup and trust system (build shown below was done by Alternative - 4121)


                                                                                                                               



Server Commands & Events

  • Events are included as a separate download, allowing you to manage routines, change the generator seed, etc.
  • Use /PTGCmds for a list of all available commands; they can also be executed through buttons in the GUIs
  • /PTGStart - Starts a finite or infinite generation routine, based on the last settings uploaded to the server
  • /PTGHalt - Stops a generation or clearing routine in progress
  • /PTGClear %bool - Clears all non-static chunks; replace %bool with 1 if you don't want the chunk to be saved during removal (depends on your saving options)
  • /PTGClearAll %bool  - Clears all chunks, even if static; replace %bool with 1 if you don't want the chunk to be saved during removal
  • /PTGClearSpam %ID - Clears a player's bricks from all existing chunk objects; replace %ID with the player's Blockland ID whose bricks you want to clear
  • /PTGRemoveChunk %bool - Removes the current chunk object your player is within; replace % bool with 1 to also clear the chunk's save, if present
  • /PTGClearAllSaves %string - Deletes all chunk saves on your computer; replace %string with "AllSaves" to remove saves for all seed values, not just for that seed
  • /PTGPurge - Clears all chunks, even if static, and removes any saves that might be present for those chunks
  • /PTGCount - Displays the number of chunks that currently exist, the amount of bricks within them, and other data
  • /PTGStatic - Toggles the current chunk object your player is within as static or not
  • /PTGAllStatic %bool - Toggles all existing chunk objects as static or not; set %bool to 1 to set them to static, or leave blank to set them to non-static
  • /PTGSave - Saves all bricks within chunks, based on your current settings for saving.
  • /PTGPos - Shows your players current position and facing direction; can be used by any players on your server (useful for RPGs for finding other players, towns, etc. - permissions can be toggled)
  • /PTGReveal - Toggles highlighting all existing chunk objects using static shapes (also shows if each chunk is static or not, based on the colors you define for the static shapes in the GUI)
  • /PTGSetDefault - Sets your current GUI settings as the new server and GUI defaults, rather than using standard defaults (which will be loaded automatically when a new server is created - this command doesn't work on dedicated servers on other player's servers)

                                                                                                                               



Complete Dedicated Server & Remote Console Support
  • PTG was designed from the very beginning to support dedicated servers (GUI settings have to be uploaded to the server using one of the APPLY buttons, in order for them to take effect)
  • Completely Autonomous - Join and leave your server as you please, even while routines are running (you need to start a routine while being present on the server at least once, prior)
  • PTGRmt(%func); function is included allowing you to easily call PTG server commands through the external console for your dedicated server, without being present (PTGRmt("Help"); will provide more info, and PTGRmt("List"); will list all available functions you can use - more info in Help.txt included in the add-on's .zip file)

                                                                                                                               



Various Help Options
- Video tutorials on YouTube
- A Help GUI built into most interfaces (can be opened by clicking any of the (?) question mark icons)
- An Overview GUI (that gives an introduction to the add-on)
- And a Help.txt file (included in the add-ons .zip)

                                                                                                                               



Other Technical Features
 
  • Includes custom bricks, such as new ModTer water (which support planting both normal and ModTer bricks inside)
  • Smart brick-grouping algorithms - help keep the brick count down by grouping water, streams and terrain fill bricks into larger bricks
  • Uses my own, custom made noise algorithms, developed over the past few years and designed to be as fast and efficient as possible (based on the LCG random number generation method)
    • Perlin Noise
    • Multi Iteration Fractals
    • Incoherent Noise / Random Number Generation
    • Random Subdivisable Zones
    • Marching Cubes Algorithm - for ModTer placement
  • Colorset Conversion / Adaption - Automatically takes different colorsets into account for various situations, and finds the closest colors possible
  • Psuedo Equator Simulation - prevents certain features from generating until a certain distance from the origin on the Y-Axis (can be used to reward exploration)
  • Brick Limit, Buffers and Lag Detection (halts or pauses routines if lag is detected or certain limits are exceeded - can be disabled)
  • Built-in server hard limits, and various adjustable limits
  • Chat Notifications (which you can adjust the font size for) and Toggleable Console Echo Messages
  • Automatic Server and GUI loading of default settings (along with the option to set up custom defaults)
  • Third-Party / Gamemode support - function for loading presets on the server-side, which auto-starts a routine afterward (various options included with this function as well - more info can be found in Help.txt located within the add-ons .zip file
  • Various methods for sharing generated landscapes (share seed values, presets, presets with chunk saves, or presets with chunk saves and uploaded / converted builds) - more info can be found in Help.txt (in the add-ons .zip file)
  • Conflict Prevention (prevents functions from interfering with each other when accessing / editing chunks)
  • Utilizes function schedules / delays, gradual execution and recursion to improve generator performance
  • Noise scale auto-fixing option
  • and much more!
« Last Edit: October 09, 2016, 12:46:27 PM by [GSF]Ghost »


Credits

Special thanks to everyone who helped with testing, or who contributed in some way

Testers            

--LegoPepper-- - 3763
77x5ghost2 - 29454
Aidan10 - 43061
Bdarty - 45122
Bester Bageler - 16558
Bicbacto55 / haloz­³ - 32828
Blake1Studios - 42824
blockguy™ - 126137
Catzoo - 9054
Conan - 4928
Cookies and Cream - 104848
Dannu - 17003
DAProgs - 1404
DaSord213 - 5214
Dionysusan - 52274
dotclock - 26823
DrHitius - 48525
Epiczamz - 12321
Filipe - 21933

Testers (cont.)            

gebenuwell - 48685
gr8dayseth - 25205
Greek2Me - 11902
Gytyyhgfffff - 26879
Hawt - 41072
Hodot - 18947
Honno - 42358
IkeTheGeneric - 18600
Jervan - 15153
jonnyman5656 - 15925
K3k0m@n - 13939
Kyuande / Visolator - 20490 / 48980
mario0126 - 31008
Maxxi / Maxx° - 103472 / 188856
mod-man - 14773
Mule - 51613
Niblic² - 91434
otto-san - 10293
Pecon - 29450

Testers (cont.)            

Pie Crust - 27690
pwnfulz - 33751
Rally - 107346
rggbnnnnn - 46795
Shizza04 - 47685
Siberian Husky - 36270
superdupercoolguy - 26766
SuperSuit12 - 157541
.::Taboo::. / ·:Taboo:· - 10482 / 48953
The Murderous Cop - 186028
TheBlackParrot - 18701
TheChazzyC - 26208
TheLeaderOfTheRebellion - 21824
tony-0222 - 17189
TristanLuigi - 26659
Xeidious* - 44868
Zeblote - 1163
Screenshots            

--LegoPepper-- - 3763
Alphadin - 7458
Catzoo - 9054
Hawt - 41072
IkeTheGeneric - 18600
Jervan - 15153
Maxwell. - 43654
Siberian Husky - 36270

Trailer            

Filipe - 21933

Script Improvement            

Dannu - 17003
Zeblote - 1163

Build Submission            

The Resonte! - 23546


Community Showcase

- Landscapes created by the community (feel free to share your creations in the thread!)




Downloads


Download version 3 of PTG
- Main download for the generator; if you tested or tried the add-on before the official release, please delete all old files and folders related to PTG's development before downloading. If McAfee or another anti-virus service warns that this download is potentially dangerous, that's probably due to the .json files included with the add-on (used for hosting and auto-updating on Blockland Glass) - it should be completely safe. All updates are also reviewed by Blockland Glass moderators.



                                                                                                                               


Recommended Brick Packs

Please download and enable the following brick packs, as many presets use them (not required, just recommended):
Sylvanor Modular Trees - http://forum.blockland.us/index.php?topic=272034.0
Plant Bricks - http://orbs.daprogs.com/rtb/forum.returntoblockland.com/dlm/viewFile7e2f.html?id=4494 / http://forum.blockland.us/index.php?topic=251707.msg7281706#msg7281706
Mini-Empires Brick Pack - http://orbs.daprogs.com/rtb/forum.returntoblockland.com/dlm/viewFile4b3d.html?id=4979 / http://forum.blockland.us/index.php?topic=232964.0
Detail Bricks - http://orbs.daprogs.com/rtb/forum.returntoblockland.com/dlm/viewFile101a.html?id=5282

Other, optional packs:
New Mini-Empires Pack - http://forum.blockland.us/index.php?topic=288248.0
Forest Tree - http://orbs.daprogs.com/rtb/forum.returntoblockland.com/dlm/viewFile0a42.html?id=4315

                                                                                                                               


GUI Preset Packs
- Optional GUI presets, which you can load into the Complex GUI to generate pre-setup landscapes
- Note: It's recommended to revert back to default settings before creating your own presets or before experimenting with the various GUI settings.
- Make sure to install the .zip files to the config/client/PTGv3/Presets/ directory; you can either leave them in the .zip file, or extract the files to the directory (encase you might want to overwrite them later).

                                                                                                                               


Builds (for the build loading feature)
- .bls brick saves you can use to experiment with the build loading feature in the Complex GUI


>> Download - MediaFire (259 KB)

                                                                                                                               



PTG Generator Events
- Events you can use with the generator (make sure version 3 of PTG is enabled when using the events) (see the Help.txt file included in System_PTG.zip for more information)


>> View / Download on Blockland Glass


Misc. Links


Development Topic - http://forum.blockland.us/index.php?topic=281995.0
Final Release Album - http://imgur.com/a/9NLXn/all
Pre-Release Development Album - http://imgur.com/a/CQlKB/all
Beta Development Album - http://imgur.com/a/mkGOp/all
Alpha Development Album - http://imgur.com/a/Aq7rR/all
Pre-Alpha Development Album - http://imgur.com/a/RsPMw/all

Development Video Log Series - https://www.youtube.com/playlist?list=PLpemTkuntj8_Iz4xjSGTq6l6IojvJ7sD3
Latest Gallery Topic - http://forum.blockland.us/index.php?topic=277887.0
Previous Gallery Topic - http://forum.blockland.us/index.php?topic=258023.0
PTG v2 Topic - http://forum.blockland.us/index.php?topic=227601.0
PTG v2 Video Showcase (The Baseplate) - https://www.youtube.com/watch?v=AAl9R7cMUTM
Early Fractals Development - http://forum.blockland.us/index.php?topic=243192.msg7147471#msg7147471 , http://forum.blockland.us/index.php?topic=243192.msg7404521#msg7404521


Version 3 Change Logs

Next Update:
Quote
(require restart)
[DONE]- Add new floating brick support script
[DONE]- Add toggle option to also show the closest player's distance and relative direction to your player when using /PTGPos
[DONE]- Add new /PTGLoadChunks command to allow loading chunk saves without having to start a generation routine
[DONE]- Add a recovery preset that automatically saves your previous GUI settings when disconnecting / quitting, which can be recovered encase you forget to save them
[DONE]- Change brick UI names to prevent conflicting with other brick packs
[DONE]- Fix issues with bots, especially when using public ownership
[DONE]- Add new option under routines settings to also add physical zones to plate stream bricks
[DONE]- Improve greater GUI setting upload security filter; uploading settings in will automatically exclude multiple words to prevent issues
[DONE]- Fix issue with saving / loading routine settings
[MOSTLY DONE]- Other various fixes

Patch 3.0.2
Quote
- Updated fix that was included for halting generation when exceeding the brick limit buffer.
- Made improvements to how routines are paused / halted when exceeding the brick limit buffer.
- Updated IDs for a couple players in Credits.txt

Patch 3.0.1
Quote
- Fixed an issue with halting finite routines when the brick limit amount buffer is exceeded.

Version 2 to 3:
Quote
Re-did everything =/
« Last Edit: February 06, 2016, 12:08:01 AM by [GSF]Ghost »






YUS! FINALLY!!! LEMME DOWNLOAD PLS!!!!
« Last Edit: January 22, 2016, 03:26:39 PM by c[_] »

Yayayayayayay, congrats on finishing it and hooray for the community!!

...the most advanced and versatile generator ever made for Blockland!...
ftfy

Edit: It appears that the release trailer from Filipe was removed on Youtube
« Last Edit: January 22, 2016, 03:35:08 PM by DaBlocko »

wow it's released
well done GSF!


based ghost holy stuff


whoa holy hell

i'm breathing very heavily right now


damn, only one build submission
« Last Edit: January 22, 2016, 03:40:09 PM by The Resonte! »