A simple framework for getting started writing an RPG using Modern C++ (C++14), SDL2 and tmxparser to load maps made in Tiled.
The design is heavily inspired by LibGDX.
The name comes from saying the letters "RPG" out loud; "Arr Pee Gee".
- An easy entry-point with clearly defined functions to override and implement to make your own cross platform game.
- SXXDL: C++14
unique_ptr
wrappers around common SDL2 structs (e.g.SDL_Surface
,SDL_Window
,SDL_Renderer
) which let you stop having to worry about cleanup. - A SpriteBatch class similar to the one in LibGDX which aims to minimise draw calls for 2D sprites.
- Two renderers for TMX maps; one using pure SDL2
SDL_Renderer
functions, one using pure modern OpenGL (core context). - An SDL2 input manager for the keyboard supported "isPressed" and "isJustPressed" as required.
Clone the repository and navigate to the folder, then:
mkdir build && cd build
cmake ..
make -jN # where N is the number of cores you have
If you don't care about the render tests, you can use cmake -DEXCLUDE_SDL_TEST=TRUE ..
or cmake -DEXCLUDE_GL_TEST=TRUE ..
or both exclusions. By default, both tests are built as well as the libraries.
The library depends on easylogging++ which is included by source. To use the library, you simply need to: #include "easylogging++.h"
in your files. Important: In your file which contains your main function you must include the line INITIALIZE_EASYLOGGINGPP
directly after you include the function.
It's also recommended that you use the function START_EASYLOGGINGPP(argc, argv);
on your first line of your main function.
For more information on easylogging++, visit the GitHub repository.