R-Type Project š
š Overview
Welcome to R-Type, a classic side-scrolling shooter game where players pilot a spaceship and combat waves of oncoming enemy forces. Players must navigate intricate levels, tackle formidable bosses, and ultimately thwart an alien invasion.
š¹ļø Features
š Gameplay Mechanics
R-Type is a dynamic action-packed game demanding swift reflexes and strategic prowess. As the spaceship's pilot:
- šø Dodge obstacles and evade enemy fire.
- š« Annihilate enemy ships and terrestrial defenses.
- šŖ Harness power-ups and unique weapons to amplify firepower and boost health.
Each level brings its set of challenges and foes, culminating in intense boss battles that gauge your in-game expertise.
Control your ship with the following keys:
- ā¬: Move Up
- ā¬ : Move Left
- ā”: Move Right
- ā¬: Move Down
- Space: Shoot
š Networking Features
R-Type supports both offline and online gameplay. The online mode facilitates cooperative gameplay, allowing players to band together and tackle game challenges.
The online component operates on a client-server model where the game server oversees game state management and rule enforcement. Player connectivity to the game server employs protocols such as UDP.
If you're keen on developing a custom client, adhere to the attached protocol.
š ļø Game Engine
The game engine behind R-Type accelerates the development of varied games, exemplified by the creation of Flappy Bird and Factorio using the same game engine. Despite the stark contrast between these games, the shared game engine delivers uniform performance and user experience. Such adaptability is invaluable for developers as it fosters code and resource reuse, enhancing game quality and player engagement.
š Getting Started
š§ Setup
š¦ Dependencies: Conan
Dependencies are managed with Conan.
Install it with:
pip install --user conan
Post-installation, execute:
conan profile new default --detect
conan profile update settings.compiler.libcxx=libstdc++11 default
conan remote add bincrafters https://bincrafters.jfrog.io/artifactory/api/conan/public-conan
conan config set general.revisions_enabled=1
Encounter issues? Refer to the official documentation.
š Documentation Generation
Documentation generation leverages Doxygen. Ensure the installation of:
texlive-latex-base
texlive-fonts-recommended
texlive-fonts-extra
texlive-latex-extra
š Quick Documentation Access
Access the documentation here.
Update it using:
./generateDoc
ā ļø When introducing a documented file, modify the Doxyfile. Search for INPUT =
.
š® Additional Games
We crafted two more games alongside this project!
š Factorio
In Factorio, players orchestrate and oversee an automated factory in an unfriendly territory. Initiating with scarce resources on an extraterrestrial planet, players extract raw materials, leading to the production of advanced commodities.
š¦ Flappy Bird
Flappy Bird tasks players with guiding a bird through green pipe obstacles without making contact. Points accrue with each successful passage. Mastery revolves around optimizing the "space" key press to maintain flight altitude and rhythm, evading obstacles to achieve top scores.
Group Members
- Samuel Shemtov
- Quentin Caniou
- Kaan Bouldoires
- William Karkegi
- Enzo Alaimo