Don’t be afraid, Ivan. It’s just a dark creepy forest filled with shrines…
A while ago we created a few peasants to populate the villages and work the fields in Yaga. We thought they looked pretty good and fit the Eastern European theme.
However, some of our fellow gamedevs from Western Europe and US who were seeing the game for the first time and who were not familiar with the peasants from our part of the World, said that it looks too much like “standard Tolkien fantasy”, or too “western, celtic, etc”. Only when faced with a new perspective did we realize that, indeed, the peasants may not look “Slavic” enough. Even if they matched real life, we probably needed to push more in the direction of the idealized Slavic peasant: one that flaunts more colourful clothes (that are usually reserved for special occasions and festivities) and a more vibrant attitude!
Crossroads are a magical place in slavic folklore, where all places and directions meet. Amulets, talismans, unclean spirits and even the devil himself may be encountered. It’s a place where all directions meet, and all time fades away.
Slavic folktales are often about a character traveling far away through unknown lands to try to fulfill an impossible quest. Yaga is no different, and Ivan will find himself entering dangerous forests or enchanting swamps (or is it the other way around?). Being an oral tradition, folktales are often improvised and changed by the narrator, so what the hero meets in each place might be different from tale to tale. Which is why the levels in Yaga are procedurally generated, and this post will go into some technical details about how we achieve that.
Our level generation process is a mix between what we’ve seen in Binding of Isaac and Moon Hunters. We freely
stole borrowed techniques used in those games, but adapted them to our needs and narrative structure.
Goals & Quests
When writing the level generation, we wanted to achieve several goals:
- Most combat encounters should have a purpose besides just fighting
- Encourage exploration of each level
- Have a natural, organic layout
- Allow us to implement lock & key mechanics in some of the encounters