PROJECT DOSSIER // [MY RPG]VIEW SOURCEBACK TO PROJECTS →

01 // PROJECT AT A GLANCE

MY RPG

C

A complete 2D role-playing game: two zones, spells, an inventory and a boss.

The most ambitious project of the first year, and the closest to a real game: an explorable world in two zones, seven playable characters, enemies with their own behaviour, spells, an inventory, dialogue, a boss, full option menus and a score ranking. The game saves, so you can pick it up where you left off. It is also the first project where the amount of content to produce — sprites, music, sound effects — matters as much as the code.

A 2D CSFML RPG: two zones (beach and dungeon), seven playable skins, four spell slots, three enemy types and a boss parameterised by a .conf file, game saving in .safe, a particle system, collisions by text grid and by image mask, an sfView camera and complete menus.

PRIMARYC
DELIVERYTEAM RECORD
VERIFICATIONCriterion
SOURCEINSPECTOR READY
MEDIA ATTACHMENTS (Images, Photos, Videos)

03 // KEY OUTCOMES

  • Making world, combat, inventory and menus coexist in a single codebase, in C and without objects
  • Balancing and saving externalised into key=value files (.conf and .safe), read back through a name table
  • Two collision techniques depending on the zone: a 0/1 grid in a text file for the beach, an image mask queried per pixel for the dungeon
  • A homemade particle system for the rain, the spells and the boss
  • An interface entirely indexed on a window ratio and an sfView camera, playable at several resolutions

BEYOND THE BRIEF

  • Homemade particle system (src/particule)
  • Dungeon traps (src/trap) and enemies with distinct behaviours (flying eye, bombs, boss)
  • Best scores persisted (src/highscore)
  • Settings screen with sound adjustment (src/settings)
  • Scenery hitboxes described in external text files (assets/img/map/hitbox) rather than hard-coded

04 // SOURCE TREE

READING SOURCE…