DungeonGrid: text-first cooperative dungeon-crawl environment for multi-agent benchmarks
Project description
DungeonGrid
DungeonGrid is a text-first cooperative dungeon-crawl environment for multi-agent benchmarks.
It is designed around:
- one to four submitted hero agents;
- an always-AI Warden / dungeon-controller side;
- compact text board-state observations;
- structured JSON action plans instead of string actions;
- batched OpenEnv ReAct-style plan execution with reveal-boundary replanning;
- fixed quest difficulty across solo, duo, trio, and squad slices.
This package is currently an alpha extraction of the DungeonGrid engine that is being integrated into NanoCoop.
Quick Start
from dungeongrid import DungeonGridEnvironment
env = DungeonGridEnvironment()
obs = env.reset(quest_id="lantern_crypt", num_heroes=2, seed=1)
print(obs.text)
result = env.act_plan(
intent="Scout east, then report back to the party.",
actions=[
{"type": "move", "direction": "east"},
{"type": "message", "target": "party", "payload": {"text": "I am checking the east passage."}},
],
)
print(result.skipped_actions)
print(result.observation.text)
OpenEnv ReAct Contract
Agents receive compact text observations and submit one structured tool call per decision point:
{
"name": "dungeongrid_act",
"arguments": {
"intent": "Open the east door and stop if a room is revealed.",
"actions": [
{"type": "open_door", "target": "door_1"},
{"type": "move", "direction": "east"}
]
}
}
Agents can query compact rule details with dungeongrid_rules({"topic": "actions"}). Public observations do not expose legal action lists; the
environment validates proposed JSON actions, skips illegal queued actions, and
renders concrete feedback in later observations.
Reveal boundaries stop queued execution so the agent can replan after new board state appears, such as opened doors, revealed traps, opened chests, objective changes, turn end, or episode end.
from dungeongrid import dungeongrid_rules
print(dungeongrid_rules("movement"))
Quests
Bundled alpha quests:
lantern_cryptbells_under_blackwaterashen_pantrycinder_exitlow_shrine_locks
Status
DungeonGrid is under active development. Public names use DungeonGrid, while some compatibility aliases for the earlier TorchGrid prototype remain in the Python API to ease migration.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dungeongrid-0.1.0a1.tar.gz.
File metadata
- Download URL: dungeongrid-0.1.0a1.tar.gz
- Upload date:
- Size: 29.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
86b00b5063f9233ef99fc54907ec19c8b9beb13a1a5674b6c1b8e19c52c6e90e
|
|
| MD5 |
1d21ab6b63b3cfbf8391f50aceecf013
|
|
| BLAKE2b-256 |
cb63b2a38c08aae7415607b94891965e0380bff87b0ea11720583cd7d6103ead
|
File details
Details for the file dungeongrid-0.1.0a1-py3-none-any.whl.
File metadata
- Download URL: dungeongrid-0.1.0a1-py3-none-any.whl
- Upload date:
- Size: 35.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5f04e5a9c86352a4c45f0837c8f889cd68545605944a9e30135151c0157dbac2
|
|
| MD5 |
0ae185e06ec4d91ca2e65c1f73f64152
|
|
| BLAKE2b-256 |
d3474bb875877bbdd3c4c5bfe23ca8926f6ab405deed16702c43ea48e1e557c0
|