CrDoom  CrDoom


CrDoom is a source port of Doom to the Crystal programming language. It has been manually translated from Managed Doom, with an intent to expand it with some experimental editing features later on.

How do I get set up?

Clone this repository, then run shards build. This will pull the required libraries and build both CrDoom and the make-pk3 utility. Once these are done, run ./bin/make-pk3 -b res/crdoom-pk3 -o crdoom.pk3 to generate the required PK3 file.

You can run crdoom --help to see a list of command line options. A lot of stuff is still broken, like proper wad paths and 3d rendering, so don't expect too much for now. It's hard coded to expect Ultimate Doom for now until the renderer/playsim is somewhat more stable.

License and Libraries Used

CrDoom is distributed under the GPLv3 license. It uses:


Style info

I use a slightly different style for my code and am somewhat anal retentive about it.

  • Keep lines 118 characters or shorter. Obviously there are times you can't, but please try. Use 115 characters for Markdown files.
  • Please use pascalCase for variable and method names. Use CamelCase for type names. Use UPPER_SNAKE_CASE for constants.
  • The type name for exceptions end with Error. For example, ExternalProgramError.