Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/frankhale/textworld
A text based role playing game engine for Deno with an Angular frontend
https://github.com/frankhale/textworld
adventure deno game-engine role-playing-game test-driven-development text-adventure-engine typescript
Last synced: 3 months ago
JSON representation
A text based role playing game engine for Deno with an Angular frontend
- Host: GitHub
- URL: https://github.com/frankhale/textworld
- Owner: frankhale
- Created: 2020-02-14T03:24:07.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2024-10-23T17:20:04.000Z (3 months ago)
- Last Synced: 2024-10-24T00:58:59.716Z (3 months ago)
- Topics: adventure, deno, game-engine, role-playing-game, test-driven-development, text-adventure-engine, typescript
- Language: TypeScript
- Homepage:
- Size: 2.02 MB
- Stars: 4
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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](screenshots/game.png)
## Features
- [x] Web UI (Angular / Websockets)
- [x] Parser
- [x] Rooms/Zones
- [x] Room/Zone movement
- [x] Items (pickup, use, drop)
- [x] Objects (look, examine)
- [x] Crafting
- [x] NPCs and interaction
- [x] Vendors
- [x] Quests
- [x] Mapping
- [x] Basic command help
- [x] Spawn Locations
- [x] Save/Load (uses Deno KV)
- [x] Combat (very basic)
- [x] Instancing (zones, rooms, items, npcs, mobs)
- [x] Question sequences
- [ ] Leveling
- [ ] Multiplayer## Run
If you do not have Deno, you can obtain Deno from [here](https://deno.land/).
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