|
my_rpg documentation 1.0.0
|
The my_rpg is a project carried out by groups of 4 (see Contributors, during our 1st year in EPITECH Grand Ecole program.
Its purpose is to create in C a Role Playing Game.
An RPG, or role-playing game, is a type of video game where you embody a character and progress through a story by completing quests, fighting enemies and developing your character's skills.
In our rpg, you play the role of a little spirit trapped in a labyrinth, and your aim is to escape from the maze.
You can run my_rpg like this :
For more information, please see the help section or the tutorial.
The result of this project is an almost perfect my_rpg.
If you discover a problem or an error, don't hesitate to create an issue and report it to us as soon as possible.
| Category | Percentage | Numbers of tests | Crash |
|---|---|---|---|
| Minimal functions | 0% | 0/1 | No |
| repository size | 100% | 1/1 | No |
| Results | 50% | 1/2 | No |
We got the best my_rpg of our class.
Project Mark :
Oral Mark :
| Feature | Mandatory | Must | Should | Could |
|---|---|---|---|---|
| The player needs to have characteristics | ✅ | |||
| The player can fight enemies AND the characteristics impact the fights results | ✅ | |||
| The player have an inventory which can contain a limited set of items | ✅ | |||
| The player can earn experience by winning fights and/or accomplishing specific actions | ✅ | |||
| The player can level up thanks to experience AND upgrading its characteristics | ✅ | |||
| The game contains NPC | ✅ | |||
| The game contains at least one quest | ✅ | |||
| The game contains a how to play system at the very beginning | ✅ | |||
| Collision system including moving and static elements with different shapes | ✅ | |||
| Camera movements (zoom, translation, rotation) | ✅ | |||
| 3D effects (depth scaling, isometric projection...) | ✅ | |||
| Buttons must have at least 3 different states | ✅ | |||
| Saving system (You can try to use sfView elements) | ✅🤷 | |||
| The window may be closed using events | ✅ | |||
| The windows may have different modes: Window mode, Full-screen mode | ✅ | |||
| The windows may have different resolutions, at least two (1920x1080, and an other) | ✅ | |||
| The game manages inputs from the mouse click and keyboard | ✅ | |||
| The game contains animated sprites rendered thanks to sprite sheets | ✅ | |||
| Animations in your program are frame rate independent | ✅🤷 | |||
| Animations and movements in your program are timed by clocks | ✅🤷 | |||
| Main menu | ✅ | |||
| Must contain at least these options: Start the game, Resume game (grayed out if not possible), Settings, Quit the game | ✅ | |||
| The settings option must contain: Sound and music volume options, A window size and resolution options | ✅ | |||
| In-game menu | ||||
| Must be accessible by pressing the Escape key | ✅ | |||
| Must contain at least these options: Character options (equipment and inventory management, characteristics management), Saving, Loading, Settings (the same as main menu), Commands list | ✅🤷 | |||
| Splash screen at the beginning | ✅ | |||
| Command edit into the in-game menu | ✅ | |||
| As much information as possible about the game should be stored in a configuration file | ❌ | |||
| The game should have an advanced collision system to manage complex fighting | ✅ | |||
| The game should contain a simple particle system: with at least 2 types of particle, particle effects (changing colors, scaling, bouncing, fading) to simulate realistic environment (wind, fire, rain, snow...) | ✅ | |||
| Could have a skill tree, unlocking different abilities (active and passive) | ❌ | |||
| Could have a complete particle engine | ❌ | |||
| Could use scripting to describe entities | ❌ | |||
| Could have a map editor | ✅🤷 |
Unit tests were performed using criterion.
In this project, only the library code is covered.
Unit tests are still to be performed, but a large part of the code is already covered:
You can compile the project and run the unit tests with this command :
For more details, please click here.
You can compile the project with this command :
If you want clean the project, you can run this command :
You can clean and compile the project with make re.
You can compile the unit tests with this command :
The documentation is accessible here.
You can generate the documentation with this command :
You need multiple package for generate them :
make tests_run.[+] or [-] or [~] followed by a message[+] : Add feature[-] : Delete feature[~] : Edit featureOf course, in exceptional cases, we may depart from these rules.
For this project, we were a group of 4 people. Here are the people in the group: