Game
Skeletal Dance Party

7 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!

You are invited to the Afterparty!

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

Skeletal Dance Party Winter update!

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

#winter #Christmas #Jul

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!

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!

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

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

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

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

During the weekend I made a visual novel about Beerlock Holmes who gets drawn into a murder mystery.

Check it out here:

https://gamejolt.com/games/murder-in-a-bottle/615128

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!