January 18, 2020

[Design] Main Project Goals

I have written some about Daughter of Dreams already, but today I am preparing to start sharing development progress more actively. For that purpose, I am writing a post that goes into more detail about the specific goals I have for this game. I've done a lot of design work over the last few weeks, and I think I have a much better idea of the specific tasks I will need to accomplish for this project to be completed.

For those who are new, Daughter of Dreams is a procedurally generated puzzle-adventure or Zelda-like. I have published a puzzle-adventure game already, The Last Librarian, and I would like to expand on the experience I gained to make a new game that can be enjoyed endlessly. Daughter of Dreams will feature a procedurally generated overworld, randomly generated dungeons, as well as a strong story and unique, generated lore. I am excited about this project, because it builds on what I've learned about level design for Zelda-likes, and is technically much more challenging than my previous games. I will have to use many new algorithms in order to replicate the hand-crafted puzzle experience that you would expect from this type of game. From here, I'd like to elaborate more on some specific aspects of the design for this new project.

The Last Librarian - Seroth's Tomb (Procedurally Generated Mini-Dungeon)

Procedurally Generated Dungeons

Center to the Zelda-like experience, are the dungeons. Dungeon design is my personal favorite area of game design, and I am intrigued by methods to procedurally generate a Zelda dungeon experience. For this game, I am not merely making mazes with locks and keys--that had been done before. In my experience, dungeons in procedurally generated games can often end up feeling bland or unmemorable, compared to handcrafted dungeons. I believe this is in part because it is difficult to incorporate an interconnected aspect to procedurally generated dungeons (and levels in general).

In an effort to overcome this weakness, I will be generating dungeons that feature cross-dungeon, state-changing puzzle mechanics. These kinds of dungeons are described as "puzzle-box" dungeons by Mark Brown in his video essay series on Zelda dungeon design: Boss Keys. I have designed dungeons like this before, especially the Water Palace in The Last Librarian which sees the entire dungeon being frozen or unfrozen to enable different paths. (See images to the left).

Other examples from the Legend of Zelda series include the Water Temple (OoT), Stone Tower Temple (MM), or the Lanayru Sandship (SS). What is unique about these types of dungeons is a puzzle mechanic that radically transforms the entire structure of the dungeon. Procedurally generated dungeons using a cross-dungeon mechanic will (I hope) create dungeons that more closely replicate the uniquely Zelda dungeon experience that I am looking for.

Procedurally Generated Overworld

The overworld in Daughter of Dreams will be the space the connects the dungeons together. While each dungeon is a contained, puzzle focused experience, the overworld design will be more open. This part of the game focuses on exploration, in a similar way to the overworld in The Last Librarian. For this, I am inspired by Metroidvania world design, especially Hollow Knight. The challenge will be ensuring that the explorable space expands as the player obtains new items and that the difficulty in the overworld (and the rest of the game), scales well as the player makes progress in the game.

As part of the design of the overworld, I am taking some inspiration from Cadence of Hyrule, a procedurally generated Zelda game in its own way. In Cadence of Hyrule, the underlying systems of the generation allow for many solutions to the same puzzles. For instance, you may push blocks, or move them with bombs, or pick them up with the gauntlets. I describe this as the element of interactivity, and it aids procedural content generation in always allowing for an intended solution via the game logic, but additionally allowing experienced players to get past sections in other creative ways. This element of interactivity is also seen in the level design of Breath of the Wild and is why some games, like Link to the Past work well as randomizers. (Link to the Past Randomizer).

Cadence of Hyrule - Overworld Map
In my own game, I will need to design key items and puzzle mechanics that are broadly applicable and work together as a system. This will give me the most flexibility as a designer to create procedurally generated puzzles, that will always have a solution, but do not get repetitive as there are a variety of ways to overcome the puzzles. I had some elements in The Last Librarian which allowed for finding alternative solutions to puzzles, particularly the ability to carry the bomb with the boomerang and bounce arrows off the boomerang. However, the impact of these interactions was limited, and I would like to expand on this design element much further in Daughter of Dreams.

Overarching Story and Procedural Lore

Finally, central to Daughter of Dreams will be a well-developed story. The story is an aspect that is often weak in procedurally-generated games, due to the complexity of incorporating a story into a game world that is constantly changing. The story is also not a particular focus of Zelda games either, but that is not a limitation of the genre. My goal for the story in my game is to incorporate the way that the game is procedurally generated by having the plot play out over the course of many play-throughs, remembering story progress made in previous runs.

There are two facets to the story in Daughter of Dreams. First is an over-arching story based on the changing nature of the world. This part of the story will be character-focused, allowing me to tell the story regardless of the current setting through well-developed characters. Each character has their part of the story to tell, and they will share it when they are cued to based on various factors throughout the gameplay. Additionally, the game world will be enriched through procedurally generated lore. Each playthrough will be uniquely marked by original lore, inspired by the style of lore in Hollow Knight (or--as I understand it--Dark Souls).

Hollow Knight - Overworld Map
Obtuse lore like this is ideal for procedural generation, as it is intentionally vague. So long as what is being generated is consistent with the over-arching story, there can be a lot of variation in the actual flavor text, tombstone engravings, idle dialogue, and other lore details. Thus, each player may paint their own picture of what happened in the past of Daughter of Dreams and decide on the implications of the lore on their own. I also have a budding idea about incorporating the player's own previous playthroughs into the lore, but I don't quite know how I want to do that yet.

Conclusions

I hope this gives you a better idea of my goals for Daughter of Dreams. I expect this project to be done before the end of 2022, and the time until then I will be fully focused on Daughter of Dreams as my main game project. I will do my best to share my progress and new ideas throughout the entirety of the development. Most updates will be on this blog, especially as I go into detail on the actual methods of procedural generation. I will also share updates and screenshots to my Twitter (@CloakedGamesDev). Be sure to subscribe to this blog if you are interested in the development process.