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.

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 ScarloxyMoana 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 basic a dialog system included. 
  • Monster Bestiary, pause menu, and audio sliders for the music you'll hear a lot
  • 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

KeyAction
Arrow keysMove (8-directional)
EscapeOpen pause menu (overworld) or settings/Bestiary 
EInteract with NPCs
Left Mouse ClickClick buttons on title screen, drag audio sliders
Space/EnterAdvance dialog, confirm menu selection
Updated 9 hours ago
Published 11 days ago
StatusPrototype
PlatformsHTML5
AuthorDanilo
Tags2D, Monsters, Pixel Art, Tilemap, Top-Down
Average sessionAbout a half-hour
LanguagesEnglish
InputsKeyboard
AI DisclosureAI Assisted, Code

Development log