


SFML has traditionally been for desktop operating systems only, which I believe hindered it’s adoption to a degree. It should be made clear SFML is not and never will be a 3D library, although it can be used in conjunction with 3D libraries and is built over OpenGL. It is actually quite common to use SFML in place of libraries like GLut for handling window creation and input handling in a OpenGL 3D application, ignoring the graphics, audio and networking functionality available. For example, if you wanted to use SFML for gamepad support, you could simply link system and window. Your application or game has to always include the system module as all the other modules depend on it, but all others can be used independently. network TCP and UDP based networking as well as FTP and HTTP implementations.audio audio playback and recording as well as positional audio.graphics 2D graphics, sprites, textures, shapes, etc.window native window handling, as well as input handling (polled and event driven mouse, keyboard, touch and gamepads).system handles system level tasks in a cross platform manner, items such as threading, timers and strings.SFML is composed of several modules, available in static and dynamic forms and compiled in debug or release format. NET bindings are officially supported, the rest are developed or contributed by the community and may be incomplete or lag behind the current release. The full selection of language bindings is available here. There are language bindings available for many other languages including: It uses the cross platform CMake build system enabling you to create project files for your platform and IDE of choice. SFML is written in C++ and the source is hosted in this Github repository. In terms of scope and functionality it is very similar to LWJGL, Allegro or SDL. The library itself is very modular in nature and you only use what you need. Instead it provides the base technical building blocks your build your game or game engine on top of, including platform agnostic system classes, input, audio, networking and 2D graphics. SFML itself is not technically a game engine, it contains no concept of a scene graph, there are no tools, no level editor, etc. It’s a cross platform, open source, C++ based collection of libraries handling 2D graphics, input, audio and networking.Īn HD video of this guide is available here or embedded below. SFML stands for Simple and Fast Multimedia Library. The Closer Look At series is a combination of an introduction, overview and getting started tutorial that is designed to help you quickly decide if a game engine/framework/library is right for you. In this Closer Look At we are going to be taking a closer look at the SFML framework.
