Skip to content

Latest commit

 

History

History
78 lines (53 loc) · 1.66 KB

README.md

File metadata and controls

78 lines (53 loc) · 1.66 KB

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
  • Achievements
  • Player to player email
  • 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 examples/example1.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

24 October 2024