Projet SFL
Game made for an academic projet by students of the Lyon 1 Claude Bernard University.
π Table of Contents
- About
- Getting Started
- Running the tests
- Usage
- Documentation
- Built Using
- Specifications
- UML Class Diagram
- Trello Board
- Create your own map with Tiled
- Authors
π§ About
2D 'Zelda like' game. Explore the open-world to fight your ennemies and fulfill the request of the NPCs.
Available on Linux and MacOS.
π Getting Started
These instructions will get you a copy of the project up and running on your local machine.
Prerequisites
What things you need to install the game and how to install them.
- For LINUX :
G++, SFML
- For MacOSX :
G++
(SFML files are included in the project) - To update the documentation :
Doxygen, graphviz
WSL is not working with this game
You can install them with your favorite package manager like :
sudo apt-get install libsfml-dev
Folder structure
Folders tree
βββ bin
β
βββ data
β βββ fonts
β βββ maps
β βββ sounds
β βββ textures
β
βββ doc
β βββ html
β β βββ index.html
β βββ sfl.doxy
β
βββ extern
β βββ SFML
β
βββ image.png
β
βββ Makefile
β
βββ obj
β
βββ README.md
β
βββ src
βββ Core
β βββ Entity
β βββ Game.cpp
β βββ Game.h
β βββ Map
β βββ StateManager
β
βββ main.cpp
β
βββ SFML
β
βββ txt
Installing
-
Open a terminal to the project root directory.
-
Compile with
make
- Clear all the objects and executables files with
make clean
π§ Running the tests
You can run all the class tests by running the following executable
./bin/exec 2
π Usage
After compiling :
SFML version
- Execute the SFML version with
./bin/exec 0
- To move along all axis use :
Z Q S D
- To attack an enemy use :
Left click
- To pause the game :
Escape
- To restart the game after Game Over :
Space
- To mute the sound of the game press :
M
- To open the debug mode press :
P
- To quit press :
X
or the cross button.
Note : fullscreen behaviors are unpredictable. Only in-game screen resizing is recommended
Text version
The player is represented by a 'O', the enemies by 'E' and the collision boxes by 'X'
- Execute the text version with
./bin/exec 1
- To move along all axis use :
Z Q S F
- To quit press :
x
or the cross button.
π Documentation
-
You can access to the actual documentation here.
-
You can open the documentations with your favorite navigator :
doc/html/index.html
-
You can update the documentation with
make docs
βοΈ Built Using
- SFML - GUI Library
- G++ - C++ Compiler
- Tiled - Map editor
- Doxygen - Documentation from source code
- Graphviz - Documentation images
ποΈ Specifications
You can find our specifications.
π UML Class Diagram
You can find our UML Class Diagram.
π Trello Board
You can find our Trello Board .
πΊοΈ Create your own maps with the Tiled software :
Collisions and spawns layers :
You can download Tiled software here.
Collision and spawn layers :
You must use object layers named :
- "PlayerSpawn" for player's spawn
- "EnemySpawn" for enemies' spawns
- "Collision" for every objects that players, NPC and enemies couldn't go throught
- "NPCSpawn" for NPC's spawns. To specify the sentence of NPCs, go to the
property panel
on the left andCustom Properties
->Add Property
, then setProperty Name
to"Dialog"
and selectString
type. You can also set NPC's direction by modifyingRotation
value.
You should save your map using CSV format.
Note : Check the actual map at the folder location data/maps/mainTilemaps.tmx
and reproduce the layers with the objects properties
βοΈ Authors
- Farès SIONI : p1907037
- Stanislas BAGNOL : p1909886
- Lyes CHOUGAR : p1925126