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 feed Related Articles

I've spend lots of time drawing stuff in axonometric perspective and giving more volume to stuff.


Here's an old screenshot for comparison:


You may notice that I made a lot of changes in Master's sprite. One big change was making it more 3d by using colors better (I'm still not very good at this, but at least the sprite doesn't look as flat as it did before!)


I was making pickable items and remaking item menus and I decided to make something a bit silly


Right now I'm working on a cutscene system and it's working pretty well. Here's an example of a simple cutscene. Nothing special, but I'm very glad to see the characters come into life. Now I need to draw some animations :D


local cutscene =  {
    {
        type = ActionType.Dialogue,
        entityTag = "MASTER",
        talkTag = "GREETINGS"
    },
    {
        type = ActionType.GoTo,
        entityTag = "MASTER",
        destinationEntityTag = "BUTTON_BRIDGE_MASTER"
    },
    {
        type = ActionType.Event,
        eventType = EventType.TriggerEnteredEvent,
        subjectTag = "TRIGGER_CROSSED_BRIDGE"
    },
    {
        type = ActionType.GoTo,
        entityTag = "MASTER",
        destinationEntityTag = "TRIGGER_GO_TO_HOUSE"
    },
    {
        type = ActionType.Dialogue,
        entityTag = "MASTER",
        talkTag = "COME_IN"
    }
}

It's easy to read and modify which is great. I especially like "Event" action which waits until the particular event is triggered (in this example it's when the player walks across the bridge and collides with invisible trigger)

I was able to do lots of stuff with Cutscene system I've made recently. It's more like "scripted sequence of events", not just for cutscenes. It would take me so long to make the same without it (I previously made short cutscenes with triggers all around the map and different callbacks between entities which was pretty painful).
I'll make cool cutscene soon and I'll be able to show it's full strength. :)

I don't have much time to work on the game now, because of the exams but they'll soon be over and I'll spend lots of time making the game. :)

Re:creation dev log. 2015. The most productive year yet

Re:creation dev log. 2015. The most productive year yet

Re:creation 6 comments

I talk about the stuff I've done in 2015. It has been a great year!

Re:creation dev log. November 2015. Epic refactoring, shadows and more!

Re:creation dev log. November 2015. Epic refactoring, shadows and more!

Re:creation 4 comments

Here's the stuff I did this Novemeber. I've remade lots of stuff in the engine and made the game prettier by adding shadows and other cool stuff

Re:creation dev log. June – October 2015. I’ve made lots of stuff

Re:creation dev log. June – October 2015. I’ve made lots of stuff

Re:creation 10 comments

I describe what I've created in the last 5 months. Lots of stuff!

Initial post

Initial post

Re:creation 2 comments

Initial IndieDB post about the game, development and other resources which you can follow to know more about the game.

Add game Games
Strigiformes

Strigiformes

Platformer

Strigiformes - The fate of the forest rests on the wings of a tiny hero Open world platformer game where you take the role as a small owl on a big mission...

No Man Left Behind

No Man Left Behind

Real Time Tactics

Ilse Ellinger is a paramedic, sent out to help those who have been injured by the enemy. Using her resources she fights a battle against time to save...

Freerider

Freerider

Sport

A Snowboard game where you cand ride randomly generated maps. Select the start point of the mountain and play freeride, race and flag modes.

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

inSynch

inSynch

Arcade

Somewhere between rhythm game and musical instrument, inSynch allows the player to act while being acted upon: follow the score you compose and express...

REPTILOID

REPTILOID

Arcade

REPTILOID is a brutal fast-paced old school top-down shooter. Angry reptiloids are invading Earth. You should stop them from achieving singularity and...

A Goblin's Xmas Tale

A Goblin's Xmas Tale

Arcade

Everyone should get a game for Xmas; therefore "A Goblin's Xmas Tale" is our present to you.

Kroniax

Kroniax

Arcade

Kroniax is a very challenging skill game. The target is to maneuver through a level without touching any walls. There are two gamemodes: Arcade, there...

It Always Ends In Nuclear War

It Always Ends In Nuclear War

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.

Rage (2D Coop Dungeoncrawler)

Rage (2D Coop Dungeoncrawler)

Hack 'n' Slash

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

Post comment 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+6 votes
Post a comment

You are not logged in, your comment will be anonymous unless you join the community. Or sign in with your social account:

Platforms
Windows, Mac, Linux
Company
SFML Developers
Contact
Send Message
Homepage
Sfml-dev.org
Licence
Zlib
Release date
Engine watch
Start tracking
Share
Embed Buttons
Link to SFML by selecting a button and using the embed code provided more...
SFML
Statistics
Rank
74 of 776
Last Update
Watchers
20 members
Games
48
Downloads
51
Articles
55