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
BattleStar

BattleStar BattleStar

Updated 1 month ago Released Jul 1, 2014 Single Player Arcade

This is my first game I developed in C++ using SFML graphics library. This game is a simple retro style shoot'em'up. I made this game to learn the SFML...

Rage (2D Coop Dungeoncrawler)

Rage (2D Coop Dungeoncrawler) Rage (2D Coop Dungeoncrawler)

Updated 1 month ago TBD Single & Co-op Hack 'n' Slash

GAME UNDER DEVELOPMENT! Rage is attempt to create a hybrid from popular roleplaying genres like rogue-like, dungeon crawler and hack'n'slash. So its main...

Traper Tournament

Traper Tournament Traper Tournament

Updated 1 month ago TBD Single Player Role Playing

A silly tribute to the golden age of JRPGs. A product of massive procrastination. A fun game to play. Join yet another epic journey in order to save the...

Keep Alive

Keep Alive Keep Alive

Updated 1 month ago TBD Single Player Adventure

Keep Alive is a top-down survival game. You need to eat, drink and sleep to survive. In this game there are some mutants, day and night cycle and some...

Maze - Escape

Maze - Escape Maze - Escape

Updated 1 month ago Released Sep 4, 2013 Single Player Adventure

Dare through the creepy corridors of the mazes, but keep your guard up. Scout the aisles carefully looking for the exit and try to collect as many gold...

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
74 of 708
Last Update
1 month ago
Watchers
18 members
Games
43
News
48