Where many games use a bottom-up approach to content generation, I like to think #Unexplored2 uses a top-down approach. Let me use this cool ‘lake-bed’ temple I have been working on to illustrate what I mean for #screenshotsaturday #indidev #gamedev #procgen 1/11
A good example of a bottom-up approach is stitching pre-designed rooms into a larger random structure. It works well for many dungeon crawling games, especially when different parameters can be used to vary the rooms. 2/11
In contrast, we don’t author bits and pieces, we author the general structure as this diagram shows. It consists of 6 interconnected levels, the structure specifies how the levels are connected and where crucial keys can be found and where enemies should be spawned. 3/11
The structure specifies the structural roles that are needed in a level. These roles are vaults, objective rooms, antechambers you’ll pass on your way to the objective and isolated sections. And populates them accordingly. 4/11
In this level you enter near a small ruin on the edge of a dry lake bed. Inside the ruin is an inactive teleporter and a stair leading down (A). The tunnel allows you to access the bottom (B). But you might also find a passage to the secret underground lake (C). 5/11
If you cross the lake-bed you’ll discover the main temple, although the compound is built on top of a cliff and you need to enter (D) and find your way up through the basement first (E). 6/11
The real treasure is hidden in a chest behind the underground lake (G). To reach it you need to retrieve the ‘flow sigil’ hidden elsewhere in the temple and use it to activate the water walking spell that would allow you to reach the treasure. 7/11
The level structure is encoded in a level template that specifies all these needs, but also allows for some variations. For example, sometimes the tunnel is also connected to the lake directly, providing you with a way to avoid the dangerous lake-bed. 8/11
In another example, the sky sigil that is required to activate the teleporters can be found in the tunnel. This creates the opportunity to teleport to the temple directly, although in this case you would still need to find your way out. 9/11
Different seeds create different layouts for each individual level, although all these layouts fulfill the needs specified by the level generation template. Different local lock and key mechanics, and themed hazards guarantee you’ll never see the same level twice. 10/11
The result creates a much more cohesive experience for the player. The entire structure of the temple is one big navigational puzzle designed to let the player find the treasure hidden behind the lake. I don’t think you can get this from simply stitching rooms together… 11/11

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Joris Dormans

Joris Dormans Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @DormansJoris

18 Sep 21
'The Place': a new level design philosophy to guide level generation in #Unexplored2. It describes the elementary structure that helps generate locations to complement the typical dungeons and place encounters in them in a logical manner. A thread (1/11) #gamedev #indiedev
The place:
- is a confined space with an entrance situated in an environment.
- can only be entered through entrances.
- could be a keep, a house, a tower, a glade, or room.
(2/11)
The environment (1)
- is interconnected: you can travel from any place in the environment to any other place in the environment.
- may be open, maze-like, hazardous, or any combination thereof.
- could be an open plain, a dense forest, a swamp, a cave, a ruin complex or a city.
Read 12 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(