{"id":15137016,"url":"https://github.com/mathieu-lala/game_project","last_synced_at":"2025-09-29T06:31:19.451Z","repository":{"id":55642207,"uuid":"293030007","full_name":"Mathieu-Lala/game_project","owner":"Mathieu-Lala","description":"Game Project : The PURGE ~ Keimyung University ~ Fall 2020","archived":true,"fork":false,"pushed_at":"2020-12-19T09:01:20.000Z","size":91522,"stargazers_count":6,"open_issues_count":2,"forks_count":0,"subscribers_count":4,"default_branch":"develop","last_synced_at":"2025-01-11T05:21:16.505Z","etag":null,"topics":["cmake","conan","cpp","cpp17","cpp20","entt","game-development","glfw3","imgui","opengl"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Mathieu-Lala.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-09-05T07:54:34.000Z","updated_at":"2023-01-28T11:16:41.000Z","dependencies_parsed_at":"2022-08-15T05:20:23.588Z","dependency_job_id":null,"html_url":"https://github.com/Mathieu-Lala/game_project","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mathieu-Lala%2Fgame_project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mathieu-Lala%2Fgame_project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mathieu-Lala%2Fgame_project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mathieu-Lala%2Fgame_project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Mathieu-Lala","download_url":"https://codeload.github.com/Mathieu-Lala/game_project/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234597573,"owners_count":18857980,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cmake","conan","cpp","cpp17","cpp20","entt","game-development","glfw3","imgui","opengl"],"created_at":"2024-09-26T06:42:52.965Z","updated_at":"2025-09-29T06:31:09.440Z","avatar_url":"https://github.com/Mathieu-Lala.png","language":"C++","readme":"# Game Project - The PURGE\n\n[![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](https://github.com/Mathieu-Lala/game_project/graphs/commit-activity)\n[![GitHub release](https://img.shields.io/github/v/release/Mathieu-Lala/game_project)](https://github.com/Mathieu-Lala/game_project/releases/)\n\nKeimyung University - Mobile Game Development - 2020 Fall Semester\n\nThis project is a video game for PC. See the [Game Design Document](doc/ThePURGE_GameDesignDocument.pdf) for more details.\n\nThis repository contains the source code of the [game](src/Application) and his [engine](src/Engine).\n\n## Usage\n\n```sh\n$\u003e ./tools/launch.sh -- --help\nThePURGE 0.4.0\nUsage: ./engine_main [OPTIONS]\n\nOptions:\n  -h,--help                           Print this help message and exit\n  --version                           Print the version number and exit.\n  --config=data/config/app.ini        Read an ini file\n  --fullscreen BOOLEAN=1              Launch the window in fullscreen mode.\n  --window-width UINT=1024            Width of the window.\n  --window-height UINT=768            Height of the window.\n  --replay-path TEXT                  Path of the events to replay.\n  --replay-data TEXT                  Json events to replay.\n  --data TEXT=data/                   Path of the data folder.\n  --output-folder TEXT=../generated/  Path of the generated output.\n```\n\n## What it looks like\n\nSee [the trailer](https://www.youtube.com/watch?v=GQxOHtLU4U0) of the game on youtube !\n\nSee [older version](./doc/history) of the project.\n\n## Installing\n\n### Requirements\n\n* All platforms\n\n  * python\u003e=3.0\n\n* Unix systems\n\n  * g++\u003e=10 || clang\u003e=11\n  * cmake\u003e=3.13\n\n* Windows\n\n  * Visual Studio 2019\u003e=16.7 \u0026\u0026 Linux CMake extension (see [the documentation](https://docs.microsoft.com/en-us/cpp/linux/cmake-linux-configure?view=vs-2019))\n\n### Command line\n\nYou can use this command line.\n\n```sh\n# Shortcut command\n$\u003e sh -c \"$(curl -fsSL https://raw.githubusercontent.com/Mathieu-Lala/game_project/develop/tools/install.sh)\"\n\n# Or\n$\u003e sh -c \"$(wget -O- https://raw.githubusercontent.com/Mathieu-Lala/game_project/develop/tools/install.sh)\"\n```\n\nOr clone and inspect the install script.\n\n```sh\n# Cloning the repository\n$\u003e git clone https://github.com/Mathieu-Lala/game_project.git\n\n# Go in the project\n$\u003e cd game_project\n\n# Installing the required environment (partial)\n$\u003e ./tools/install.sh --no-clone\n```\n\n### Recommended environment\n\n* Unix systems\n\n  * [ccache](https://ccache.dev/)\n  * [cppcheck](http://cppcheck.sourceforge.net/)\n  * [clang-tidy](https://clang.llvm.org/extra/clang-tidy/)\n\n* Windows\n\n  * [VS cppcheck extension](https://marketplace.visualstudio.com/items?itemName=Alexium.Cppcheckadd-in)\n  * [VS conan extension](https://marketplace.visualstudio.com/items?itemName=conan-io.conan-vs-extension)\n  * [VS GLSL extension](https://marketplace.visualstudio.com/items?itemName=DanielScherzer.GLSL)\n  * [VS clang-format extension](https://marketplace.visualstudio.com/items?itemName=xaver.clang-format)\n\n## Build and Run\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003emaster (stable)\u003c/td\u003e\n    \u003ctd\u003e\n      \u003ca href=\"https://github.com/Mathieu-Lala/game_project/actions?query=branch%3Amaster\"\u003e\n        \u003cimg src=\"https://github.com/Mathieu-Lala/game_project/workflows/C++%20CMake%20Build/badge.svg?branch=master\"\n          alt=\"not found\"\n        \u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003ca href=\"https://travis-ci.com/github/Mathieu-Lala/game_project\"\u003e\n        \u003cimg src=\"https://api.travis-ci.com/Mathieu-Lala/game_project.svg?branch=master\u0026token=5TrxUsuSpQyXNca4sVWA\"\n          alt=\"not found\"\n        \u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003edevelop (latest)\u003c/td\u003e\n    \u003ctd\u003e\n      \u003ca href=\"https://github.com/Mathieu-Lala/game_project/actions?query=branch%3Adevelop\"\u003e\n        \u003cimg src=\"https://github.com/Mathieu-Lala/game_project/workflows/C++%20CMake%20Build/badge.svg?branch=develop\"\n          alt=\"not found\"\n        \u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003ca href=\"https://travis-ci.com/github/Mathieu-Lala/game_project\"\u003e\n        \u003cimg src=\"https://api.travis-ci.com/Mathieu-Lala/game_project.svg?branch=develop\u0026token=5TrxUsuSpQyXNca4sVWA\"\n          alt=\"not found\"\n        \u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\nThe build **require** an internet connection (download of dependencies if missing).\n\n* Unix systems\n\n    ```sh\n    # See the --help message\n\n    # Generate the cmake project\n    $\u003e ./tools/generate.sh\n\n    # Build the target\n    $\u003e ./tools/build.sh\n\n    # Run the executable\n    $\u003e ./tools/launch.sh\n    ```\n\n* Visual Studio\n\n  See [the documentation](https://docs.microsoft.com/en-us/cpp/build/cmake-projects-in-visual-studio?view=msvc-160) for further details.\n\n  1. Open the project folder with Visual Studio\n  1. Project \u003e Generate Cache for GameProject\n  1. Build \u003e Build All\n  1. Select Startup Item \u003e engine_main\n\n### Package Manager\n\n[Conan](https://conan.io/) is used for this project, see [the documentation](https://docs.conan.io/en/1.31/)\n\nThe dependencies used :\n\n![Dependencies](doc/conan_dependencies.png)\n\n## Debugging\n\nWhen implementing a new feature (or just by curiousity), you might want to see what is happening behind the scene.\nWith a debug build you have access to extra information such as the hitbox, a console (with cheat codes), opengl rendering options ...\n\n## Testing\n\n[![codecov](https://codecov.io/gh/Mathieu-Lala/game_project/branch/develop/graph/badge.svg?token=E43G3XKG01)](https://codecov.io/gh/Mathieu-Lala/game_project)\n\n* [CI](https://en.wikipedia.org/wiki/Continuous_integration)\n\n  1. [Github](https://github.com/Mathieu-Lala/game_project/actions)\n  1. [Travis](https://travis-ci.com)\n\n* [Unit tests](https://en.wikipedia.org/wiki/Unit_testing)\n\n* [Golden tests](https://en.wikipedia.org/wiki/Software_testing#Output_comparison_testing)\n\n* [Formatting](https://en.wikipedia.org/wiki/Programming_style)\n\n## Acknowledgement\n\n* Jason Turner's [Weekly Game Project](https://github.com/lefticus/cpp_weekly_game_project)\n* [learnopengl.com](http://learnopengl.com)\n\n## Initial Authors\n\n* Mathieu LALA - [github](https://github.com/Mathieu-Lala)\n* Benjamin PRAUD - [github](https://github.com/BenjaminPraud)\n* Yanis FOUREL - [github](https://github.com/Yanis-F)\n* Adil RAJABALY - [github](https://github.com/ADeal24)\n* Pierre-Genest ESTRADE - [github](https://github.com/Pierre-Genest)\n\n## License\n\nThis software is licensed under the ISC license see [LICENSE](/LICENSE) for further details.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmathieu-lala%2Fgame_project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmathieu-lala%2Fgame_project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmathieu-lala%2Fgame_project/lists"}