Main features

  • Portable
    SFML compiles on standard platforms like Windows (98, 2000, XP, Vista) and Unix systems (Linux, Mac OS X). As the library grows up, support for more operating systems will be added.
  • Object-oriented
    SFML is written in C++ and provides an efficient, object-oriented design. It relies on standard patterns and idioms to provide a simple and robust framework.
  • Easy to use
    SFML aims at being easy to manipulate. Effort is put on internal code to provide the simplest public interface.
  • Flexible
    Instead of being one big API, SFML rather contains a lot of small packages, that can be chosen and combined according to the intended usage. You can use only the base package to get input and windowing, as well as the full graphics package with sprites and post-effects.
  • Easily integrable
    SFML can be used in one or more windows, and/or can be integrated in existing interface components. Integration with existing graphical user interface (GUI) libraries is easy, so that you can add SFML views into complex interfaces built with Qt, wxWidgets, MFC or whatever.

Languages

  • C++
  • C
  • .Net (C#, VB.Net, C++/CLI, ...)
  • Python
  • D
  • Ruby

System

  • Portable and accurate time measurement
  • Simple and object oriented threads and mutexes
  • Unicode module for proper conversions between UTF and locale-dependant encodings

Window

  • Can be used as a minimal, portable package to replace GLUT or SDL for windowing and input with OpenGL
  • Can create several rendering windows
  • Can be integrated into components of existing Qt / MFC / wxWidgets / Win32 / X11 / ... interfaces
  • Provides both a message-based and a real-time interface for handling input
  • Can handle mouses with up to 5 buttons
  • Can handle four joysticks with up to 7 axes and 32 buttons

Graphics

  • Interfaces very easily with OpenGL (see OpenGL samples)
  • Modern effects available and hardware-accelerated : alpha-blending, rotations, shaders, ...
  • Manages memory efficiently, so that you don't have to worry about resources lifetime or storage ; you can even load your graphical resources before any window is created
  • Can load and save standard image formats : bmp, dds, jpg, png, tga, psd
  • Can load all graphics resources directly from files in memory
  • Can use views like in a 3D scene, to zoom / translate / rotate the whole world
  • Uses a simplified shader language for adding real-time post-effects
  • Easy manipulation of graphical text through bitmap fonts
  • Supports unicode characters
  • Can load standard font file formats : ttf, cff, pcf, fnt, bdf, pfr, sfnt, type 1, type 42

Audio

  • Uses hardware acceleration whenever possible
  • Can load and save standard sound formats : ogg, wav, flac, aiff, au, raw, paf, svx, nist, voc, ircam, w64, mat4, mat5 pvf, htk, sds, avr, sd2, caf, wve, mpc2k, rf64
  • Can load all audio resources directly from files in memory
  • 3D sound spacialization
  • Easy interface for capturing audio
  • Manages memory efficiently, so that you don't have to worry about resources lifetime or storage
  • Supports streaming for big files ; you can even write your custom streaming class for any source (network, ...)
  • Supports multi-channels formats (mono, stereo, 4.0, 5.1, 6.1, 7.1)

Network

  • Implements a portable layer over TCP and UDP sockets
  • Easy data transfers through stream-based extensible packets
  • Classes to use the HTTP and FTP internet protocols
  • View media
  • View media
  • View media
  • View media
  • View media
  • View media
Post article RSS Articles

Options Menu

It was quite the journey! A boring one to watch, I'm sure...
After a lot of research and redesigning, I've finished the basic options screen. Most of the work was in the unbuilt systems I was creating settings for. I did not have systems in place for music, sound, brightness, and window settings. So in parallel to the options screen, I was also creating these systems from scratch.
I've learned more about shaders (as you can see in the gif) and solved a lot of resolution problems, which taught me much.
I even implemented a "reset to default" button to restore the music, sound and brightness settings.
Now that this is finally out of the way, I can focus more on actual game content. I want to start creating the game rules and more mechanics. Also some new object and entities are in scope,
In short, some more exiting stuff is coming up! Keep posted!

Devlog #008: Let there be music!

Devlog #008: Let there be music!

News

I'm proud to present you a snippet of one of the official Rocket Shipment tracks!

Devlog #007: Resolutions

Devlog #007: Resolutions

News

It's a hell of a job, but I think I finally got the resolution settings working.

Devlog #006: XOR-encryption and how it works

Devlog #006: XOR-encryption and how it works

News

I always thought encryption was a beast of complexity, but XOR-encryption is not so bad. Read about my latest developments and learn about XOR-encryption...

Devlog #005: Options options options

Devlog #005: Options options options

News

Constructing UI and and Options menu is no easy task. Especially when making everything from scratch... Here's my progress!

Add game Games
Re:creation

Re:creation

Adventure

Re:creation is an action adventure game where you play as an undead knight. You can kill enemies and then control them with your ghost to use their abilities...

The Away Team

The Away Team

Adventure

You are the AI aboard a ship filled with the last known humans in the galaxy. You have the duty of making sure they survive long enough to get them to...

Adventures of Setren

Adventures of Setren

Turn Based Strategy

“Adventures of Setren” is a game set in medieval fantasy. What makes it different is that it doesn’t focus on graphics because games don’t need...

MinimalShmup

MinimalShmup

Arcade

"You like bullets ? Here, there's a lot of them!" MinimalShmup is a bullet hell shooter on Windows and Linux, with Gamepad support, highscores saving...

New colony

New colony

Turn Based Strategy

You are landed on the planet in order to collect the "Resource". The absence of an atmosphere and strong cosmic radiation significantly complicate this...

Medical Division

Medical Division

Realistic Sim

Medical Division puts you in charge of managing an hospital all by yourself putting your management and construction skills to the test! Build your hospital...

Cuit

Cuit

Educational

Cuit is a binary challenge for your mind. You are given a circuit. Navigate the current through it, avoid all explosives and power the targets. Sounds...

Gemstone Keeper

Gemstone Keeper

Roguelike

Gemstone Keeper is a 2D topdown dungeon crawler where you explore caves and caverns, defending yourself against the creatures that reside and go as deep...

Keyboard Killer

Keyboard Killer

Rhythm

Hi! =) Welcome to the Universe which has letters, portals and some... evil =) "Keyboard Killer" is a unique training acting game which can improve your...

Punch Punch Kill

Punch Punch Kill

Fighting

Punch Punch Kill (work in progress name) is a devlog-only game under development by 8-Bit Empire. It is a local PvP brawler, with upcoming limb-by-limb...

Comments
MagnusJoker
MagnusJoker

SFML the best engine to develop games for desktop.

Reply Good karma Bad karma+3 votes
marek.zelinka
marek.zelinka

Creator`s of this site could add Library Used or anything like that to the Profile of game, so that game developers can make credits to the library they are using!

Reply Good karma Bad karma+2 votes
marek.zelinka
marek.zelinka

SFML is not an ENGINE!!!
SFML is a free multimedia C++ API that provides you low and high level access to graphics, input, audio, etc... !!!

Reply Good karma Bad karma+7 votes
Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.

Follow Report Profile
Platforms
Windows, Mac, Linux
Company
SFML Developers
Contact
Send Message
Homepage
Sfml-dev.org
Licence
Zlib
Release date
Engine watch
Follow
Share
Embed Buttons
Link to SFML by selecting a button and using the embed code provided more...
SFML
Statistics
Rank
92 of 949
Last Update
Watchers
25 members
Games
59
Files
61
Articles
77
You may also like
X-Ray Engine
X-Ray Engine Commercial
Unreal Engine 1
Unreal Engine 1 Commercial
Xash3D Engine
Xash3D Engine GPL
GoldSource
GoldSource Commercial
Unity
Unity Commercial
GameMaker Studio
GameMaker Studio Commercial