Directory Structure
The R-Type project follows a structured organization to maintain clarity and separation of concerns. Here's an overview of the main directories and their purposes:
Root Directory
src/
: Contains all source code for the projectdocs/
: Documentation files, including this developer guideassets/
: Game assets such as images, sounds, and fontsCMakeLists.txt
: Root CMake configuration fileLICENSE
: MIT License file.github/
: GitHub-specific files, including workflows
Source Code (src/
)
client/
: Client-side game codesrc/
: Client source filesGame/
: Game logic and componentsGame.*
: Game logicScenes.*
: Game scenes and transitionsEntityFactory.*
: Factory for creating game entitiesSystems.*
: Game systems for updating entitiesMap.*
: Game map and tile initialization
events/
: Event handling and managementmain.cpp
: Entry point for the client application
Documentation (docs/
)
docusaurus/
: Docusaurus configuration and contentdocs/
: Markdown files for documentationClient/
: Client-specific documentation
Build and Configuration
CMakeLists.txt
: CMake configuration files (root and in subdirectories).gitignore
: Git ignore file
Assets
assets/
: Game assetsFonts/
: Font filesBackground/
: Background imagesObstacles/
: Obstacle spritesmusic/
: Game music files
This structure allows for easy navigation and maintenance of the project, separating client, server, and editor code while sharing common components and utilities.