Add a simple README
This commit is contained in:
parent
e059bac633
commit
2c75d26d68
1 changed files with 44 additions and 0 deletions
44
README.md
Normal file
44
README.md
Normal file
|
|
@ -0,0 +1,44 @@
|
||||||
|
# mudlib
|
||||||
|
|
||||||
|
A telnet MUD engine. No client needed — just `telnet` and you're in.
|
||||||
|
|
||||||
|
Built on telnetlib3, Python 3.12+, managed with uv.
|
||||||
|
|
||||||
|
## Quickstart
|
||||||
|
|
||||||
|
```
|
||||||
|
uv sync
|
||||||
|
just run
|
||||||
|
```
|
||||||
|
|
||||||
|
Then connect: `telnet localhost 6789`
|
||||||
|
|
||||||
|
## Commands
|
||||||
|
|
||||||
|
```
|
||||||
|
just check # lint + typecheck + test
|
||||||
|
just run # start the server
|
||||||
|
just debug # start with debug logging
|
||||||
|
just render # generate world map HTML
|
||||||
|
```
|
||||||
|
|
||||||
|
## What's in here
|
||||||
|
|
||||||
|
- `src/mudlib/` — the engine (commands, world, combat, rendering, storage)
|
||||||
|
- `tests/` — pytest tests
|
||||||
|
- `worlds/` — world definitions (yaml/toml)
|
||||||
|
- `docs/` — internal knowledge base
|
||||||
|
- `DREAMBOOK.md` — vision and wild ideas
|
||||||
|
|
||||||
|
## How it works
|
||||||
|
|
||||||
|
The world is a toroidal 2D grid of terrain tiles, not discrete rooms. Players
|
||||||
|
see a viewport centered on their position. Terrain types have mechanics —
|
||||||
|
shallow water slows you, mountains block you, forests hide you.
|
||||||
|
|
||||||
|
Combat is timing-based with telegraphed moves and cooldown management, not
|
||||||
|
turn-based.
|
||||||
|
|
||||||
|
The server runs a tick-based async game loop alongside the telnet server.
|
||||||
|
SQLite handles persistence. Session mode stacks filter what reaches the player
|
||||||
|
depending on context (exploring, fighting, composing, solving puzzles).
|
||||||
Loading…
Reference in a new issue