Gamedev Framework (gf) is a framework to build 2D games in C++14. 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;
if (!texture.loadFromFile("sprite.png")) {
return EXIT_FAILURE;
}
gf::Sprite sprite(texture);
sprite.setPosition({ 300, 200 });
// Create a graphical text to display
gf::Font font;
if (!font.loadFromFile("DroidSans.ttf")) {
return EXIT_FAILURE;
}
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 join the #gf-devel IRC channel on Freenode. Or you can 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.2 (zlib/libpng license)
- Boost Filesystem >= 1.55 (Boost license)
- Boost String Algorithms >= 1.55 (Boost license)
- Boost Heap >= 1.55 (Boost license)
- Freetype >= 2.5.2 (FreeType license)
- zlib >= 1.2.8 (zlib/libpng license)
- CMake >= 3.0.2
See the documentation for more information on how to build and install gf.
These screenshots are from games and tools included in the repository.