Rogue Game - Project for courses Software Team Project 1/Software Engineering 1 (BI-SP1/BI-SI1 2018)
Dive into the role of a dwarf that faces dangers in depths of dungeon that awaits to be explored.
- sfml
- box2d
- lua (5.3)
- cmake (2.6 or higher)
Package names on ubuntu: libsfml-dev, libbox2d-dev, liblua5.3-dev, cmake
- Go to the <root> directory ( <root> means project root )
- Run
./setup.sh
- Go to the <root>/build directory
- Run ``make game`
- Go to the <root>/build directory
- Run
./game
You can move using arrow keys. Pause game with Escape and shoot with space bar. These key bindings can be changed in settings.
Project uses MVC architecture and is divided into 5 main directories:
- Model ( Game data and physical simulation (box2D) )
- Controller ( Communication between Model and View )
- View ( Game graphics (sfml) and user input )
- Util ( Classes used across the application ex.: Logger, Observer, Subject... )
- NPC ( Manages market, trading and non-combat NPC's. Basically part of the Model. )
We use observer pattern for fast communication between Model and View.
Lua is used for user scripting ( playing sound when is entity damaged ect. ) and default configuration of some game objects ( for example animations )
see CHANGELOG
Project was graded 50 out of 50 points obtainable.