{"id":31665974,"url":"https://github.com/bobis33/r-type","last_synced_at":"2025-10-07T22:25:17.632Z","repository":{"id":314502865,"uuid":"1054366446","full_name":"bobis33/R-Type","owner":"bobis33","description":"Epitech | R-Type","archived":false,"fork":false,"pushed_at":"2025-10-05T22:24:28.000Z","size":11262,"stargazers_count":0,"open_issues_count":16,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-05T23:34:01.742Z","etag":null,"topics":["cmake","cpp","cpp23","doxygen","ecs","entity-component-system","epitech","game","game-engine","github-actions","interfaces","multiplayer","network","rtype","sfml","threads"],"latest_commit_sha":null,"homepage":"https://bobis33.github.io/R-Type/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bobis33.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-10T18:24:30.000Z","updated_at":"2025-10-02T19:32:15.000Z","dependencies_parsed_at":"2025-09-26T23:13:54.900Z","dependency_job_id":"bd488ecf-361e-4cd5-8d82-e991ce87e5ea","html_url":"https://github.com/bobis33/R-Type","commit_stats":null,"previous_names":["bobis33/rtype"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bobis33/R-Type","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bobis33%2FR-Type","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bobis33%2FR-Type/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bobis33%2FR-Type/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bobis33%2FR-Type/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bobis33","download_url":"https://codeload.github.com/bobis33/R-Type/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bobis33%2FR-Type/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278856752,"owners_count":26057926,"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","status":"online","status_checked_at":"2025-10-07T02:00:06.786Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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","cpp","cpp23","doxygen","ecs","entity-component-system","epitech","game","game-engine","github-actions","interfaces","multiplayer","network","rtype","sfml","threads"],"created_at":"2025-10-07T22:25:14.828Z","updated_at":"2025-10-07T22:25:17.624Z","avatar_url":"https://github.com/bobis33.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"/assets/icons/icon.png\" alt=\"R-Type Logo\" width=\"326\"/\u003e\n\u003c/p\u003e\n\n# R-Type\n[![CI - Gitleaks](https://github.com/bobis33/R-Type/actions/workflows/gitleaks.yml/badge.svg)](https://github.com/bobis33/R-Type/actions/workflows/gitleaks.yml)\n[![CI - R-Type](https://github.com/bobis33/R-Type/actions/workflows/ci.yml/badge.svg)](https://github.com/bobis33/R-Type/actions/workflows/ci.yml)\n[![CD - Doxygen documentation](https://github.com/bobis33/R-Type/actions/workflows/deploy-doxygen.yml/badge.svg)](https://github.com/bobis33/R-Type/actions/workflows/deploy-doxygen.yml)\n[![CD - Mirror](https://github.com/bobis33/R-Type/actions/workflows/mirror.yml/badge.svg)](https://github.com/bobis33/R-Type/actions/workflows/mirror.yml)\n\nThe Goal of this project is to implement a multithreaded server and a graphical client for a game called R-Type, using an engine of your own design.\n\n## Supported Platforms\n| Platform | Compiler | Status |\n|----------|----------|--------|\n| Linux    | g++      | ✅      |\n| macOS    | g++      | ✅      |\n| Windows  | MSVC     | ✅      |\n\n## Project Structure\n```mermaid\nflowchart LR\n    subgraph App\n        subgraph client [Client]\n            A[Client]\n            A --\u003e|.a/.lib| B[Engine]\n            B --\u003e|.a/.lib| C[ECS]\n            A --\u003e|.a/.lib| D[IGameClient]\n            B --\u003e|.so/.dll| E[IAudio]\n            B --\u003e|.so/.dll| F[INetworkClient]\n            B --\u003e|.so/.dll| G[IRenderer]\n        end\n    \n        subgraph server [Server]\n            H[Server]\n            H --\u003e|.so/.dll| I[IGameServer]\n            H --\u003e|.so/.dll| J[INetworkServer]\n        end\n    \n        A \u003c==\u003e|TCP/UDP| H\n    end\n```\n```text\nR-Type\n├── assets                  # Game assets (images, sounds, etc.)\n├── cmake                   # Cmake configs\n├── client                  # Client source code\n├── documentation           # Project documentation\n├── modules                 # Static libraries\n├── plugins                 # Dynamic libraries\n├── scripts                 # Build and utility scripts\n├── server                  # Server source code\n├── tests                   # Unit and integration tests\n└─── third-party            # External libraries as submodules\n```\n\n## Build and Run\n\u003e [!IMPORTANT]\n\u003e When cloning the project, you should also initialize the submodules:\n\u003e ```bash\n\u003e git clone --recurse-submodules git@github.com:bobis33/R-Type.git\n\u003e ```\n\u003e If you already cloned the project, you can initialize the submodules with:\n\u003e ```bash\n\u003e git submodule update --init --recursive\n\u003e ```\n### Prerequisites\nMake sure you have the following dependencies installed on your system:\n\n- [CMake 4.0.0](https://cmake.org/)\n- [C++23](https://en.cppreference.com/w/cpp/23)\n### Unix (Linux, macOS)\n```bash\n./scripts/unix/build.sh release\n## Or\ncmake -S . -B cmake-build-release -G \"Ninja\" -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=g++ -DCMAKE_C_COMPILER=gcc\ncmake --build cmake-build-release -- -j4\n## Then\n./cmake-build-release/bin/r-type_client ## client\n./cmake-build-release/bin/r-type_server ## server\n```\n\n### Windows\n```powershell\ncmake -S . -B cmake-build-release -G \"Visual Studio 17 2022\" -A x64 -DCMAKE_BUILD_TYPE=Release\ncmake --build cmake-build-release --config Release\n## Then\ncmake-build-release\\bin\\r-type_client.exe ## client\ncmake-build-release\\bin\\r-type_server.exe ## server\n```\n\n## Documentation\n\nAPI documentation is generated using Doxygen and deployed on [GitHub Pages](https://bobis33.github.io/R-Type/).\nYou can find the same documentation as PDF [here](https://github.com/bobis33/R-Type/blob/main/documentation/R-Type.pdf).\nMore specific documentation for each part of the project can be found in their respective directories:\n  - [Client documentation](https://github.com/bobis33/R-Type/blob/main/client/README.md)\n  - [Server documentation](https://github.com/bobis33/R-Type/blob/main/server/README.md)\n\n## External Libraries\nAll dependencies are included as submodules in the [third-party](https://github.com/bobis33/R-Type/tree/main/third-party) directory.\n\n## Contributing\n➡️ Want to contribute? See [CONTRIBUTING.md](https://github.com/bobis33/R-Type/blob/main/CONTRIBUTING.md).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbobis33%2Fr-type","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbobis33%2Fr-type","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbobis33%2Fr-type/lists"}