Skip to content

A text based role playing game engine for Deno with an Angular frontend

Notifications You must be signed in to change notification settings

frankhale/textworld

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TextWorld

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.

Screenshot(s)

Screenshot

Features

  • 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

Run

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

Testing

Run tests:

deno task test

Get coverage report:

deno task coverage

Usage

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.

Author(s)

Frank Hale <frankhaledevelops AT gmail.com>

Date

22 October 2024

Releases

No releases published

Packages

No packages published

Languages