Skip to content
Felizolinha edited this page Feb 13, 2018 · 3 revisions

CastleDB Landing

Download

CastleDB Official Website

What is it?

Why

CastleDB is used to input structured static data.

Everything that is usually stored in XML or JSON files can be stored and modified with CastleDB instead.

For instance, when you are making a game, you can have all of your items and monsters including their names, description, logic effects, etc. stored in CastleDB.

How

CastleDB looks like any spreadsheet editor, except that each sheet has a data model.

The model allows the editor to validate data and eases user input.

For example, when a given column references another sheet row, you will be able to select it directly.

Storage

CastleDB stores both its data model and the data contained in the rows into an easily readable JSON file.

It can then easily be loaded and used by any program.

It makes the handling of item and monster data that you are using in you video game much easier.

Collaboration

CastleDB allows efficient collaboration on data editing.

It uses the JSON format with newlines to store its data, which in turn allows RCS such as GIT or SVN to diff/merge the data files.

Unlike online spreadsheet editors, changes are made locally. This allows local experiments before either commiting or reverting. 

The above excerpt was extracted from CastleDB's Official Website (02/13/2018)

How Dead Cells uses it

In a Gamasutra blog post, the developers confirmed they use CastleDB for creating:

  • Biomes
  • Level “tiles” chunks of carefully designed rooms with a certain amount of variations possible in each of them depending on their configuration.

By analyzing their screenshots and the game files (confirmation needed for the game files), it's possible to infer it's also used for creating/configuring:

  • Items
  • Mobs
  • Weapons
  • Passives
  • Levels, Rooms, Room Types and Biomes
  • SFX
  • Layers (Probably for parallax)
  • More stuff in other Sheets (More info required: What are these?)
    • truelle(translates to slice)
    • affix
    • itemTag
    • roomMarker
    • lightConf
    • scatterConf
    • subLevelArena
    • metaUpgrade

Learning Resources

Clone this wiki locally