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