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

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

During Spring Game Jam 2020 I made a tiny Tamagotchi game about an Ghoul.

Check it out here:

https://gamejolt.com/games/my-little-ghoul/495097

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

Here is the winner to the art competition we arranged at Sweden Game Festival! It was incredible hard to find the best skeleton and we got a whole binder full of them now!

We just had to include some of the runner ups as well. Incredible awesome work!

Skeletal Dance Party Winter update!

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

#winter #Christmas #Jul

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

The result was a very comfy and pretty polished puzzle platformer containing all the classical elements; boxes, levers, gates and wolfs...

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

Sightless - one of the first game jam games I created is now up on Gamejolt. It is a three person local multiplayer game about not trusting anyone, specially not a devil and an angel.

Check it out here:

https://gamejolt.com/games/Sightless/497957

Today Reva and the party gang is visiting Sweden Game Conference as part of their IndieCator selection. As always adorable stickers are up for grabs but are super popular so be quick if you want one!

I am really happy to announce that Skeletal Dance Party is included in Sweden Game Conference's IndieCator selection! That means we will be there and P A R T Y!

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

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