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

That's what edge falloff is for.

those mod-ter caves are beautiful, i could never hope to build something like that, nice one.
Thanks =)

I've probably asked this before but, I would love to be able to make an island, yknow one that doesn't look like a big chunk of terrain which got perfectly cut on a big square.
An Edge Falloff feature was added recently that snaps the edges of terrain down to the ground level. You can set the distance the falloff starts from the grid edges; it also works with clouds, floating islands and skylands to close openings at the end of the grid:



Update: Dynamic stream generation is basically done! Stream bricks now come in various sizes, based on the default plate bricks. You can now plant streams from 1x1f to 32x32f.

New toggle options have been added for streams, such as the ability to generate physical water zones when larger stream bricks are used (smaller bricks are merged into larger ones automatically to help reduce the brick count), which was recommended a while back. You'll also have the option to set stream creation to be host-only, and to allowing streams to generate when planted in the air (to allow for floating water pillars). The past features are also still included; the option to generate zones and to allow / disable brick collision for streams will also apply for bricks loaded from chunk saves.




Floating Brick Support
The floating brick support script for terrain bricks is also just about done! Scripts for the hammer, wand and destructo / admin wand will function normally for bricks connected to the ground. But, when bricks are planted on floating PTG bricks, the hammer and wands will be slightly modified.

When floating, the hammer won't destroy bricks that are supported on both the top and bottom by another brick. The wand however will destroy bricks no matter what, and will cause a chain-kill of the brick column above, without destroying the terrain they are planted on. Detail bricks and streams can be removed by the hammer (for easily clearing out the terrain for building), but the terrain itself can only be removed with the wand.


Modular Terrain Support
ModTer support is about 95% done for clouds, and 80% done for floating islands. Afterward, I only need to finish making it work for skylands.




1972 Revision "Packet" Update
Badspot recently posted another update to Blockland that increases the number of packets sent to clients. This will allow terrain to render MUCH faster, but the downside is that it can cause staggered / sluggish frame rates as chunks pop into view. However, I'll try to adjust the "Next Function Delay" to account for this.


Other cool pics:

I cried 10 times repeatedly...

Keep up the magnificent work!

Am I still applicable for testing?


Am I still applicable for testing?
PTG is about to enter the last testing phase before release, so I will need more testers. If you want to help just let me know. =)

Speaking of which, not all of the testers are active anymore, so I'll probably create a new list (with a cap of 20). If anyone else is interested in testing, feel free to send me a message. This last testing phase is crucial for making sure there are no issues before release.



Update: PTG is now 98% complete!

New Server Command For Highlighting Chunks

- A /PTGReveal server command was added that will add a highlight object over chunks, giving you a visual representation of them (which can be very useful - can also be used via the Chunk Manager). These highlight objects will not only show you the size of each chunk, but will also reflect the static value and max height of those chunks. You can setup custom colors for these objects when chunks are static / non-static, and their height will snap to the same grid that boundary bricks use.


Streams and Boundaries Are Finished!
- Dynamic stream generation is done! Streams use a unique fractal algorithm, allowing them to cascade over other bricks.


- Can now use static shapes as boundaries, which are much faster than using normal bricks (they are stretched and handled as single objects, and don't interfere with bricks that might stick out from chunks)
- You can also toggle invisible static shapes (which are great for use with infinite terrain to prevent bots or players from falling off the landscape)
- Boundaries now work with infinite terrain! As you explore, boundaries will be recalculated both in front and behind your player (it's recommended to use static shapes for infinite terrain)
- A new option was included that will offset boundaries relative to the offset height you set for terrain
 


Modified Setting Uploading
You can now upload settings at any time, even while a routine is running (not during clearing routines however). Also, you no longer have to upload settings and immediately start a routine after.


New Options
- You can now halt clearing routines (i.e. clear, clear all and purge), which now also pause if lag detected
- Can toggle lag checks and pauses for normal and dedicated servers
- You are no longer limited to removing only one chunk at a time (you can use the Remove Chunk command to clear multiple chunks at once)
- Removing chunks now highlights the chunk for removal so all players will be notified
- Added a toggle option to automatically create chunks for planted / loaded player bricks if one doesn't already exist
- Added toggle options to prevent destroying terrain, detail bricks and boundary bricks with anything other than the destructo / admin wand (players can still remove detail bricks when public ownership is enabled, unless you toggle the admin wand only option)
- Added support for removing Sylvanor tree bricks that are stacked with the hammer
- Added options to select up to 3 colors when using Sylvanor trees (the generator automatically chooses one of the tree base bricks for you when a tree top brick is selected as a detail, but now you can select 3 random colors for the base bricks)


Other Modifications
- Any issues with bots should now be fixed
- Multi-user functionality is now entirely Super Admin only
- Schedules and delays have been finalized for the most part
- Built-in hard limits are finished (which help protect the server)
- Finalized setting upload security
- Improved dedicated server remote function functionality



What's Left:
- Add toggle option to generate details on flat areas
- Finish third party support for loading presets server-sided (will also be used to setup default server settings, which will allow you to host dedicated servers with PTG without having to actually join your server to start a routine)
- Finish Modular Terrain Support
- Add final graphics and fix remaining issues

« Last Edit: November 27, 2015, 11:10:26 PM by [GSF]Ghost »


You should add the ability to have an arbitrarily large list of details. I've wanted for a long time to use PTG to make a Hunger Games-esq mod that uses PTG to generate a new map each round, but one of the issues is that there are not nearly enough detail slots to define the huge amount of things that would need to appear in each map.

You should add the ability to have an arbitrarily large list of details. I've wanted for a long time to use PTG to make a Hunger Games-esq mod that uses PTG to generate a new map each round, but one of the issues is that there are not nearly enough detail slots to define the huge amount of things that would need to appear in each map.
to add on to this, it'd be awesome if you could make it so you can put specific events on each kind of detail when they generate. probably too late to ask for this for the next version, but it'd be cool to see sometime.

I'm still open for testing
Great, re-added =)

You should add the ability to have an arbitrarily large list of details. I've wanted for a long time to use PTG to make a Hunger Games-esq mod that uses PTG to generate a new map each round, but one of the issues is that there are not nearly enough detail slots to define the huge amount of things that would need to appear in each map.
I might be able to add that functionality for the current version. Would you need to setup details for various biomes, or just the default one?

to add on to this, it'd be awesome if you could make it so you can put specific events on each kind of detail when they generate. probably too late to ask for this for the next version, but it'd be cool to see sometime.
I've actually considered an option to add events to details in the past, but yeah it would probably be best to wait until the next version for that. In the mean time however, bricks can be setup to add events automatically upon being planted, similar to how the treasure chest is setup.


I might be able to add that functionality for the current version. Would you need to setup details for various biomes, or just the default one?
It feels like it would be most proper to do this for all biomes.

i'll take a slot
Added to the OP =)

It feels like it would be most proper to do this for all biomes.
Sure, I'll probably set it up so that the details can be defined per biome in .txt files (by including the brick's datablock name, colorID and printUI). There will also be a toggle option under Details & Biomes in the GUI to use the .txt list instead, which will be loaded into a server script object for reference once a routine is started. This way, you could have near endless details for each biome.