Simple and Fast Multimedia Library explained
|
Simple and Fast Multimedia Library |
Logo Caption: | SFML logo |
Author: | Laurent Gomila, and others |
Developer: | SFML Team |
Latest Release Version: | 2.6.1 |
Programming Language: | C++ |
Operating System: | Linux, macOS, Windows, FreeBSD |
Genre: | API |
License: | zlib License[1] [2] |
Logo Alt: | SFML logo |
Simple and Fast Multimedia Library (SFML) is a cross-platform software development library designed to provide a simple application programming interface (API) to various multimedia components in computers. It is written in C++ with bindings available for Ada, C, Crystal, D, Euphoria, Go, Java, Julia, .NET, Nim, OCaml, Python, Ruby, and Rust.[3] Experimental mobile ports were made available for Android and iOS with the release of SFML 2.2.[4]
SFML handles creating and input to windows, and creating and managing OpenGL contexts. It also provides a graphics module for simple hardware acceleration of 2D computer graphics which includes text rendering using FreeType, an audio module that uses OpenAL and a networking module for basic Transmission Control Protocol (TCP) and User Datagram Protocol (UDP) communication.
SFML is free and open-source software provided under the terms of the zlib/png license. It is available on Linux, macOS, Windows and FreeBSD.[5] [6] The first version v1.0 was released on 9 August 2007, and the latest version v2.6.1 was released on 4 November 2023.[7]
Software architecture
Modules
SFML consists of various modules:
While the graphics module is one of the main features of SFML, developers who are interested in only creating an environment to program directly in OpenGL can do so by using the Window module on its own without the graphics module. Similarly, the other modules can also be used independently of each other, except for the System module which is used by all of the modules.
Language bindings
SFML is written in C++ and provides a C++ interface (it also provides a C interface through the official CSFML binding). Several language bindings exist that enable using SFML in other programming languages.[3]
This table lists supported bindings for SFML .
1 Official bindings
Unofficial add-ons
SFML provides the basic functions on which higher-level software can be built. Add-on libraries exist that provide added support for graphical user interfaces (GUIs),[8] [9] 2D lighting,[10] particle systems and animation,[11] video playback[12] and tilemaps.[13]
Reception and adoption
SFML is primarily used by hobbyist game developers, small independent video game developers, and startup companies consisting of several developers at most. Because SFML does not require writing large amounts of code, it has also been adopted by many Ludum Dare participants.[14] Compared to older libraries such as Simple DirectMedia Layer (SDL) and Allegro, the SFML user base is relatively small but growing., its GitHub software repository has been starred by 8,774 users.[15]
SFML has been used in teaching at universities and in scientific projects.[16] [17] [18] [19] [20] [21]
Video game use examples
- Atom Zombie Smasher,[22] real-time strategy game.
- Away Team,[23] Simulation Interactive Fiction game.
- Chesster,[24] puzzle game.
- Cosmoscroll,[25] free open-source space-based shoot 'em up game.
- Crea,[26] moddable 2D sandbox game.
- Enchanted Forest[27]
- Extreme Tux Racer,[28] free open-source arctic racing game featuring Tux (using SFML since version 0.7).
- HolySpirit,[29] 3D isometric hack and slash game.
- Hope,[30] point and click adventure game (like Myst).
- I Can Transform,[31] 2D platform game for Android.
- KeeperRL,[32] dungeon simulator with rogue-like and RPG elements.
- Kroniax,[33] minimalistic side-scroller, and the first SFML game for Android.
- Limit Theory,[34] infinite, procedural space game.
- M.A.R.S.,[35] multiplayer shoot 'em up game.
- Moonman,[36] pixel art exploration sandbox game.
- Open Hexagon,[37] free open-source Super Hexagon clone.
- Ovid The Owl,[38] puzzle platform game.
- Pioneers,[39] turn based exploration game with some RPG elements.
- Postmortem: one must die,[40] narrative adventure game.
- Project Black Sun,[41] retro 2D side-scrolling video game.
- TacWars,[42] a puzzle RPG that pits Dwarves against Goblins.
- The Duke,[43] action platform game.
- The Shooting of Isaac,[44] vertical shooter game.
- Vagante,[45] action RPG platform game.
- Zloxx,[46] 2D action platformer.
Further examples of games using SFML are listed on IndieDB.[47]
Other software use
See also
Further reading
- Jan Haller, Henrik Vogelius Hansson, Artur Moreira: SFML Game Development, Packt Publishing,
- http://www.lifehacker.com.au/2013/02/xna-is-dead-3-alternatives-that-let-you-use-your-c-and-net-skills/
- https://www.binpress.com/tutorial/creating-a-city-building-game-with-sfml/137
- http://www.gamefromscratch.com/page/Game-From-Scratch-CPP-Edition-The-Introduction.aspx
External links
Notes and References
- Web site: License .
- Web site: GitHub - SFML/SFML: Simple and Fast Multimedia Library.. GitHub. 14 December 2021.
- Web site: Bindings (SFML / Download). SFML. 13 November 2014.
- Web site: Changelog (SFML / Development). 18 December 2014.
- Web site: SFML 2.1 (SFML / Download). Gomila. Laurent. SFML. 9 August 2014.
- Web site: SFML/Config.cmake at f24ca9a84012531cf886f72354c1f88341dd7ac7 · SFML/SFML. GitHub. 13 November 2014.
- Web site: Release SFML 2.6.1 · SFML/SFML . 2023-12-23 . GitHub . en.
- Web site: SFGUI. SFGUI. 13 November 2014.
- Web site: TGUI. TGUI. 13 November 2014.
- Web site: hovatterz/light. GitHub. 13 November 2014.
- Web site: Bromeon :: Thor. Jan Haller. 13 November 2014.
- Web site: sfeMovie. sfeMovie. 13 November 2014.
- Web site: Tiled SFML Map Loader SourceForge.net. SourceForge. 13 November 2014.
- Web site: sfml Ludum Dare. Ludum Dare. 13 November 2014.
- Web site: SFML/SFML. 10 May 2018. GitHub. 10 May 2018.
- Web site: SFML Setup. University of Mary Washington. 13 November 2014.
- Web site: Rensselaer Center for Open Source Software. Rensselaer Polytechnic Institute. 13 November 2014.
- Web site: CSCI 261 - Programming Concepts. Colorado School of Mines. 13 November 2014.
- Web site: COMPSCI 464: Computer Graphics. Boise State University. 13 November 2014.
- Web site: Engaging Computing Group Comp4spr14 / PS5b. University of Massachusetts Lowell. 13 November 2014.
- Web site: Tianyu Cheng's Homepage. University of Texas at Austin. 13 November 2014.
- Web site: Atom Zombie Tech « Blendo news. Chung. Brendon. 20 August 2011. Blendo Games. 9 August 2014.
- Web site: The Away Team - Sci-fi Interactive Fiction. 7 July 2016. 1 April 2020.
- Web site: Chesster [SFML Puzzle Game]]. 18 October 2011. 13 November 2014.
- Web site: cosmoscroll - SFML-based shoot'em up game. - Github. GitHub. 19 July 2015.
- Web site: Development Update - Lighting and Saving Siege Games. 3 April 2012. Siege Games. 13 November 2014.
- Web site: Pirate's Treasure & Enchanted Forest. 13 November 2014.
- Web site: NEWS for Extreme Tux Racer. 27 August 2017. 12 September 2017. Revision 698.
- Web site: HolySpirit Windows game Desura. 13 November 2014. Desura. 19 July 2015.
- Web site: FAQ - Hope Dev Blog. 11 August 2015. 2015-08-11.
- Web site: I Can Transform. 9 November 2018.
- Web site: miki151/keeperrl. GitHub. 11 January 2015.
- Web site: Kroniax available in the Play Store!. 15 November 2014.
- Web site: Limit Theory Forums • View topic - SFML::Texturing. 13 November 2014.
- Web site: M.A.R.S. - a ridiculous shooter - M.A.R.S. 0.7.2 Bugfix Release. 26 April 2011. M.A.R.S.. 13 November 2014.
- Web site: SFML 2.0 BP I make video games.. Ben Porter. 13 November 2014.
- Web site: Open Hexagon - challenging fast paced game. 13 November 2014.
- Web site: LZR Ovid the Owl. Leeran Z. Raphaely. 13 November 2014.
- Web site: Eigen's development notes. Eigen Lenk. 13 November 2014.
- Web site: Tools and resources for making an indie game Koobazaur's Domain. Jakub Kasztalski. 13 November 2014. 2013-04-20.
- Web site: Version 1.0.2 is available of PC and Linux news - Project Black Sun Game - Indie DB. 20 December 2011. Indie DB. 13 November 2014.
- Web site: TacWars puzzle RPG home page.. Facebook.
- Web site: The Duke. 8 June 2009. 13 November 2014.
- Web site: Philippe Offermann » The Shooting Of Isaac. Philippe Offerman. 13 November 2014.
- Web site: Vagante Tools of the Trade. 3 December 2013. Vagante Game. 13 November 2014. dead. https://web.archive.org/web/20141113110420/http://vagantegame.com/post/68863742692/tools-of-the-trade. 13 November 2014.
- Web site: Zloxx II - An action Jump'n'Run. 15 November 2014.
- http://www.indiedb.com/engines/sfml/games sfml/games
- Web site: Download Aquila - a C++ library for digital signal processing. Zbigniew Siciarz. 13 November 2014.
- Web site: Otter - A 2D C# Framework built on SFML 2. Kyle Pulver. 13 November 2014.
- Web site: Florian Rival's personal website. Florian Rival. 14 November 2014.
- Web site: Good news for ImmersionEngine. Facebook. 12 February 2015.
- Web site: is::Engine - 2D C++ game engine for Android and PC. Is Daouda. 19 February 2020.