AppVeyor UbuntuBuild WindowsBuild GitHub license GitHub tag
Gamedev Framework (gf) is a framework to build 2D games in C++17. It is based on SDL and OpenGL ES 2.0, and presents an API that is very similar to the graphics module of SFML with additional features. It is not a game engine, it is more something like a framework, similar to libGDX in the Java world.
Gamedev Framework (gf) is licensed under the terms and conditions of the zlib/libpng license.
#include <gf/Event.h> #include <gf/Font.h> #include <gf/RenderWindow.h> #include <gf/Sprite.h> #include <gf/Text.h> #include <gf/Window.h> int main() { // Create the main window and the renderer gf::Window window("Example", { 640, 480 }); gf::RenderWindow renderer(window); // Load a sprite to display gf::Texture texture("sprite.png"); gf::Sprite sprite(texture); sprite.setPosition({ 300, 200 }); // Create a graphical text to display gf::Font font("DroidSans.ttf"); gf::Text text("Hello gf!", font, 50); text.setPosition({ 100, 100 }); renderer.clear(gf::Color::White); // Start the game loop while (window.isOpen()) { // Process events gf::Event event; while (window.pollEvent(event)) { switch (event.type) { case gf::EventType::Closed: window.close(); break; default: break; } } // Draw the entities renderer.clear(); renderer.draw(sprite); renderer.draw(text); renderer.display(); } return 0; }
See the online documentation for Gamedev Framework (gf).
If you want to talk directly with the developpers, you can
- chat on the Discord server of gf
- post a message on /r/GamedevFramework.
Gamedev Framework (gf) is very open to contributions. See the contribution guidelines.
You have to install the following dependencies:
- SDL2 >= 2.0.8 (zlib/libpng license)
- Boost String Algorithms >= 1.65 (Boost license)
- Boost Heap >= 1.65 (Boost license)
- Freetype >= 2.9.1 (FreeType license)
- zlib >= 1.2.11 (zlib/libpng license)
- pugixml >= 1.8.1 (MIT licence)
- CMake >= 3.10.2
See the documentation for more information on how to build and install gf.
These screenshots are from games included in the repository.
- LGTM: Language grade: C/C++
- CodeFactor: CodeFactor
- Codacy: Codacy Badge