Files
BreakEscape/scenarios/test_vertical_layout.json
Z. Cliffe Schreuders e9eb9d96c8 docs: Update room layout documentation and add comprehensive test scenarios
Updated README_scenario_design.md with new grid-based room layout system:
- Documented Grid Unit (GU) system: 5×4 tiles base unit
- Added valid room size specifications (widths: multiples of 5, heights: 2+4N)
- Replaced old north/south-only constraints with four-direction support
- Updated door placement rules for N/S/E/W connections
- Added room positioning algorithm documentation
- Revised scenario design guidelines for grid system flexibility

Created 5 comprehensive test scenarios:
1. test_vertical_layout.json - Traditional N/S stacking
2. test_horizontal_layout.json - E/W connections
3. test_complex_multidirection.json - All four directions
4. test_multiple_connections.json - Multiple doors per direction
5. test_mixed_room_sizes.json - Different room sizes (1×1, 1×2, 2×2 GU)

Added TEST_SCENARIOS_README.md documenting:
- Grid system overview and room size specifications
- Detailed test scenario descriptions with layout diagrams
- Testing procedures and validation checks
- Expected console output examples
- Troubleshooting guide

Note: Scenarios reference hall_1x2gu.json and small_room_1x1gu.json which
need to be created in assets/rooms/. Currently using 2×2 GU placeholders.

All test scenarios include:
- Visual layout diagrams in scenario_brief
- Progressive difficulty with locks and keys
- Documentation of what each scenario tests
- Notes explaining grid system concepts
2025-11-17 08:49:50 +00:00

82 lines
2.7 KiB
JSON

{
"scenario_brief": "Test Scenario: Vertical Layout\n\nThis scenario demonstrates vertical stacking of rooms using north/south connections with the new grid-based layout system.\n\nLayout:\n [CEO Office - 2x2GU]\n ↑\n [Office1][Office2]\n ↑ ↑\n [Reception - 2x2GU]\n\nTests:\n- Single north connection (Reception → Offices)\n- Multiple north connections (Offices → CEO)\n- Door alignment between 2x2 GU rooms\n- Grid-based positioning",
"startRoom": "reception",
"rooms": {
"reception": {
"type": "room_reception2",
"connections": {
"north": ["office1", "office2"]
},
"objects": [
{
"type": "notes",
"name": "Welcome Note",
"takeable": true,
"readable": true,
"text": "Test Scenario: Vertical Layout\n\nThis tests north/south connections with multiple rooms.\n\nOffice 1 has a key to the CEO office.\nOffice 2 has important information."
},
{
"type": "key",
"name": "Office 1 Key",
"takeable": true,
"observations": "A key labeled 'Office 1'"
}
]
},
"office1": {
"type": "room_office2",
"locked": true,
"lockType": "key",
"requires": "office1_key",
"connections": {
"south": "reception",
"north": "ceo"
},
"objects": [
{
"type": "key",
"name": "CEO Office Key",
"takeable": true,
"observations": "A golden key for the CEO office"
}
]
},
"office2": {
"type": "room_office2",
"connections": {
"south": "reception",
"north": "ceo"
},
"objects": [
{
"type": "notes",
"name": "Office 2 Info",
"takeable": true,
"readable": true,
"text": "This office demonstrates multiple connections.\n\nBoth Office 1 and Office 2 connect to the CEO office to the north.\n\nThe doors should align properly despite being a multi-connection setup."
}
]
},
"ceo": {
"type": "room_ceo2",
"locked": true,
"lockType": "key",
"requires": "ceo_key",
"connections": {
"south": ["office1", "office2"]
},
"objects": [
{
"type": "notes",
"name": "Success Note",
"takeable": true,
"readable": true,
"text": "Congratulations! You've successfully navigated a vertical layout.\n\nThis demonstrates:\n- Multiple north connections from Reception\n- Multiple south connections to CEO office\n- Proper door alignment with grid-based positioning",
"important": true,
"isEndGoal": true
}
]
}
}
}