-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Brandt Homan edited this page May 8, 2026
·
5 revisions

Pan's Trial is a two-player tactical card-and-labyrinth game built for ECE 348. Players draft high-value cards, reveal Omens that assign each suit a changing role, move through a 6x6 wraparound labyrinth, fight with weapon cards, and enter Appeasing Pan to reshape the board or health state.
This wiki is the digital report for the project. It reorganizes the written report into GitHub pages with direct links between rules, architecture, testing evidence, publication goals, code, media, and references.
The written report argues that Pan's Trial is more than a class prototype: it is a playable, web-ready vertical slice that can continue toward public release. The wiki keeps that argument navigable:
- Publication Case explains the problem, design hook, market strategy, and recommended next steps.
- Gameplay and Rules documents the player-facing rules and links rule behavior back to the implementation.
- Project Architecture shows how the code is split into engine, UI, multiplayer, build, and test layers.
- Testing and Balance summarizes the regression suite and the AI-vs-AI balance study.
- Media and References collects images, video, audio, and the references cited by the report.
- The full gameplay loop is implemented: coin flip, draft, Omen reveal, Traversing, Appeasing Pan, all four Pan requests, post-Appeasing hole placement, victory resolution, match summary, and rematch flow.
- The project supports single player against AI, two-player room-code multiplayer, desktop play from source, a Windows executable path, and a browser build.
- The codebase is split into a headless rules engine, a Pygame UI, multiplayer transport layers, browser build tooling, and automated regression tests.
- The same engine powers gameplay, tests, multiplayer state, and headless balance simulations.
- The web-first strategy lets the game become a one-link demo before later desktop, itch.io, Steam, or mobile/tablet releases.
- Getting Started
- Gameplay and Rules
- Publication Case
- Project Architecture
- Multiplayer and Rooms
- Web Build and Deployment
- Testing and Balance
- Development Guide
- Roadmap
- Media and References
- Publishing the Wiki
- New players: start with Getting Started, then read Gameplay and Rules.
- Instructors and reviewers: read Publication Case, Testing and Balance, then Media and References.
- Developers: start with Project Architecture, then use Development Guide and Testing and Balance.
- Deployment and demo prep: start with Web Build and Deployment, then read Multiplayer and Rooms.
-
main.pystarts the desktop and browser game. -
engine/contains the headless game rules. -
ui/contains screens, rendering, input, and audio. -
multiplayer/contains room clients, room state helpers, and serialization. -
room_server.pyhosts the room API and can also serve the web build. -
build_web.pycreates the browser package and deployment site. -
tests/test_rules.pycontains the main regression suite. -
balance_testing.pyruns AI-vs-AI balance studies without the UI.