01 // PROJECT AT A GLANCE
MY RPG
CA 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.
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…