Title: SFML Blueprints
Author: Maxime Barbier
Published: February 2015
Publishers summary: Sharpen your game development skills and improve your C++ and SFML knowledge with five exciting projects
- Master game components and their interaction by creating a hands-on multiplayer game
- Customize your game by adding sounds, animations, physics, and a nice user interface to create a unique game
- A project-based book starting with simpler projects and moving into increasingly complex projects to make you proficient in game development
I am currently working on a range of beginner C++ tutorials and a corresponding set of beginner level SFML tutorials so I was itching to get my hands on a copy of this book because the contents list promised so much.
Who should read this book
Chapter 1 is very brief and tells the reader there development options as well as how to compile the sfml libraries yourself should you wish to do so.
Generally speaking the book makes no attempt to tell the reader how to put together a working project from the code that is discussed. So it is not suitable for a C++ beginner. Even a determined beginner would struggle to get a working project out of the source files for even the earlier chapters.
So I would like to mention early on in this review that SFML Blueprints is for intermediate/experienced C++ coders only but if you are such a coder then you potentially have allot to gain from this book especially if you are new to SFML itself or have any doubts about how the different parts of a typical SFML game might go together.
What will you get from it exactly
The download bundle is full of all the resources you will need throughout the book. This is not always the case and is most welcome. Note that if you purchase from Amazon or anywhere other than the publishers site you will need to register to get the download bundle.
The variety and quantity of ‘blueprints’ is impressive. For example in just one chapter an Asteroids clone and a Tetris clone is built. They are both playable. If you ever wondered how certain aspects of these games work many of the answers are here.
The Asteroids game uses radius overlap collision detection which for this type of game was a shame, but with two games in a single chapter it was to be expected I suppose.
The explanation of how these games work was really simple and accessible which kind of makes it a shame that the C++ was out of reach of the beginner coder. How you handle the neat way that a game object flies off one side of the screen and reappears smoothly on the other(Asteroids) and how all those different shaped blocks lock so neatly together (Tetris) could have been a perfect beginner chapter as well.
Here is the finished Asteroids game in action. Quite impressive for such a brief amount of reading.
I have read just about every SFML book there is and what I liked about this one was that as well as good coverage of the structure of an SFML game it also had, not deep, but decent coverage of Box2d to build a hello world app as well as enhance the Tetris game from the previous chapter.
Realt-time 3d physics makes a little bit of a joke of Tetris but is still playable, a nice twist and great good demo of how easy it can be when instructed correctly, to use Box2d with SFML.
SFML Blueprints continues to show two different ways of creating a GUI for your game, one complete from scratch and the other using a library that already exists–Simple and Fast Graphical User Interface (SFGUI)
The last two chapters put everything you learn together to make a real time, tower defence multi-player game. Seriously, all those things in two chapters! Maxime Barbier certainly provides value for money with SFML Blueprints and I recommend it thoroughly to intermediate or better c++ coders who want to get a wide range of ideas and examples before they make their first game with SFML.
I can’t help but make a comparison with another SFML title, SFML Game Development I found the SFML Game Development a bit more convincing regarding how I should be putting my games together however SFML Blueprints trumps by a mile when it comes to sheer variety of projects and the fun to be had creating and even playing the projects. You take your pick which is right for you or combine them for the best of both worlds. Neither is better than the other but they cater better depending on what you are looking for.
Either way SFML Blueprints is definitely recommended.