/Trivial-Like-LI2

A fantastic copy of RogueLike developed in C.

Primary LanguageC

Trivial-Like LI2

About the Project

This project was developed for the LI2 University of Minho Subject of the Software Engineering degree.

On this project were left tons of hours of work, and we are proud of the final result. Each new feature that we added, we won more energy to continue and to improve the project.

Grade ⭐️ 19/20

Demo 📽️

Demo Image

demo.mp4

Features

  • Players name (to continue the game after leaving it)
  • Random map generation with dynamic size
  • Vision system (that can be turned off), with lightning system
  • Random enemies generation, with IA movement
  • Random items generation
  • Settings (that are persistent even after closing the game)
  • Music

Controls ⌨️ (Keyboard Only)

  • Arrows - Move the player
  • q - Enter Pause mode
The game controls are shown on the bottom of the screen, and shown when is possible to use them.

Download 📥📲

You can download the game on project's releases.

The goal ⛳️

As you can easily see on the demo, the goal was develop a clone of Roguelike game with ncurses library from C.

If you want, you can read the project statement (in Portuguese).

About the Code 🧑‍💻

We try to since the begin organize the code in a way that we could easily add new features, creating a very well modulated project, always splitting the events from the drawing functions.

Getting Started 🚀

Cloning the repository

$ git clone https://github.com/Darguima/Trivial-Like-LI2.git
$ git clone git@github.com:Darguima/Trivial-Like-LI2.git

Installing dependencies 📦

# Debian / Ubuntu / Mint
$ sudo apt-get install libncurses-dev build-essential libjson-c-dev

# Arch
$ sudo pacman -S sdl2_mixer

Running the project 🏃‍♂️

Start by going to the root folder:

$ cd Trivial-Like-LI2/
Compiling the code 🛠️
$ make

# Executing program
$ ./triviallike
Developing

This function clean, compile and execute the project

$ make dev
Cleaning object files and executable
$ make clean

Developed by 🧑‍💻: