Skip to content

Gradrien/my_rpg

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

196 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Logo

My_rpg Project

Table of contents

Dev Team

This project was made thanks to

Install game

$ git clone https://github.com/NolannB14/my_rpg.git

Run game

$ make ; ./my_rpg

Goal of the project

The last CSFML project of the 1st EPITECH year consists on recreating a fully playable role play video game (RPG). The game must have many features and a scenario. It was made in 7 weeks and aim to work on team working, organization and code structure.

Features

For the project to be evaluated, we must complete the following requirements such as follows :

Mandatory

The following features are mandatory (if the project is missing one of them it will not be evaluated further):

• the window can be closed using events
• the game manages the input 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

Technical Requierements

The following requierement are the mathematical and technical parts which has to be present in your final project:

• A collision system including moving and static elements with different shapes
• A simple particle system that can display at least 2 types of particles
• Particle effects (changing colors, scaling, bouncing, fading) to simulate realistic environment (wind, fire, rain, snow...)
• Camera movements (zoom, translation, rotation)
• 3D effects (depth scaling, isometric projection. . . )

Must

The game must have:

• A starting menu with at least two buttons, one to launch a game, and one to quit the game
• An escape key to pause the game when launched
• A menu when the game is paused with at least two buttons, one to go to the starting menu and the other to leave the game
• A basic fighting system
• An inventory and status menu

Should

• Your window should stick between 800x600 pixels and 1920x1080 pixels
• The game should have an “How To play” menu, explaining how to play your game
• The game should have NPC with whom the player can interact (fight, quest, discuss)
• As much information as possible about the game should be stored in a configuration file
• The buttons in your game should have at least three visual states: idle, hover, and clicked
• If your game has cut scenes or an animated intro (and it should) the player should be able to skip it
• The game should have a beginning and an end
• The game should have an advanced collision system to manage complex fighting

Could

The game could:

• let the player save and load its own save
• let the user customize its character
• have different types of enemies
• have a skill tree, unlocking different abilities (active and passive)
• have a “settings” menu that could contain sound options and/or screen size options
• have a particle engine
• use scripting to describe entities
• have a map editor \

Would

Your program would be a real video game

History

Good morning intrepid young adventurer and welcome to the world of the king Hasbullah.
Unimpressive in size, his strength is comparable to the greatest vilains in the world.
Defeat the Hasbullah's sbires and complete the old man quest to have a chance to defeat Hasbullah and save the world.
Strength and Honor to you in your brand new aventure !!!

Key Bindings

You can do your own keybinding by going in the settings options but here are the default keybinds:

KEY ACTION
Q_KEY Quit the game
SPACE_KEY Attack
E_KEY Interact
Z_KEY Move forwards
S_KEY Move backwards
D_KEY Move to the right
Q_KEY Move to the left
P_KEY Zoom up
M_KEY Zoom down
ESCAPE_KEY Pause the game

Commit norm

The commits are normed thanks to a program made by Adrien Ricou.

Commit type Description
[ADD] 🚀 Deploying new code
[MODIFY] ✨ Modifying code
[COD.STY] ⚡ Improving performance
[FIX] 🐛 Fixing a bug
[HANDLE] ✨ Handling new features
[INCLUDE] 🔧 Modifying user defined headers
[LIB] 🔧 Modifying libraries files
[REMOVE] 🔥 Removing code or files
[UNIT.TESTS] ✅ Added tests
[MERGE] 🔀 Merging branches

**Emoji are available thanks to the Gitmoji tool

About

EPITECH 1st year final project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors