How caesar723/magic works
Magic-Fan-Made is a collectible card-game application with account/deck management, matchmaking, live games, shops and a roguelike mode. The primary workflow is an authenticated player selecting a validated deck, entering matchmaking, and playing through a game room. The repository also contains an extensive reinforcement-learning training and inference stack and a synthesis-artifact viewer. Edges reflect the sampled server, database, inference and viewer code; internal game-room and training wiring is only included where supported by module responsibilities and paths.
Main entry points: server.py Web API · room.py Game rooms · train.py RL training · room_server.py Room matchmaking
Components 20
Web and accounts
- Web API
src/server.py - Game database
src/database.py
Game runtime
- Room matchmaking
src/game/room_server.py - Game rooms
src/game/room.py - Player state
src/game/player.py - Card rules
src/game/card.py - Card definitions
src/game/type_cards - Game studio
src/game/studio_room.py
Roguelike mode
- Rogue rooms
src/game/rogue/rogue_room.py - Rogue map
src/game/rogue/rogue_manager.py
Learning and analysis
- RL training
src/game/rlearning/train.py - Parallel environments
src/game/rlearning/parallel_env - Rollout workers
src/game/rlearning/rollout/rollout_agent.py - Inference client
src/game/rlearning/inference/client.py - Batched inference
src/game/rlearning/inference/server.py - Policy models
src/game/rlearning/module - Synthesis artifacts
src/game/rlearning/synthesis - Artifact viewer
src/game/rlearning/synthesis_viewer/app.py - Artifact repository
src/game/rlearning/synthesis_viewer/repository.py
Other components
- Player
Connections 18
- Player → Web API: uses
- Web API → Game database: authenticates; loads decks
- Web API → Room matchmaking: requests matchmaking
- Room matchmaking → Game rooms: assigns game room
- Game rooms → Player state: updates state
- Game rooms → Card rules: resolves card actions
- Card rules → Card definitions: uses definitions
- Web API → Game database: reads shop and account data
- Web API → Rogue rooms: serves rogue play
- Rogue rooms → Rogue map: builds map data
- RL training → Parallel environments: trains against
- Parallel environments → Rollout workers: runs rollouts
- Rollout workers → Inference client: requests actions
- Inference client → Batched inference: queues requests
- Batched inference → Policy models: loads and evaluates
- RL training → Synthesis artifacts: writes artifacts
- Player → Artifact viewer: browses experiments
- Artifact viewer → Artifact repository: reads artifacts