Skip to main content

Technologies Used

The R-Type project leverages a variety of modern technologies and tools to create a robust and efficient game engine. Here's an overview of the key technologies used in the project:

Programming Language

  • C++: The core language used for developing the game engine, client, and server components.

Graphics and Multimedia

  • SFML (Simple and Fast Multimedia Library): Used for handling graphics, window management, and multimedia functionalities.

Build System

  • CMake: Cross-platform build system used to generate platform-specific build files.

Version Control

  • Git: Distributed version control system for tracking changes in source code.
  • GitHub: Hosting platform for version control and collaboration.

Continuous Integration/Continuous Deployment (CI/CD)

  • GitHub Actions: Used for automating build, test, and deployment processes.

Documentation

  • Docusaurus: Documentation generator used for creating and maintaining project documentation.
  • Markdown: Lightweight markup language used for writing documentation.

Game Architecture

  • Entity Component System (ECS): Architecture pattern used for organizing game logic and data.

Asset Management

  • Custom JSON-based map format: Used for defining and loading game maps and levels.

Networking

  • (Specific networking library or protocol, if used)

Development Tools

  • ccache: Optional compiler cache for speeding up recompilation.

Testing

  • (Specific testing framework, if used)

Audio

  • SFML Audio module: Used for handling music and sound effects in the game.

Configuration

  • JSON: Used for configuration files, including map definitions.

License

  • MIT License: The open-source license under which the project is distributed.

These technologies work together to create a modern, efficient, and maintainable game engine for R-Type. Each technology has been chosen to address specific needs of the project, from cross-platform compatibility to ease of development and deployment.