{"id":15843986,"url":"https://github.com/frankhale/textworld","last_synced_at":"2025-03-15T19:31:39.987Z","repository":{"id":52526621,"uuid":"240419653","full_name":"frankhale/textworld","owner":"frankhale","description":"A text based role playing game engine for Deno with an Angular frontend","archived":false,"fork":false,"pushed_at":"2025-02-23T22:48:06.000Z","size":2573,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-02-23T23:27:41.839Z","etag":null,"topics":["adventure","deno","game-engine","role-playing-game","test-driven-development","text-adventure-engine","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/frankhale.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-02-14T03:24:07.000Z","updated_at":"2025-02-23T22:48:09.000Z","dependencies_parsed_at":"2024-03-11T21:25:30.955Z","dependency_job_id":"5d8d3843-853d-43f1-b48a-3c0ed0a97d12","html_url":"https://github.com/frankhale/textworld","commit_stats":{"total_commits":294,"total_committers":3,"mean_commits":98.0,"dds":0.03401360544217691,"last_synced_commit":"55e864e39f2d0dd539cea28bc89e1809fe526427"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frankhale%2Ftextworld","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frankhale%2Ftextworld/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frankhale%2Ftextworld/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frankhale%2Ftextworld/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/frankhale","download_url":"https://codeload.github.com/frankhale/textworld/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243781598,"owners_count":20347107,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["adventure","deno","game-engine","role-playing-game","test-driven-development","text-adventure-engine","typescript"],"created_at":"2024-10-05T17:04:08.363Z","updated_at":"2025-03-15T19:31:39.981Z","avatar_url":"https://github.com/frankhale.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TextWorld\r\n\r\nA text based role playing game engine written in TypeScript for Deno with an\r\nAngular frontend and tiny sample game. This is still a work in progress but\r\nthere is a lot here.\r\n\r\nThe current focus is more on the game engine and less on the little world that\r\nwas created to play in. Development is drivin primarily from the tests rather\r\nthan the tiny game that is included. This will eventually change but there are\r\nstill a few more features to finalize before that happens.\r\n\r\n## Screenshot(s)\r\n\r\n![Screenshot](screenshots/game.png)\r\n\r\n## Features\r\n\r\n- [x] Web UI (Angular / Websockets)\r\n- [x] Parser\r\n- [x] Rooms/Zones\r\n- [x] Room/Zone movement\r\n- [x] Items (pickup, use, drop)\r\n- [x] Objects (look, examine)\r\n- [x] Crafting\r\n- [x] NPCs and interaction\r\n- [x] Vendors\r\n- [x] Quests\r\n- [x] Mapping\r\n- [x] Basic command help\r\n- [x] Spawn Locations\r\n- [x] Save/Load (uses Deno KV)\r\n- [x] Combat (very basic)\r\n- [x] Instancing (zones, rooms, items, npcs, mobs)\r\n- [x] Question sequences\r\n- [x] Achievements\r\n- [x] Player to player email\r\n- [ ] Leveling\r\n- [ ] Multiplayer\r\n\r\n## Run\r\n\r\nIf you do not have Deno, you can obtain Deno from [here](https://deno.land/).\r\n\r\nBackend:\r\n\r\n\u003e deno task run\r\n\r\nFrontend:\r\n\r\nNOTE: Requires Node.js and Angular CLI\r\n\r\n\u003e npm install\r\n\r\n\u003e ng serve\r\n\r\n## Testing\r\n\r\nRun tests:\r\n\r\n\u003e deno task test\r\n\r\nGet coverage report:\r\n\r\n\u003e deno task coverage\r\n\r\n## Usage\r\n\r\nHave a look at the sample game `examples/example1.ts` to see a basic usage of\r\nthe library. Additionally take a look at `textworld_test.ts` to see how usage of\r\nevery feature in the library.\r\n\r\n## Author(s)\r\n\r\nFrank Hale \u0026lt;frankhaledevelops AT gmail.com\u0026gt;\r\n\r\n## Date\r\n\r\n24 October 2024\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrankhale%2Ftextworld","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffrankhale%2Ftextworld","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrankhale%2Ftextworld/lists"}