Welcome to a new tutorial series on using SFML 2.x. This series is going to be in two parts, the first will look at how you use the various systems that make up SFML. The second will look at how to use all of these systems together to create a simple game. Every single part of this tutorial will be available as both a text tutorial and a in video form as well. If you are interested, GameFromScratch has an earlier tutorial series covering SFML 1.6 that was more focused on teaching C++.
SFML Fundamentals Tutorial Series
A Closer Look at SFML
No idea what SFML is or what it can do for you? Start here, this is a combination of review and getting started guide to using SFML. If you are going to follow this tutorial however, you can probably skip this as we will eventually cover all of this material anyways. If you are undecided, this should help you decide.
Part One – Configuring Visual Studio
This tutorial covers the process of setting up an SFML project using Visual C++ 2013. The process will be very similar for all versions of Visual Studio.
Part Two – Windows, Game Loop and Timers
This tutorial explores the beating heart of an SFML application. It covers how to create a window and process events. Also some bonus coverage on using a timer.
Part Three – Handling Keyboard Input and Random Numbers
This tutorial shows how to respond to keyboard input, both event driven and polled. It also covers random number generation.
Part Four – Basic Graphics
This tutorial illustrates how to draw graphics, in this case procedurally generated, on a frame by frame basis.
Part Five – Sprites and Textures
Building on the previous tutorial, we now show how to load a texture from file and display it on screen as a sprite.
Part Six – Spritesheets and Animation
This tutorial looks at using a spritesheet to store multiple frames on animation in a single image. We then create a simple animation.
Part Seven – Music and Time
This tutorial shows how to play music in your game. We also explore the use of the Time class, specifically to fast forward and rewind our song during playback.