A text based role playing game engine written in TypeScript for Deno with an Angular frontend and tiny sample game. This is still a work in progress but there is a lot here.
The current focus is more on the game engine and less on the little world that was created to play in. Development is drivin primarily from the tests rather than the tiny game that is included. This will eventually change but there are still a few more features to finalize before that happens.
- Web UI (Angular / Websockets)
- Parser
- Rooms/Zones
- Room/Zone movement
- Items (pickup, use, drop)
- Objects (look, examine)
- Crafting
- NPCs and interaction
- Vendors
- Quests
- Mapping
- Basic command help
- Spawn Locations
- Save/Load (uses Deno KV)
- Combat (very basic)
- Instancing (zones, rooms, items, npcs, mobs)
- Question sequences
- Leveling
- Multiplayer
If you do not have Deno, you can obtain Deno from here.
Backend:
deno task run
Frontend:
NOTE: Requires Node.js and Angular CLI
npm install
ng serve
Run tests:
deno task test
Get coverage report:
deno task coverage
Have a look at the sample game textworld_game.ts
to see a basic usage of the
library. Additionally take a look at textworld_test.ts
to see how usage of
every feature in the library.
Frank Hale <frankhaledevelops AT gmail.com>
22 October 2024