Civilization
Home - Project Civilization

This is a school project of four french students of the ENSEA. During our last year of school, we were ask to adapt a board game into a video game. Thus, we choose to implement the game "Civilization: A New Dawn".

Principle

This game is a strategy board game in which two to four players act as the leaders of history’s most memorable civilizations. Over the course of the game, they will expand their domains, gain new technologies, and build many of humanity’s greatest wonders. In the end, one civilization will rise above all others to leave its indelible mark upon history.

If you want to know more about the rules and the documentation of the game you can click here. To read the rules, go fisrt on the tab called "List of pages" and then click on "rules".

Constraints

Our build system must use this template.

Other constraints are:

  • We must create an UML diagram of our project with Dia. This diagram is used to generate all the header files of the project thanks to the open source software "dia2code". Thus we should not create header files by ourselves.
  • We must use SFML as graphic lirary.
  • The game must be multiplayer with a server part.
  • The game must implement 3 different types of AI.

Build documentation

Prerequisites

To build the documentation, you must install doxygen, graphviz, libpng-dev and dia.

From the root of the project, you can now build the site with:

doxygen docs/Doxyfile

Then, you can access the documentation from html/index.html

Windows

To build our project on Windows, you must have installed MinGW with all its default libraries and it lpthread libraries. You must also have CMake and git installed on your machine.

Now go to the Civilization\build folder and type cmake -G "MinGW Makefiles" ... Finally, type cmake --build . to launch the project.

Linux

To build our project on Linux, you must have installed git, gcc/g++, cmake and libsfml-dev.

If you also want to build testing, you will need to install libboost-dev. For building code coverage, add in addition to that lcov and gcovr.

Now go to the Civilization\build folder and type cmake ... You can add the following options: -DCMAKE_BUILD_TYPE=Release, -DBUILD_TESTING=ON and -DBUILD_CODE_COVERAGE=ON. Finally, type cmake --build . to build the project. Then, you can start the programs located in build/bin.

Credits