PROJECT YAML
PROJECT Y.A.M.L. started as a prototype to test what I could do with the C# engine FlatRedBall2. I used Clear Code's Pygame-CE tutorial as a starting point and remade the game in C#, letting FlatRedBall2 handle most of the boilerplate. Given FlatRedBall's 20-year development history and the brand-new second iteration of the engine, it was a great chance to learn how to build modular systems. It runs right in your browser, no install needed.
If you run the game on a Firefox browser the loading screen can be a bit longer compared to running the game on a Chromium browser, do keep this in mind when running into this.
Developed with C# and FlatRedBall2, with heavy use of test-driven development to keep the code clean and ready for bigger projects. Assets are used from Scarloxy, Moana Prinz check their asset packs out on Itch.
Features:
- Turn-based battles with the classic triangle: Fire beats Plant, Water beats Fire, Plant beats Water.
- Custom battle logic inspired on modern OOP principles (Christopher's Okhravi): effects, conditions, moves, and stats are composed from small, reusable interfaces instead of baked into monolithic classes.
- 16 monster species to spy (and battle) across evolution chains and level-up moves, all data-driven via JSON.
- Sneaky trainers that chase you down with line-of-sight (using Raycast) and a basic dialog system included.
- Monster Bestiary, pause menu, and audio sliders for the music you'll hear
- Pixel art everywhere: monsters, attacks, and effects brought to life with the FlatRedBall2's stand alone Animation Editor, plus UI built with Gum.
- Custom audio mixer with context-based music and SFX ducking
Controls
| Key | Action |
| Arrow keys | Move (8-directional) in overworld/battles or in menu's |
| Escape | Open pause menu (overworld/battles) or settings/Bestiary |
| E | Interact with NPCs |
| Left Mouse Click | Click buttons on title screen, drag audio sliders |
| Space/Enter | Advance dialog, confirm menu selection |
Download
Click download now to get access to the following files:
Development log
- PROJECT YAML - Release Notes: Evolution and Loading Update1 day ago
- PROJECT YAML - Release Notes: Audio Update4 days ago
- PROJECT YAML - Release Notes: Prototype update9 days ago
- PROJECT YAML - Release Notes: Prototype9 days ago
- Why I gave PROJECT YAML a desktop release9 days ago
- How I Learned to stop worrying and ship the damn thing16 days ago




