____________________________________
| _____ _____ ____ __ _____ |
| | | | | \ __| | __| |
| | | | | | | | | | |__ | |
| |_|_|_|_____|____/|_____|_____| |
| ADVENTURE IF YOU DARE! |
| An API For Building MUD-like Games |
| by Caleb Eno ©2021 |
|____________________________________|
Hello! Thank you for your interest in MudJS. This project is currently undergoing its first phase of early development. MudJS is intended to be an engine of sorts for building old-school style dungeon crawlers.
To be clear: THIS IS NOT CURRENTLY FEATURE COMPLETE
It's under active development in my free time, and I will continue to add features as I can.
What MudJS is (will be):
- A collection of Data Structures (levels, rooms, stats, players, enemies, interactables, equipment, etc.)
- Accessor functions to manipulate the data structures (add room, defeat enemy, move player etc.)
- Utility and Engine functions to advance the gameplay (tick callbacks, save/load, etc.)
- Some kind of narrative management component (as yet undetermined)
- Designed with third party plugins in mind (so you can make your own tooling!)
What MudJS is not (won't be):
- A full game experience
- A front-end for building games for the engine
- A front-end for playing games made with the engine
While developing the engine, I am also building a front-end that will demonstrate both how one could build a game with it and what a game made with it would play like. As development progresses, I will provide a link to the interface side.
I'm really excited about this project! If you are too, I'd love to hear from you what your favorite dungeon crawlers are.
A library for creating old-school dungeon crawlers.
Further documentation to come as development progresses.
Generated documentation: https://calebeno.github.io/mudjs/
npm start
- Builds project in watch mode
npm test
- Run test suitenpm run test:watch
- Run test suite in interactive watch modenpm run test:prod
- Run linting and generate test coverage reportnpm run lint
- Lints code
npm run build
- Generate bundles and typings, create docs
npm run commit
- Commit using conventional commit style