Skip to content

R-Type-Epitek/R-Type

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

683 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ RType EPITECH πŸš€

RType Game

πŸ“– About the Project

This RType project, developed by a dedicated team of five at EPITECH, is an exciting endeavor to recreate the classic RType game. Our project not only aims to bring this beloved shooter game to life but also incorporates our unique twist by implementing a custom Entity Component System (ECS). This approach allows for more dynamic and efficient game entity management, providing an enhanced gaming experience.

RType is a side-scrolling space shooter game where players navigate a spacecraft through various levels, battling enemies and avoiding obstacles. Our version preserves the essence of the original game while integrating modern programming practices and graphical enhancements.


πŸ“š Table of Contents


πŸš€ Game Description

The RType game we're recreating involves a series of challenging levels where players control a spaceship to defeat enemies and dodge obstacles. Each level offers unique challenges and requires players to adapt their strategies. The game's fast-paced nature and retro charm make it an engaging experience for both new and seasoned players.


πŸ”§ Technologies

This project uses several modern technologies, including:

  • C++: Our primary programming language, known for its efficiency and control over system resources.
  • CMake: A cross-platform tool that simplifies the build process.
  • Justfile: An intuitive, language-agnostic task runner.
  • Docker: Used for containerizing the application, ensuring consistent environments across different systems.
  • Doxygen: A documentation generator that helps us maintain clear and comprehensive code documentation.

πŸ“‹ Prerequisites

Before starting, make sure to have the following installed:

  • Justfile
  • C++ Compiler
  • CMake

Optional Dependencies

  • Doxygen: For generating project documentation.
  • Docker: For running the game in a containerized environment.

πŸ› οΈ Installation

To launch the project, follow these steps:

  1. Clone the repository:

    git clone git@github.com:R-Type-Epitek/R-Type.git
  2. Navigate to the project directory:

    cd R-Type
  3. Init the project:

      just

    OR

      just start

πŸš€ Usage

Launch the server

./r-type_server

Launch the client(s)

  ./r-type_client

πŸ€– Entity Component System

Our custom Entity Component System (ECS) is a core part of our game's architecture. It allows for a modular and flexible approach to game object management. Entities represent objects in the game, components are data containers for various attributes, and systems are logic processors that manipulate entities based on their components. This setup facilitates a clean separation of concerns and makes the game easier to extend and maintain.


πŸ“š Technical Documentation

For those interested in a deeper dive into the inner workings of our RType project, our technical documentation is a treasure trove of information. It meticulously details the architecture, codebase, and the methodologies we employed in developing the game. This includes a comprehensive explanation of our custom Entity Component System (ECS), an in-depth look at the game's mechanics, and the algorithms used.

Whether you're a student, a fellow developer, or just curious about game development, you'll find valuable insights into how a complex project like this comes together. The documentation is regularly updated to reflect the latest changes and improvements.

To access our technical documentation, please visit our GitHub Pages:

πŸ“š RType EPITECH Technical Documentation

Feel free to explore, learn, and even contribute your thoughts and suggestions!


😎 Contributors


🀝 Contributing

We warmly welcome contributions! If you're interested in helping out, please read our contribution guidelines for more information on how to get started.


πŸ“œ License

This project is licensed under the MIT License. Feel free to explore, modify, and distribute the code.


✨ Conclusion

We hope this documentation provides a comprehensive guide to our RType project. We're excited to see how players and developers engage with our game. Thanks for your interest and support!

Packages

No packages published

Contributors 5