This is a 2D survival game in a completely procedurally generated world of Rate-02. The game was developed in C++ with a help of third party libraries such as:
- SDL3
- SDL ttf
- SDL shadercross
- glm
- entt
- imgui
- tinyxml2
I also used my own graphics library for rendering objects.
The goal of the game is to rebuild a broken portal that is always placed in the middle of the map. In order to do it you would need several items. They can be obtained by killing enemies, mining, or crafting. Moreover, there are multiple chests located on the map that you can open. When you open them they will give you a random item based on the essence that you give them. If you decide not to spare any essence the items you will get will be of poorer rarity. Essences are of three different types Common, Sand, and Snow and can be obtained by killing enemies from their biomes. Mummies from the desert to get Sand Essence and so on.
The game does not support gamepad and it only playable by using a keyboard and a mouse.
| Keyboard Key | Action |
|---|---|
| W or Space | Jump |
| A | Move Left |
| D | Move Right |
| Left Mouse Button | Mine blocks or objects |
| Right Mouse Button | Place blocks |
Almost all of the assets where created by me except of the ones listed here:
- player sprites - https://biggermanjd.itch.io/platformer-tileset-pixelart-grasslands
- backgrounds sprites -
https://szadiart.itch.io/sidescroll-worlds-set1
https://szadiart.itch.io/sidescroll-worlds-set4
This game is under MIT LICENSE.
You can view it by following this link.
You can view the licenses of other third part libraries used in this project by following this link
- Install .7z file from Releases according to your OS
- Extract all files in an empty folder
- Run the
SDL_PRO_GENfile
- clone the repository
- configure and build by using CMake
cmake --preset {configure-preset}
cmake --build --preset {build-preset}
You can list all avaiable presets by using this commandcmake --list-presets - then go to
/out/{configure-preset-name}and runSDL_PRO_GEN
If configuring with Visual Studio you might also need to go the directory of the chosen configuration (Debug, Release, or RelWithDebInfo)