diff --git a/README.md b/README.md index 252d5a5..7f60605 100644 --- a/README.md +++ b/README.md @@ -5,13 +5,54 @@ GitHub Workflow Status (with event) GitHub Workflow Status (with event) GitHub Workflow Status (with event) - -

This project is quite simple. You push yourself up the ranks of the top players, and I learn the OpenGL API and how to create games without using a pre-built engine. This is a minimalist game/tool for training shooting skills.

+
+
+Gif presenting the game +

A video showing how the game works

+
-## About me and the project -I spent most of my life playing shooters of all kinds. Believe me or not, but what mattered most to me was shooting skills. I am a fan of one-tap (one shot - one frag). Anyone can win a 1 vs 5 clutch, but not everyone can do it by one-tapping the opponent. This cannot be learned without training. That's why this tool was created. +

This project is quite simple. You push yourself up the ranks of the top players, and I learn the OpenGL API and how to create games without using a pre-built engine. This is a minimalist game/tool for training shooting skills.

### Project -- It is developed without using the SFML graphics module (pure OpenGL). SFML is only used to create a window, take inputs or play sounds. Well... and still temporarily SFML graphics module is linked to display ImGui for debugging. This will be changed later. \ No newline at end of file +It is developed without using the SFML graphics module (pure OpenGL). SFML is only used to create a window, take inputs or play sounds. Well... and still temporarily SFML graphics module is linked to display ImGui for debugging. This will be changed later. There are still many things missing to make it a fully-fledged aim trainer. It would need to add a good sensitivity converter from different games. Work on mouse input and so on. + +### Features +* Logo state +* Training mode with static targets +* Training mode with moving targets +* Beautiful rifle (with lerped movement) +* Interactive buttons +* Basic physics. +* Skybox +* Wireframe +* In-Game Sounds +* Collisions & Colliders +* Pause +* ImGui debug menu + + +### Used Libraries +- **SFML** - used for creating a window, playing sound, and capturing keyboard and mouse events. Does not include using the graphical module part responsible for drawing 2D objects. +- **glm** - a mathematical library for graphics software, based on the GLSL specification. +- **stb** - a library designed for easy loading of images. +- **spdlog** - a logging library, useful for outputs like console logging. +- **result** - a lightweight, Rust-style error handling alternative to traditional exceptions. +- **glew** - provides powerful run-time mechanisms for determining which OpenGL extensions are supported on the target platform. +- **minitrace** - used to measure the execution time of code fragments. +- **imgui** - used only for debugging purposes as a development help. +- **ImGui-SFML** - an intermediate library linking SFML with ImGui. + +### Technologies and tools +* **CMake** --- A multi-platform tool that allows to automatically manage of the compilation process. +* **C++20** --- C++ standard to be released in December 2020. +* **MSVC Compiler** --- A compiler developed by Microsoft. +* **CLion** --- JetBrains' multi-platform integrated development environment for C/C++ languages. +* **Clang-Format** --- C++ code formatter to ensure a stylistically consistent code style and format. +* **Git** --- A distributed version control system for tracking code changes. +* **Github** --- A web hosting service that allows hosting development projects using the Git version control system. + + +### The report +You may find the final report [here](readme/final_report.pdf), **but unfortunately it is in Polish**! An English-language version may be prepared one day. \ No newline at end of file diff --git a/readme/demo.gif b/readme/demo.gif new file mode 100644 index 0000000..3b9c242 Binary files /dev/null and b/readme/demo.gif differ diff --git a/readme/final_report.pdf b/readme/final_report.pdf new file mode 100644 index 0000000..51181a2 Binary files /dev/null and b/readme/final_report.pdf differ