Welcome to Orion, an intergalactic journey where you take control of your own starship in the vastness of space! Embark on an epic adventure through a procedurally generated universe, where danger and discovery await at every corner.
Orion is my first substantial hobbyist game project, crafted in C++ as a vessel for learning and experimentation. This 2D space shooter is a result of my journey into the realms of programming.
- Programming Language: C++
- Graphics and Rendering: SFML (Simple and Fast Multimedia Library)
- Build System: CMake
- Entity-Component System: EnTT
- Linker: LLD
- Additional Libraries:
Orion is currently in the prototype phase, far from a full-fledged alpha version. The project primarily serves as a tool for honing programming skills in C++. I am currently focused on implementing fundamental game mechanics, testing different approaches, and learning from the process. It is still an experimental stage, where the main goal is to acquire knowledge and experience in the game development journey. Further project development will be shaped by gaining new skills and incorporating more advanced gameplay elements.
Note: Orion is currently developed and tested on the Windows platform. Compatibility with other operating systems is not guaranteed at this experimental stage.
To compile the Orion project on your machine, follow these straightforward steps:
Ensure the following tools are installed on your machine:
- CMake version 3.10 or higher
- C++23 compatible compiler
- LLVM Linker (lld)
- SFML version 2.6
- Boost version 1.84.0 or later
- Git
Clone the Orion project repository using the following command:
git clone https://github.com/alekskoloch/Orion.git
Move to the Orion project directory:
cd Orion
Create a "build" folder and navigate to it:
mkdir build
cd build
Run CMake in the "build" folder to configure the project:
cmake ..
Compile the project using the compilation tool available on your operating system.
cmake --build . --config Release --target main -j
After successful compilation, run the project executable:
./main
basic spaceship movement mechanics
fight against enemies
various weapons and special shots
various enemies
Start or continue your journey. Adjust settings to customize your gaming experience. Fine-tune the resolution, frame rate limits, and window mode to your preferences.
Progress through a skill tree by gaining experience points from defeating enemies. Upon leveling up, receive skill points to allocate into various abilities. Some skills may require special stones obtained from defeated enemies.
Keep track of your journey with a detailed quest journal. Monitor tasks, quest stages, and waypoints on the minimap to guide you through the procedurally generated universe.
Utilize the quick selection menu to choose items of interest. As the inventory system is implemented, players will be able to customize this menu based on their preferences.
Monsters of the same type team up in formations when close. Get ready for coordinated attacks that evolve over time, bringing a dynamic gameplay experience in future updates.
In the upcoming update, attention is directed towards enhancing the overall gameplay experience. Here's what you can expect:
A comprehensive tutorial will be added to help new players understand the game mechanics better.
Players will be able to spend their in-game currency at newly introduced buildings such as shops or workshops.
An inventory system will be added, enabling players to efficiently manage their equipment.
Emphasis is placed on refining the implementation of shields to ensure a fair and balanced gameplay experience. Adjustments will be made to enhance overall game balance.
There are issues with overlapping sound effects that are currently being addressed.
Your feedback and contributions play a vital role in shaping the future of Orion. Whether it's suggesting new features, reporting bugs, or providing general feedback, your participation is highly valued. Let's work together to make Orion the best it can be!