https://github.com/alienspaces/go-mud
A M.U.D (multi user dungeon) with a back end API built with Go and a front end UI built with Flutter.
https://github.com/alienspaces/go-mud
dart flutter game go mud
Last synced: 6 months ago
JSON representation
A M.U.D (multi user dungeon) with a back end API built with Go and a front end UI built with Flutter.
- Host: GitHub
- URL: https://github.com/alienspaces/go-mud
- Owner: alienspaces
- License: mit
- Created: 2021-10-06T08:56:48.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2024-03-18T08:10:17.000Z (over 1 year ago)
- Last Synced: 2024-11-14T00:33:45.609Z (12 months ago)
- Topics: dart, flutter, game, go, mud
- Language: Go
- Homepage:
- Size: 2.04 MB
- Stars: 25
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README-API.md
- License: LICENSE
Awesome Lists containing this project
- awesome-golang-repositories - go-mud
README
# Go M.U.D - API
- [Getting Started](README.md)
- [How to Play](README-HOWTOPLAY.md)
- [API](README-API.md)
- [Design](README-DESIGN.md)
- [TODO](README-TODO.md)
## Dungeons
**List dungeons:**
- [Response Schema](backend/schema/game/dungeon/response.schema.json)
```bash
GET /api/v1/dungeons
```
**Get dungeon:**
- [Response Schema](backend/schema/game/dungeon/response.schema.json)
```bash
GET /api/v1/dungeons/{:dungeon_id}
```
## Locations
**List dungeon locations:**
- [Response Schema](backend/schema/game/location/response.schema.json)
```bash
GET /api/v1/dungeons/{:dungeon_id}/locations
```
**Get dungeon location:**
- [Response Schema](backend/schema/game/location/response.schema.json)
```bash
GET /api/v1/dungeons/{:dungeon_id}/locations/{:location_id}
```
## Characters
**Create character:**
- [Request Schema](backend/schema/game/character/create.request.schema.json)
- [Response Schema](backend/schema/game/character/response.schema.json)
```bash
POST /api/v1/characters
```
**List characters:**
- [Response Schema](backend/schema/game/character/response.schema.json)
```bash
GET /api/v1/characters
```
**Get character:**
- [Response Schema](backend/schema/game/character/response.schema.json)
```bash
GET /api/v1/characters/{:character_id}
```
**Update a character:**
📝 _Unimplemented_
- [Request Schema](backend/schema/game/character/response.schema.json)
- [Response Schema](backend/schema/game/character/response.schema.json)
```bash
PUT /api/v1/characters/{:character_id}
```
## Dungeon characters
Dungeon instances are created to accomodate a maximum number of characters per dungeon.
**Enter dungeon:**
A character enters into a dungeon.
- [Response Schema](backend/schema/game/dungeoncharacter/response.schema.json)
```bash
POST /api/v1/dungeons/{:dungeon_id}/character/{:character_id}/enter
```
**Exit dungeon:**
A character exits from a dungeon.
- [Response Schema](backend/schema/game/character/response.schema.json)
```bash
POST /api/v1/dungeons/{:dungeon_id}/character/{:character_id}/exit
```
**Get dungeon character:**
Lists the currently running dungeon instances.
- [Response Schema](backend/schema/game/dungeoncharacter/response.schema.json)
```bash
GET /api/v1/dungeons/{:dungeon_id}/characters/{:character_id}
```
## Actions
Characters are controlled by performing actions.
**Create a character action:**
- [Request Schema](backend/schema/game/action/create.request.schema.json)
- [Response Schema](backend/schema/game/action/response.schema.json)
```bash
POST /api/v1/dungeons/{:dungeon_id}/characters/{:character}/actions
```