January 31, 2022

[Progress Update] What is Daughter of Dreams?

This year, my goal is to write one blog post per month (I sure pushed it pretty late for January). To start, I want to once reintroduce my main project: Daughter of Dreams. Since I first wrote about this game in 2019, the project has changed drastically. With the time I've had to refine the design, it seems worthwhile to touch base on what exactly I am making now. Here it goes:

Daughter of Dreams is a puzzle-adventure game with strategic turn-based combat, an epic fantasy story, and an ever-changing procedurally generated world.

Throughout this post, I will break down this definition into each of its components, and explain my reasoning for each. Really, this post is a writing exercise to help me define my game for myself, more than it is for anybody else. But, I hope to provide at least some insight for other game designers.

Adventure

I think about the design of this game in layers. The base layer is an adventure game, and the other elements are modifications to that original concept. For the "adventure" layer I am drawing on the level design of The Legend of Zelda and Metroidvania games. This was also the inspiration of my first game, The Last Librarian, so I have some experience to build on already.

The level design of The Legend of Zelda is characterized by the way it is interconnected. The game world is a shared-space, and can be explored freely by the player. Navigation is restricted only by the abilities of the player, and so new areas unlock as the player obtains more abilities. The player will often need to backtrack to previous places in order to use their new abilities. The goal is to reward exploration, and challenge the player's navigation and spatial reasoning.

A treasure chest by a lake in the Enchanted Grove.
Finding a treasure chest in the Enchanted Grove. Also there is a bird.

My game will take place in a hand-crafted world, with open areas to explore, and many paths that require special abilities to navigate. Between the open areas will be the dungeons, which are more contained space featuring puzzles and a specific reward at the end. I consider the whole game world to be an intricate puzzle box, meant to be solved by the player as they explore and open up new areas. This puzzle box world will be the staging ground for the rest of the game.

Combat

Zelda-style adventure games typically feature real-time combat. However, they don't have to, and so I am developing a turn-based combat system instead. Turn-based combat emphasizes strategy and problem-solving, with less demand for real-time execution. I believe this is complementary for an adventure game with an emphasis on navigation and puzzle-solving. Additionally, I personally enjoy turn-based combat better, and find it more well-suited to my development skill-set. My primary goals for the combat system are the following:
  • Tactical: Combat is positional. Attacks target locations instead of specific enemies.
  • Strategic: Abilities allow many strategies and powerful synergies.
  • Customization: Stats are affected by special items, allowing for many strategies.

I have already developed the combat system, and you can learn more about here. The most important part of my system is the Charms, which are inspired by the Badge system from Paper Mario. The player's stats and abilities are determined by their Charms. Charms can be equipped to any party member, allowing for many different viable strategies. Charms are obtained throughout the game by solving puzzles, beating dungeons, or vanquishing enemies.

Battling enemies on a bridge.
Battling some enemies on a bridge. There is also another bird.

Procedural Generation

Procedural generation (procgen) has always been a particular interest of mine. It's elegant because a procgen system can create new content or add variety for as long as the player continues to play the game. Procgen can be used to create "infinite re-playability" and it is can be considered a holy grail of game development. After all, why not write code that can make the game for you?

I originally wanted to procedurally generate my entire game, the world, the dungeons, and the story. However, such attempts (especially from a solo developer like myself) reliably fall flat. When the level design is such an important part of a game, procgen is usually much less effective than simply creating the level by hand. So my game will have a hand-crafted world (according to the "adventure" layer of the design), but I will use procgen to introduce variety on top of that.

My goal is to make Daughter of Dreams an "ever-changing world" using procedural generation. Exploring an adventure world often involves backtracking, especially after getting new items. I will make this part of the game more interesting by providing variation to areas the player have already explored. So far I am using procgen to generate combat encounters, shops, loot chests, and foliage. Some contained areas of the world can even be generated from a selection of options, so that when the player visits an area there might be a graveyard, a grove of trees, or a ruined house.

A graveyard that was generated in the Enchanted Grove.
Procedurally generated graveyard located in the Enchanted Grove.

Fantasy Story

The final layer of the design is the story. Story is the final layer not because it is unimportant, but because is integrated with the level-design, combat, and procedural generation. The ever-changing nature of the world is known to the characters in the story, and is relevant to the plot. The level-design relies on the world-building and lore, as the places you explore have significance to the story.

Furthermore, I believe that video games can be literature, and tell impactful stories. I do not fancy myself a masterful writer, but I do want to go beyond a merely serviceable narrative. For this project, I am exploring themes of Deconstruction, Reparations, and Sacred Community. My goal is to portray a realistic religion within a fantasy world, and explore how religious institutions can cause harm as well as heal communities.

Speaking to Ellie-Anne. She says: "Prophet? Hah, not me! I'm just a common farmer, albeit one 'too big for her britches' as Mother says."
Speaking to an NPC who is hanging out in the forest for some reason.

Stray Thoughts

This is certainly a lot to cover, and there are so many details I could've included. However, I hope this serves well as an overview. It certainly helped me straighten out these ideas in my head, as articulating complex thought as written words often does. For that reason, I hope to write a new post each month this year. I have a few more planned already, so hopefully I will finish writing at least one of them before the end of February! See you then.