SFML Projects

The SFML library is designed for developing 2d games (and other media) using the C++ programming language. If you want to develop games where you have full control over coding your game engine but don't want to have to re-write your own fundamentals, like Sprites, viewports, multiplayer, spatialized sound, and more, SFML could be for you. If you have the ambition to develop 2D games for any of the desktop platforms, perhaps for Steam, try these beginner SFML game projects.
If you are totally new to game development, then use these beginner C++ tutorials in conjunction with these projects.

Building a simple game engine in C++

In this tutorial project, we will build a fully working and functional but simple C++ game engine. All that the game engine will do is allow the player to control one object moving left and right […]

Coding a simple Pong game with SFML

In this first playable game project we will build a very simple Pong clone. If you don’t know what Pong is then you are much younger than me and you should take a look at its […]

Conditions and branching demo: Bouncing shapes

In this mini-project we will get to use C++ condition checking with some statements. Like the last project we will draw some shapes (slightly different this time) and move them. This time however instead of […]

Game variables demo: moving circles

In this mini-project we will get to experiment with how we can use C++ variables in our games. We will play around with some ┬ávariables and see how they can be used with the SFML […]

Building your first SFML game project

Now that we have a working development environment we can go ahead and configure a project and write some code that actually does something. For the sake of actually seeing SFML in action we will write […]

Setting up Visual Studio and SFML development environment

This is the very first project on the road to building games for desktop operating systems like Windows, Linux and Mac. In these┬áreally simple steps we will walk through the process of installing the software applications […]