feat: course website (Astro Starlight)
Pages (index, disclaimer, about), lockfile, root test:site script, fix for Starlight 0.42 sidebar config and <details> rendering in generated MDX. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
d41496655e
commit
699d038d1c
8 files changed
+5230
-3
No files matched your search
@@ -0,0 +1,12 @@
|
||||
---
|
||||
title: About
|
||||
description: Licence, source repository and how to report errors.
|
||||
sidebar:
|
||||
order: 2
|
||||
---
|
||||
|
||||
A free course on extensible systemic game design, in Rust and TypeScript.
|
||||
|
||||
- **Licence**: MIT. Copy, adapt and teach from it. See the [LICENSE](https://gitea.lucaswinther.info/lucasw89/systemic-game-design-course/src/branch/main/LICENSE).
|
||||
- **Source**: [gitea.lucaswinther.info/lucasw89/systemic-game-design-course](https://gitea.lucaswinther.info/lucasw89/systemic-game-design-course). The lessons on this site are generated from the `course/` directory of that repository.
|
||||
- **Found an error?** Open an issue in the [Gitea issue tracker](https://gitea.lucaswinther.info/lucasw89/systemic-game-design-course/issues) with the page and what is wrong (a wrong prediction, a test that fails against a correct solution, a dead link).
|
||||
@@ -0,0 +1,13 @@
|
||||
---
|
||||
title: Disclaimer
|
||||
description: Trademarks, quoted card text and licensing.
|
||||
sidebar:
|
||||
order: 1
|
||||
---
|
||||
|
||||
This course is an independent, non-commercial educational project.
|
||||
|
||||
- It is **not affiliated with or endorsed by Blizzard Entertainment or Hempuli**. Hearthstone is a trademark of Blizzard Entertainment. Baba Is You is a creation of Hempuli. All trademarks and game names belong to their respective owners.
|
||||
- Short card and rule texts are quoted for **educational commentary** on game design. No game assets, code or data from those games are included.
|
||||
- SpellGrid and all other course content are original.
|
||||
- The course is **free**, and released under the MIT license.
|
||||
@@ -0,0 +1,58 @@
|
||||
---
|
||||
title: Systemic Design Course
|
||||
description: A free, hands-on course on extensible systemic game design, in Rust and TypeScript.
|
||||
template: splash
|
||||
hero:
|
||||
tagline: Rebuild the rules machinery of Hearthstone and Baba Is You, then prove your design by adding content without touching the engine.
|
||||
actions:
|
||||
- text: Start with Module 0
|
||||
link: /course/00-rewrite-trap/
|
||||
icon: right-arrow
|
||||
- text: Source on Gitea
|
||||
link: https://gitea.lucaswinther.info/lucasw89/systemic-game-design-course
|
||||
variant: minimal
|
||||
---
|
||||
|
||||
import { Card, CardGrid } from "@astrojs/starlight/components";
|
||||
|
||||
## What this is
|
||||
|
||||
A free course on **systemic game design**. You learn by rebuilding the rules machinery of two games, then extending it:
|
||||
|
||||
- **Part I: Hearthstone**: cards, zones, triggers, death phases, auras, text assembly.
|
||||
- **Part II: Baba Is You**: rules as pushable text, parsing, movement, win and lose.
|
||||
- **Part III: SpellGrid**: a small original game that combines both systems.
|
||||
|
||||
Every module follows the same beats: Observe, Predict, Spec, Build, Name it, Expansion Drop, Further reading. The Expansion Drop is the test of your design: you add new content without touching the engine.
|
||||
|
||||
## Pick your path
|
||||
|
||||
<CardGrid>
|
||||
<Card title="Solo" icon="open-book">
|
||||
Read the lessons and scenarios, predict outcomes, and reason about the design (designer path), or also make the tests pass in your own engine (builder path).
|
||||
</Card>
|
||||
<Card title="With an AI mentor" icon="rocket">
|
||||
Install the [mentor skill](https://gitea.lucaswinther.info/lucasw89/systemic-game-design-course/src/branch/main/mentor/README.md). Your agent asks, you build: it never writes your engine or content and releases hints one tier at a time.
|
||||
</Card>
|
||||
</CardGrid>
|
||||
|
||||
## Two tracks
|
||||
|
||||
Every code sample and exercise exists in **Rust** and **TypeScript**. Pick one and stay with it; the language tabs in the lessons remember your choice.
|
||||
|
||||
## Modules
|
||||
|
||||
- [Module 0: The Rewrite Trap](/course/00-rewrite-trap/)
|
||||
- [Module 1: Handles and order of play](/course/01-handles/)
|
||||
- [Module 2: The action queue, depth-first](/course/02-action-queue/)
|
||||
- [Module 3: Deferred death](/course/03-death-step/)
|
||||
- [Module 4: Interceptors and "trigger twice"](/course/04-interceptors/)
|
||||
- [Module 5: Behavior as data and Assemble](/course/05-assemble/)
|
||||
- [Module 6: Grid, lexer and parser](/course/06-parser/)
|
||||
- [Module 7: Resolving rules: NOT, identity, meta-nouns](/course/07-rule-resolution/)
|
||||
- [Module 8: Push chains: validate, then commit](/course/08-push-chains/)
|
||||
- [Module 9: The turn pipeline](/course/09-turn-pipeline/)
|
||||
- [Module 10: SpellGrid](/course/10-spellgrid/)
|
||||
- [Harness contract](/course/harness/) (reference)
|
||||
|
||||
See also the [disclaimer](/disclaimer/) and [about](/about/) pages.
|
||||
Reference in new issue
Block a user