
Dungeon Generation in Enter The Gungeon - luu
https://www.boristhebrave.com/2019/07/28/dungeon-generation-in-enter-the-gungeon/
======
gunshai
I have played so much of this game, and I admit I didn't even think they were
procedural after a while.

Pretty cool to see the devs chime in at the bottom.

------
apacheCamel
I absolutely love this game and I seriously always enjoy a good break down of
game design (especially of awesome games like Enter the Gungeon). Some of the
best design happens in the background and when combined with engaging game
play, makes the whole process seamless.

------
davidjhall
I would like to know more about his recompile process. Is there a Unity tool?

~~~
BorisTheBrave
I used dotPeek to decompile the source (it wasn't obfuscated), and Unity Asset
Bundle Extractor to browse the game objects.

A lot of the game logic was written in coroutines, which dotPeek exposes as
state machines, so I had to do some manual work to figure out what the control
flow originally was. Otoh, coroutines record the names of local variables,
unlike normal methods, so it wasn't all bad.

I didn't decompile the game into a working Unity project, if that's what you
were thinking.

------
no_identd
Two other games with VERY interesting procedural Dungeon Generation:

[https://store.steampowered.com/app/506870/Unexplored/](https://store.steampowered.com/app/506870/Unexplored/)

[https://store.steampowered.com/app/410350/Antegods__Stonepun...](https://store.steampowered.com/app/410350/Antegods__Stonepunk_arena_shooter/)

Based on algorithms outlined in these two papers here:

[https://dlnext.acm.org/doi/abs/10.1145/3235765.3235821](https://dlnext.acm.org/doi/abs/10.1145/3235765.3235821)

Measuring quality of grammars for procedural level generation

Abstract:

"Grammar-based procedural level generation raises the productivity of level
designers for games such as dungeon crawl and platform games. However, the
improved productivity comes at cost of level quality assurance. Authoring,
improving and maintaining grammars is difficult because it is hard to predict
how each grammar rule impacts the overall level quality, and tool support is
lacking. We propose a novel metric called Metric of Added Detail (MAD) that
indicates if a rule adds or removes detail with respect to its phase in the
transformation pipeline, and Specification Analysis Reporting (SAnR) for
expressing level properties and analyzing how qualities evolve in level
generation histories. We demonstrate MAD and SAnR using a prototype of a level
generator called Ludoscope Lite. Our preliminary results show that problematic
rules tend to break SAnR properties and that MAD intuitively raises flags. MAD
and SAnR augment existing approaches, and can ultimately help designers make
better levels and level generators."

And:

[https://ir.cwi.nl/pub/28418](https://ir.cwi.nl/pub/28418) "Wonderful design:
Applying Appraisal Theory to Procedural Level Generation"

Abstract:

"Procedural level generation for games is an active field of research with
successful applications. However, how to generate content that embodies design
intent is still an open research question. Level designers lack abstractions
and tools for authoring generated artifacts for affecting emotion. We propose
a novel pattern language for generative level design inspired by Appraisal
Theory. Its patterns enable designers to add meaning, depth, and cohesiveness
to the resulting content, and modify artifacts to make the content more
engaging. We illustrate how these patterns can be implemented in a generative
grammar for level generation for an adventure game. Formative evaluation of
generated level content demonstrates the feasibility of the approach and
suggests points for further improvements. Future work could focus on other
elements which seem important for affecting emotions, including pacing,
perception, and expectation."

