Magarena is an open-source single-player fantasy card game, played against a computer opponent that uses Monte Carlo Tree Search to make decisions. Its more interesting design choice is how it scaled its content: contributors added over 300 creature cards through a scripting system rather than by editing the game's core code. Each card is defined as a script the engine interprets, so implementing a new card means writing a small declarative description of its abilities, not modifying and recompiling the engine. That separation is what let a community, not just the core developers, expand the game. The transferable idea is that a domain-specific scripting layer converts contributors from programmers into designers. When the rules of each card live in code, only people who understand the whole codebase can add cards, and every addition risks the engine. When the rules live in a small scripting DSL the engine reads as data, the barrier drops to understanding the card, not the program, and additions cannot break the core because they are interpreted, not compiled in. This is the same leverage behind data-driven game engines and modding communities: the engine defines a vocabulary of primitives once, and content becomes a combinatorial space anyone fluent in the DSL can explore. The MCTS opponent reinforces the point, since a search-based AI can play any card the DSL produces without needing bespoke strategy code for it. **Cross-Domain Connections**: - [[Data-Driven Engines Put Game Logic in JSON Not Code]] — the same separation of engine from content, letting rules live as data rather than compiled logic. - [[Game Loop Tutorials Teach Sequencing Not Just Syntax]] — both treat the game engine as a structured system whose behavior is expressed above the raw code. ## Source - [[20260802 Magarena - Single-Player Fantasy Card Game]] — magarena, GitHub — https://github.com/magarena/magarena