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
Image RSS Feed Latest Screens
Rounded Soccer Atom Zombie Smasher iCE3
Blog RSS Feed Report abuse Latest News: It Always Ends In Nuclear War 3.21.15

About It Always Ends In Nuclear War with 0 comments by Sub- on Mar 21st, 2015

I consider myself a slow worker, but I am still making some progress on this thing. I spent all of last Saturday and Sunday debugging various errors with the game that had popped up, which is harder to talk about than shiny new features. I mostly worked on fixing issues / crashes due to incorrect syncing of data between the province view screen (pictured below) and the actual game data.


I don't expect this screen to look anything like this when the game is done, but it has to look like something for now and I'm not sure where it'll end up. In any case, I've worked out all the issues and the game is once again solid as a rock in terms of bugs / crashes. I have no one but myself to blame for the issues, though. I'm making my own GUI system for this game and it's a learn as you go process.

I also spent a little bit of time last weekend stress testing units / pathfinding and I'm pretty happy with the results.


That's a few hundred units auto exploring the map. This is subject to change, but I currently envision the game ticking along at a solid rate similar to the Europa Universalis series, so it's pretty important that the time between turns is almost non-existent.

Last night I built another GUI widget for the game -- We now have progress bars! Try to contain your excitement.


It might be a bit hard to see with the embedded screenshot. At the moment I'm using it to countdown time until the next game tick occurs (aka the next 'turn'), as well as to show the progress of things being produced by a province.

The remainder of this weekend I'm going to attempt to actually hook up the province growth algorithm that I have planned. I want the number of births per 1000 people to roughly approximate the rate that populations have grown through history. I'm going to have a rudimentary model of disease and a food/starvation system to keep populations from growing indefinitely. In Civilization, population grows on a stairs sort of system, where it's flat for a long period of time and then it bumps up instantly when you fill up your food bars. I want the population in this to grow in a more linear fashion, until you start developing technologies to eliminate starvation / disease.

Games
It Always Ends In Nuclear War

It Always Ends In Nuclear War It Always Ends In Nuclear War

Updated 6 days ago TBD Single Player 4X

It Always Ends In Nuclear War is a 4x game about history, allowing you to guide a people from the dawn of civilization into modern times.

Ghost Hunters - A Bearded Adventure

Ghost Hunters - A Bearded Adventure Ghost Hunters - A Bearded Adventure

Updated 1 month ago Released Feb 10, 2015 Single, Multiplayer & Co-Op Arcade

Ghost Hunters - A Bearded Adventure is inspired by games from the late 80s to early 90s. It is a fast paced 2d action game filled with ghastly enemies...

Rickety Racquet

Rickety Racquet Rickety Racquet

Updated 2 months ago TBD Single Player Arcade

Rickety Racquet is a tricky game of skill where the player has to control teeters to slap a ball through the level in order to hit required targets.

(this is a) META game

(this is a) META game (this is a) META game

Updated 2 months ago Released Jan 10, 2015 Single Player Arcade

Games are made of rules. Every other game makes you follow its rules. In this game, finding rules is the game. Based on a essential but fun arena shooter...

Keyraoke

Keyraoke Keyraoke

Updated 3 months ago Released Aug 18, 2014 Single Player Educational

Keyraoke is the free game in which you have to type the lyrics of the song in the moment they are sung.

Post comment Comments
MagnusJoker
MagnusJoker Mar 22 2013, 5:53am says:

SFML the best engine to develop games for desktop.

+3 votes     reply to comment
marek.zelinka
marek.zelinka Aug 16 2012, 2:14am says:

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!

+2 votes     reply to comment
marek.zelinka
marek.zelinka Aug 16 2012, 2:06am says:

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... !!!

+5 votes     reply to comment
Post a Comment
click to sign in

You are not logged in, your comment will be anonymous unless you join the community today (totally free - or sign in with your social account on the right) which we encourage all contributors to do.

2000 characters limit; HTML formatting and smileys are not supported - text only

Platforms
Windows, Mac, Linux
Company
SFML Developers
Contact
Send Message
Official Page
Sfml-dev.org
Licence
Zlib
Release Date
TBD
Engine Watch
Track this engine
Share
Embed Buttons

Promote SFML on your homepage or blog by selecting a button and using the embed code provided (more).

SFML
SFML
Statistics
Rank
80 of 696
Last Update
1 month ago
Watchers
17 members
Games
41
News
48