Game
Skeletal Dance Party

6 years ago

Here is a little article describing how levels are generated in Skeletal Dance Party. It is released for #notGDC 2019, the game development non-conference for everyone.


Skeletal Dance Party is a game about a necromancer hosting a dance party for her skeletons. It is a physically based dungeon crawler where everyone is dancing. And every dungeon crawler needs a dungeon, this is how I created it. First I stated a number of requirements for such a system.

Requirements

  • I want it to be easy to design new levels. I do not have a level design department and want the game to be developed in less than one year.

  • The levels should be unique and look pretty, you should not encounter the same level all the time and be filled with cool content.

  • The levels should have progression, weak enemies should spawn near start of level and hard enemies should spawn at end of level.

  • I need to be able to put story elements in the levels so I can tie story to game play.

5d092a4323c07.gif

Different solutions

In order to save time I decided to buy a system for generating the levels and not build my own. I investigated two Unity assets for this DunGen and Dungeon Architect. I choose to used DunGen because that made adding story elements and progression to the level really easy. DunGen builds a dungeon with a start and end, and you can specify what special rooms to encounter on the way. Dungeon Architect builds a dungeon but I could not figure out how to create a level with start and end.

5d092a47219c2.gif

Implementation

In DunGen you specify different room prefabs and how they can connect. You can also make some rules for where the rooms can spawn. I added two special kinds of markers in the rooms; potential spawn points for items and enemies.

5d092a49622f0.gif

Each level consists of the data structure DunGen uses to describe the generation of the level and a Scenario ScriptableObject that describes level’s name, description, metadata and what kinds of enemies and items that are allowed to spawn on it. This makes that creating new levels are really easy, just specify how long the level should be, what the player should encounter and the system will generate it.

5d092a4a81526.png

Algorithm

The algorithms that runs every time a level is started in Skeletal Dance Party is thus the following.

  1. DunGen places rooms randomly until level satisfies the required length.

  2. Inside the rooms props are randomized, this can be things like where lights and barrels are placed.

  3. Using Unity’s Runtime NavMesh Building create a NavMesh covering the level.

  4. Spawn items and enemies at spawn points. Items and enemies spawned more deeper into the level will have a higher level.

5d092a4b305c3.gif

That was all, I hope you enjoyed the tiny article.



0 comments

Loading...

Next up

You are invited to the Afterparty!

The cutest necromancer game ever gets a zombie invasion Afterparty update!

It is time to stop browsing the Internet and join the Skeleton War!

You are being drafted and it is time to sign up at the nearest Graveyard, bring your best memes, trumpet and milk.

Join the Skeleton War Gamejolt community now: https://gamejolt.com/c/SkeletonWar-6uyad2

We are helping No Studio in Particulare developing a game called Mark of Mona. It is a mix of visual novel and puzzle-battle. Really early in development so far, check out the Gamejolt page to keep track of it!

https://gamejolt.com/games/markofmona/444850

Skeletal Dance Party is one of the 49 games featured during #Halloween! Celebrations!

Skeletal Dance Party Winter update!

Here is a tiny update to Skeletal Dance Party adding some new Winter themed items.

#winter #Christmas #Jul

Ooops... I do not think that is how wolf riding works...

https://gamejolt.com/games/little-red-adventure/633550

During the summer me and some other developers made Little Red Adventure.

You team up with a wolf and the collaboration between you two is the main puzzle mechanic.

https://gamejolt.com/games/little-red-adventure/633550

Made a tiny side projects during Fall Game Jam. A casual browser game about sneezing on people. Play it here and see if you can beat the highscore: https://gamejolt.com/games/Space-to-Sneeze/555560

During the summer me and friends made a game inspired by The Little Red Riding Hood.

You team up with the wolf, one of the elements is a leash. It was really fun to experiment with different puzzle designs for that.

https://gamejolt.com/games/little-red-adventure/633550

Jesper from Catalope Games here. I am really happy to finally tell you that the Afterparty update to Skeletal Dance Party is out! It took a little while longer then expected but I hope that you will find it worth the wait!

Get it now -25% Halloween sale!