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

I'm saying do both; if the user wants, they could run the program in the background to do the terrain processing more efficiently; or they could use the torquescript generator.
It really wouldn't require abandonment of code; just converting of the code to another language. It'd be easier than you think, especially if it was converted to C, which is where Torquescript's syntax comes from.
Ok, but he would still have to rewrite it. Having both doesn't make writing the alternative any easier (and in fact it makes it harder as you need to implement switching). Programming languages don't really translate well, and even if there were no differences in edge cases, type handling, language features, etc (which there are - TS is a very odd language sometimes), so you could just directly translate the code, it would still take a while.

Setting these values to 0 creates a lot of lag and fps drops.
Perhaps using a different language and externally generating things could be an option?
It is an option, but it would be a major hassle to have to learn a new language (even if it's relatively similar to TorqueScript), change the syntax, define the variable types, etc., and would indefinitely delay the release. C++ would be much more efficient and I'm sure much faster, but working with the game's brick system is the main disadvantage.



Btw, just added support for Sylvanor's tree bricks! Choosing one of the tree top bricks as biome details will cause the generator to randomly choose one of the three tree base bricks to plant inside:


Besides tons of fixes and improvements, the revised alpha will also have new features as well, such as the ability to toggle auto saving for both finite and infinite terrain, and the option to disable distant chunk culling for infinite terrain (encase you want to generate terrain by exploring, without removing previously explored terrain). Details for biomes has also been expanded to 18 (6 for common, uncommon and rare), and detail placement ratios have been adjusted as well.

Hey, there's a problem in your client.cs file.

Please change these lines:
Code: [Select]
function disconnect()
...
return parent::disconnect();

to this:
Code: [Select]
function disconnect(%bool)
...
return parent::disconnect(%bool);

More info here: http://forum.blockland.us/index.php?topic=272426.0

Fixed for the update, thanks.

Bump, the revised alpha update will be released tomorrow! The update will include the following:

Features
     Mountains
          - Added options for toggling a snow layer for mountains and setting the snow start height (details in the snow layer change to the snow color)
          - Fixed issues and adjusted Mountains Z-Snap Mult. and Z-Multiplier.
          - Fixed setting colors and prints for mountains, so they are no longer red and have the default print.
     Terrain
          - Removed duplicate settings for default terrain.
          - Fixed random terrain displacement issue (was caused by an issue with biome terrain height modifying)
     New Additions
          - Added support for Sylvanor's Tree Bricks (choosing a leaf / top brick will also randomly choose a tree base to be planted within it)
          - Added plate-capping
          - Added option for setting the shore color, print and detail bricks to be the same as the custom biome it's in (doesn't apply for default biome)
     Biomes
          - Fixed endless biomes issue
          - Increased max details for biomes to 18 (6 for common, uncommon and rare) and adjusted placement ratios (uncommon generates 1/4 as often and rare 1/8 as often)
     Water and Fill Bricks
          - Fixed fill bricks and water bricks not switching to print bricks when ModTer is enabled
          - Fixed water brick generation so that it only generates where necessary (helps reduce the brick count as well)
          - Fixed issues with water brick bounds and collision sizes
          - Fixed water types functionality (they now add particle emitters to water bricks when used, and add certain affects to the bricks: lava uses undulo waves animation and injures players when entered, ice stops the waves animation and adds collision)
          - Added "QuickSand" as a new water type
     Routines
          - Fixed issues with pausing / resuming when exceeding brick, chunk or ping max buffer limits
          - Fixed loading static values for chunks from save files
          - Fixed autosaving taking too long to complete a cycle
          - Improved chunk culling so that it now only updates the chunk count to search through after each completed search cycle (should making removing chunks MUCH faster and prevent terrain generation from slowing down)
          - Fixed issues using "NoTerrain" as a terrain type, and renamed it to "Load Chunk Saves Only"
          - Fixed issue with accessing chunk filepaths / checking limits when saving a new chunk
     Other
          - Fixed seams in terrain (was caused by caves, even if they didn't generate; issues with gaps for caves and when terrain is near caves still needs to be fixed)
          - Fixed detail selection for Skylands (still needs to be finalized and still need to fix seams with Skyland terrain and caves(?))
          - Fixed cave bottom color and print for Skylands
         - Limited ModTer functionality (?) - (still need to finish) (Modular terrain support is working to a certain extent, but still needs A LOT of work, especially with caves and details)

GUI Improvements
     New Additions
          - Add options for deselecting detail bricks and prints
          - Added script to prevent disconnecting from a non-dedicated server while a routine or secondary routine is running
          - Added option to toggle permissions for Admins to use Server Commands and Events
          - Included option to only update Routine settings, without having to start another or halt the current routine
          - Added toggle options for autosaving (autosaving can now be enable for finite terrain, and disable for infinite terrain)
          - Added toggle option for removing distant chunks (meant for generating locals for RPGs simply by exploring the landscape)
          - Made changes to default settings and included presetup default prints (also added a script that notifies you if you choose a ModTer brick, but don't set up prints for it) (The default settings show mountains with snow, caves, all custom biomes, custom water types and Sylvanor's Tree support within the generated landscape for demonstration. Also, old presets will no longer work with this version.)
          - Added support for listing and reading presets from .zip files (you can have multiple saves and screenshots per .zip file)
          - Taking preview screenshots when saving presets now hides all HUD GUIs in advance
          - Made section cut values under Advanced easier to understand by adding dynamic max ranges to the right as a reference (they auto-update when certain settings are updated or when new presets are loaded) (also added ">" and "<" symbols for reference)
          - Added new error checks for noise scales when uploading settings
     Fixes
          - Fixed command for clearing all chunk saves for the current seed or in general
          - Made small changes to the GUI layouts to be easier to understand (such as replacing text boxes with sliders for Routines)
          - Made small adjustments to various slider ranges
          - Set default max ping buffer limit to 400 (same as default for the game) so the generator won't detect lag when taking screenshots

Autonomous Dedicated Server Support
          - Fixed console spam due to the lag check function on dedicated servers (for dedicated servers, the generator uses an auxiliary method for checking lag)
          - Added support for vacant servers (once you upload your settings and start a routine, you can leave and rejoin your server whenever and the generator will adapt)
          - Added a PTGrmt (PTG Remote) function to easily execute server commands through the external console window (type PTGRmt("Help"); in the console for more info and PTGRmt("List"); for all available functions you can use)

Other
          - Fixed issue with client Disconnect package
          - Improved eval security
          - Clamped seed value to 8 digits or less and adjusted chunk generation radii for players / superadmins to now allow a value of 0 (only generates the chunk under the player)
          - Clamped XY axis Noise Scale values to be <= 8192 and the Z axis values to be <= 8.
          - Fixed Dannu's issue in which terrain was always flat (due to how the engine handles scientific notation differently on Macs) (terrain will now generate differently for previously used seeds!)
          - Added data string limit checks to prevent data from being cutoff when uploaded over the network
« Last Edit: August 03, 2015, 07:11:00 PM by [GSF]Ghost »



Hey it's 1:32 AM can you release it please :^)

Awesome. I forgot about the AuxGen test you asked me to do. Is it still required?

That's a nice big update, Good work.

Alright, the update is going out now! I've reached my limit on PMs per hour, so I'll be messaging the new testers shortly. Here's a preview of the new default landscape, which demonstrates the fixes and new additions included:



Edit: Also, certain players asked to used the generator to help in setting up their server. Since it's a rare case, I decided to let them use it. Just wanted to mention that so the testers are aware.



Hey it's 1:32 AM can you release it please :^)
You have to be a tester to get the update lol.

Awesome. I forgot about the AuxGen test you asked me to do. Is it still required?
It wasn't really required, I just wanted to make sure the landscapes generated for you is the same for everyone else. Otherwise, loading presets might cause some confusion. If you send me a pic of the default landscape though, that would help.
« Last Edit: August 03, 2015, 08:37:09 PM by [GSF]Ghost »


i just need to try and get my new weapon pack done now so i can properly enjoy fort wars with this

Here's a thought: Could you make a .DLL injection that just adds a function to Blockland? Most of them override something, but what would stop you from adding? Then you could have it written in C++ and be in the same program, that is if you ever want to do that.

Tested the new update.

(Click for full res)


Absolutely astounding.



If you send me a pic of the default landscape though, that would help.

I'll get that done soon.

Tested out Mod-Ter generation, got some funky results. I generated a brick-equivalent too, to give some contrast.

http://imgur.com/a/RsKAO