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

Header capsule


Game development is such a weird field of work. Especially when doing it solo, you have to apply (or learn) so many different skillsets.
Next to the programming there is art and music involved, marketing, planning, social media, architecture, game design, testing, community management, you name it.

I embarked on a huge journey when starting to make this game in August 2018. My goal was to make something completely from scratch in a language I had not mastered yet. No usage of fancy existing game engines, just pure C++ code and a few libraries.
Was it worth it? Definitely! Even though it will probably not be a huge financial success, I have learned so much that will help me with future projects and the support I got was amazing.
Some of the key points I learned were:
- Learn how, where and when to market (I actually wrote a small article about that here)
- Be open to harsh feedback, it's usually the most valuable
- If you can, pay for things you are not skilled in or do not enjoy. It saves you time and results in better quality stuff than you could have made.
- Take breaks when you need them, and remind yourself of your goals
- Don't expect your first project to be financially successful. Instead expect it to be a stepping stone in the experience of game development.
- Create the smallest acceptable version of your game first, and build out afterwards.

I have pushed the release button this morning and loved it. I can't wait to see what happens, and what everyone will think of it!

That's it for my little snippet of game development.
Be sure to check the game out if you'd like! Here's a link!
If you do actually decide to play it, please consider leaving a Steam review. It helps insanely with getting more eyes on the game!

Release date has been set!

Release date has been set!

News

The date is set and the rocket is ready! Rocket Shipment will be launching into Early Access on January 15 2021! With only a few weeks to go, I'm super...

Devlog #028: Preparing for the Steam Game Festival

Devlog #028: Preparing for the Steam Game Festival

News

Yes! The 7th of October the official demo will be released on Steam! Read all about the latest developments here!

Pre-alpha demo release!

Pre-alpha demo release!

News

It's a pre-alpha demo, so there's still heavy development going on, still you should come play! Read here where you can get your copy!

Devlog #013:Flags, Errors and Crate detection

Devlog #013:Flags, Errors and Crate detection

News

The last month I've made a lot of progress. Read all about it!

Add game Games
Jin Conception

Jin Conception

Role Playing

Jin Conception is a social deduction fantasy thriller turn based JRPG. Eight playable characters stories intertwine when three characters enter Final...

Christmas Rhythm

Christmas Rhythm

Rhythm

This is a Chiptune Rhythm game for Christmas aficionados everywhere! Six merry songs with two difficulty settings. The easy mode has you controlling Rudolph...

Halloween Rhythm

Halloween Rhythm

Rhythm

This is a Chiptune Rhythm game for Halloween aficionados everywhere! Six spooky songs with two difficulty settings. The easy mode has you controlling...

Free Rhythm Game

Free Rhythm Game

Rhythm

You must hit the notes at the right time. Three songs that will test your reflexes.

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

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

Your comment will be anonymous unless you join the community. Or sign in with your social account:

X