Malwoden is a roguelike library, meant to perform much of the heavy lifting when creating roguelike games. It takes inspiration from rot-js, as well as bracket-lib. ROT still has a number of features we're still building towards, so feel free to take the best parts from each library.
One of the main goals of this library is to provide a simple, minimalistic Terminal
package with great support for CP437 tilesets.
This is one area I've found lacking, and hope this library can provide a solid framework for roguelikes and text based games.
The core of the terminal package is based heavily on Bob Nystrom's amazing malison Dart library.
If you're looking for graphics outside basic ASCII/CP437, phaser and pixi are both worth checking out.
Malwoden can be downloaded via npm:
# For stable
npm install malwoden
# For dev builds
npm install malwoden@next
If developing malwoden locally, you can use npm link
to easily use it in another project.
# Inside the malwoden project
npm run start
npm link
# Inside another project
npm link malwoden
- FOV - Field of View Algorithms
- Generation - General Map Creation
- GUI - Useful UI Widgets
- Input - Keyboard + Mouse Abstractions
- Calc - Helpful Math Functions, Like Vector Addition
- Pathfinding - Pathfinding Implementations
- Rand - Seedable RNG
- Terminal - Draw Fonts or Tilesets
- Struct - Common Useful Data Structures
- Mal - A short 7drl made by the malwoden team showcasing basic features. Source code available at https://github.com/Aedalus/malwoden-7drl
- Firefighter RL - A 7drl with fantastic fire mechanics, made by Indspenceable.
Have a project you'd like added to the list? Feel free to open an issue on the repo with a link!
- Project Setup Tutorial - A great youtube video made by Rakaneth, showing how to set up a new project from scratch with Malwoden and Webpack. The result can be seen at https://github.com/Rakaneth/malwoden-tut