La biblioteca multimedia simple y rápida ( SFML ) es una biblioteca de desarrollo de software multiplataforma diseñada para proporcionar una interfaz de programación de aplicaciones (API) simple para varios componentes multimedia en computadoras. Está escrito en C ++ con enlaces disponibles para Ada , C , Crystal , D , Euphoria , Go , Java , Julia , .NET , Nim , OCaml , Python , Ruby yÓxido . [3] Los puertos móviles experimentales se pusieron a disposición para Android e iOS con el lanzamiento de SFML 2.2. [4]
Autor (es) original (es) | Laurent Gomila y otros |
---|---|
Desarrollador (es) | Equipo SFML |
Versión inicial | 9 de agosto de 2007 |
Lanzamiento estable | 2.5.1 / 15 de octubre de 2018 |
Repositorio | |
Escrito en | C ++ |
Sistema operativo | Linux , macOS , Windows , FreeBSD |
Tipo | API |
Licencia | Licencia zlib [1] [2] |
Sitio web | www |
SFML maneja la creación y entrada de datos en ventanas , y la creación y administración de contextos OpenGL . También proporciona un módulo de gráficos para la aceleración de hardware simple de gráficos de computadora 2D que incluye la representación de texto usando FreeType , un módulo de audio que usa OpenAL y un módulo de red para la comunicación básica del Protocolo de control de transmisión (TCP) y el Protocolo de datagramas de usuario (UDP).
SFML es un software gratuito y de código abierto proporcionado bajo los términos de la licencia zlib / png . Está disponible en Linux , macOS , Windows y FreeBSD . [5] [6] La primera versión v1.0 se lanzó el 9 de agosto de 2007, la última versión v2.5.1 se lanzó el 15 de octubre de 2018.
Arquitectura de software
Módulos
SFML consta de varios módulos:
- Sistema: clases de cadenas vectoriales y Unicode , subprocesos portátiles y funciones de temporizador
- Ventana: administración de dispositivos de entrada y ventanas , incluida la compatibilidad con joysticks , administración de contexto OpenGL
- Gráficos: aceleración por hardware de gráficos 2D, incluidos sprites , polígonos y renderizado de texto.
- Audio: reproducción y grabación de audio espacializada acelerada por hardware
- Red: enchufes de red TCP y UDP , instalaciones de encapsulación de datos, clases HTTP y FTP
Si bien el módulo de gráficos es una de las características principales de SFML, los desarrolladores que solo estén interesados en crear un entorno para programar directamente en OpenGL pueden hacerlo utilizando el módulo de Windows por sí solo sin el módulo de gráficos. Del mismo modo, los otros módulos también se pueden utilizar de forma independiente entre sí, a excepción del módulo del sistema que es utilizado por todos los módulos.
Enlaces de idioma
SFML está escrito en C ++ y proporciona una interfaz C ++. Existen varios enlaces de lenguaje que permiten usar SFML en otros lenguajes de programación. [3]
Esta tabla enumera los enlaces admitidos para SFML a partir de 2017[actualizar].
Nombre | Idioma | Versión compatible |
---|---|---|
CSFML 1 | C | 2.5 |
SFML.Net 1 | .NETO | 2.5 |
CrSFML | Cristal | 2.5 |
AbandonadoSFML2 | D | 2.4 |
DSFML | D | 2.1 |
EuSFML2 | Euforia | 2.4 |
csfml-fpc | Pascal libre | 2.4.0 |
GoSFML2 | Ir | 2.0 |
Pirateo | Haskell | 2.3.2 |
JSFML | Java | 2.2 |
CSFML.jl | Julia | 2.5.1 |
nim-csfml | Nim | 2.3 |
Ocsfml | OCaml | 2.3 |
OCaml-SFML | OCaml | 2.0 |
PasSFML | Pascal | 2.4 |
pySFML | Pitón | 2.3.2 |
rbSFML | Rubí | 2.3.2 |
óxido-sfml | Oxido | 2.4 |
1 Fijaciones oficiales
Complementos no oficiales
SFML proporciona las funciones básicas sobre las que se puede construir software de nivel superior . Existen bibliotecas complementarias que brindan soporte adicional para interfaces gráficas de usuario (GUI), [7] [8] iluminación 2D , [9] sistemas de partículas y animación , [10] reproducción de video [11] y mapas de mosaicos . [12]
Recepción y adopción
SFML es utilizado principalmente por desarrolladores de juegos aficionados, pequeños desarrolladores independientes de videojuegos y empresas de nueva creación que constan de varios desarrolladores como máximo. Debido a que SFML no requiere escribir grandes cantidades de código, también ha sido adoptado por muchos participantes de Ludum Dare . [13] En comparación con las bibliotecas más antiguas, como Simple DirectMedia Layer (SDL) y Allegro , la base de usuarios de SFML es relativamente pequeña pero está creciendo. A 8 de febrero de 2021[actualizar], su repositorio de software GitHub ha sido destacado por 6549 usuarios. [14]
SFML se ha utilizado en la docencia en universidades y en proyectos científicos. [15] [16] [17] [18] [19] [20]
Ejemplos de uso de videojuegos
- Atom Zombie Smasher , [21] juego de estrategia en tiempo real .
- Equipo visitante , [22] Juego de simulación interactiva de ficción .
- Ajedrez , [23] juego de rompecabezas .
- Cosmoscroll , [24] juegogratuito de disparos en el espacio de código abierto.
- Crea , [25] juego sandbox 2D modificable.
- Bosque encantado [26]
- Extreme Tux Racer , [27] juego gratuito de carreras árticas de código abierto con Tux (usando SFML desde la versión 0.7).
- HolySpirit , [28] Juego de hack and slash isométrico en 3D.
- Hope , [29] apuntar y hacer clic en el juego de aventuras (como Myst ).
- I Can Transform , [30] Juego de plataformas 2D para Android.
- KeeperRL , [31] simulador de mazmorras con elementos de RPG y de pícaro.
- Kroniax , [32] desplazamiento lateral minimalista y el primer juego SFML para Android.
- Limit Theory , [33] infinito, juego de espacio procedimental .
- MARS , [34] juego de disparos multijugador.
- Moonman , [35] juego de sandbox de exploración de pixel art.
- Open Hexagon , [36] clongratuito de código abierto Super Hexagon .
- Ovid The Owl , [37] rompecabezas de plataformas .
- Pioneros , [38] su vez basado en juego de exploración con algunos elementos de RPG.
- Tesoro de piratas [26]
- Post mortem: hay que morir , [39] juego narrativo de aventuras .
- Project Black Sun , [40] videojuego retro 2D de desplazamiento lateral .
- TacWars , [41] un juego de rol de rompecabezas que enfrenta a Enanos contra Goblins.
- The Duke , [42] juego de acción y plataformas.
- The Shooting of Isaac , [43] juego de disparos verticales.
- Vagante , [44] juego de plataformas RPG de acción.
- Zloxx , [45] Plataformas de acción en 2D.
En IndieDB se enumeran más ejemplos de juegos que utilizan SFML . [46]
Otro uso de software
- Aquila , [47] biblioteca de procesamiento de señales digitales (DSP) decódigo abiertopara C ++.
- Otter , [48] unmarco2D C # construido sobre SFML 2.
- GDevelop , [49] software de creación de juegos de código abierto.
- Immersion Engine , [50] herramienta para visualizar paisajes y arquitectura detallados.
- es :: Engine , [51] motor de juegos 2D C ++ para Android y PC.
Ver también
- Alegro
- ClanLib
- CreateJS
- Middleware de soporte multiplataforma
- GLFW
- OpenGL
- Kit de herramientas de la utilidad OpenGL (GLUT)
- Raylib
- Capa de DirectMedia simple (SDL)
Referencias
- ^ "Licencia" .
- ^ "GitHub - SFML / SFML: Biblioteca multimedia simple y rápida" .
- ^ a b "Enlaces (SFML / Descargar)" . SFML . Consultado el 13 de noviembre de 2014 . CS1 maint: parámetro desalentado ( enlace )
- ^ "Registro de cambios (SFML / Desarrollo)" . Consultado el 18 de diciembre de 2014 . CS1 maint: parámetro desalentado ( enlace )
- ^ Gomila, Laurent. "SFML 2.1 (SFML / Descargar)" . SFML . Consultado el 9 de agosto de 2014 . CS1 maint: parámetro desalentado ( enlace )
- ^ "SFML / Config.cmake en f24ca9a84012531cf886f72354c1f88341dd7ac7 · SFML / SFML" . GitHub . Consultado el 13 de noviembre de 2014 . CS1 maint: parámetro desalentado ( enlace )
- ^ "SFGUI" . SFGUI . Consultado el 13 de noviembre de 2014 . CS1 maint: parámetro desalentado ( enlace )
- ^ "TGUI" . TGUI . Consultado el 13 de noviembre de 2014 . CS1 maint: parámetro desalentado ( enlace )
- ^ "hovatterz / light" . GitHub . Consultado el 13 de noviembre de 2014 . CS1 maint: parámetro desalentado ( enlace )
- ^ "Bromeon :: Thor" . Jan Haller . Consultado el 13 de noviembre de 2014 . CS1 maint: parámetro desalentado ( enlace )
- ^ "sfeMovie" . sfeMovie . Consultado el 13 de noviembre de 2014 . CS1 maint: parámetro desalentado ( enlace )
- ^ "Cargador de mapas SFML en mosaico | SourceForge.net" . SourceForge . Consultado el 13 de noviembre de 2014 . CS1 maint: parámetro desalentado ( enlace )
- ^ "sfml | Ludum Dare" . Ludum Dare . Consultado el 13 de noviembre de 2014 . CS1 maint: parámetro desalentado ( enlace )
- ^ "SFML / SFML" . GitHub . 10 de mayo de 2018 . Consultado el 10 de mayo de 2018 . CS1 maint: parámetro desalentado ( enlace )
- ^ "Configuración de SFML" . Universidad de Mary Washington . Consultado el 13 de noviembre de 2014 . CS1 maint: parámetro desalentado ( enlace )
- ^ "Centro Rensselaer para software de código abierto" . Instituto Politécnico Rensselaer . Consultado el 13 de noviembre de 2014 . CS1 maint: parámetro desalentado ( enlace )
- ^ "CSCI 261 - Conceptos de programación" . Escuela de Minas de Colorado . Consultado el 13 de noviembre de 2014 . CS1 maint: parámetro desalentado ( enlace )
- ^ "COMPSCI 464: Gráficos por computadora" . Universidad Estatal de Boise . Consultado el 13 de noviembre de 2014 . CS1 maint: parámetro desalentado ( enlace )
- ^ "Grupo informático atractivo | Comp4spr14 / PS5b" . Universidad de Massachusetts Lowell . Consultado el 13 de noviembre de 2014 . CS1 maint: parámetro desalentado ( enlace )
- ^ "Página de inicio de Tianyu Cheng" . Universidad de Texas en Austin . Consultado el 13 de noviembre de 2014 . CS1 maint: parámetro desalentado ( enlace )
- ^ Chung, Brendon (20 de agosto de 2011). "Atom Zombie Tech« Noticias de Blendo " . Juegos de Blendo . Consultado el 9 de agosto de 2014 . CS1 maint: parámetro desalentado ( enlace )
- ^ "El equipo visitante - ficción interactiva de ciencia ficción" . 7 de julio de 2016 . Consultado el 1 de abril de 2020 . CS1 maint: parámetro desalentado ( enlace )
- ^ "Chesster [SFML Puzzle Game]" . 18 de octubre de 2011 . Consultado el 13 de noviembre de 2014 . CS1 maint: parámetro desalentado ( enlace )
- ^ "cosmoscroll - juego de disparos basado en SFML. - Github" . GitHub . Consultado el 19 de julio de 2015 . CS1 maint: parámetro desalentado ( enlace )
- ^ "Actualización de desarrollo - Iluminación y ahorro | Juegos de asedio" . Juegos de asedio. 3 de abril de 2012 . Consultado el 13 de noviembre de 2014 . CS1 maint: parámetro desalentado ( enlace )
- ^ a b "Tesoro del pirata y bosque encantado" . Consultado el 13 de noviembre de 2014 . CS1 maint: parámetro desalentado ( enlace )
- ^ "NOTICIAS para Extreme Tux Racer" . Revisión 698.27 de agosto de 2017 . Consultado el 12 de septiembre de 2017 . CS1 maint: parámetro desalentado ( enlace )
- ^ "Juego de Windows HolySpirit | Desura" . Desura . 13 de noviembre de 2014 . Consultado el 19 de julio de 2015 . CS1 maint: parámetro desalentado ( enlace )
- ^ "Preguntas frecuentes - Blog Hope Dev" . 2015-08-11 . Consultado el 11 de agosto de 2015 . CS1 maint: parámetro desalentado ( enlace )
- ^ "Puedo Transformar" . Consultado el 9 de noviembre de 2018 . CS1 maint: parámetro desalentado ( enlace )
- ^ "miki151 / keeperrl" . Consultado el 11 de enero de 2015 . CS1 maint: parámetro desalentado ( enlace )
- ^ "¡Kroniax disponible en Play Store!" . Consultado el 15 de noviembre de 2014 . CS1 maint: parámetro desalentado ( enlace )
- ^ "Foros de teoría de límites • Ver tema - SFML :: Texturizado" . Consultado el 13 de noviembre de 2014 . CS1 maint: parámetro desalentado ( enlace )
- ^ "MARS - un tirador ridículo - Versión de corrección de errores de MARS 0.7.2" . MARTE 26 de abril de 2011 . Consultado el 13 de noviembre de 2014 . CS1 maint: parámetro desalentado ( enlace )
- ^ "SFML 2.0 | BP | Hago videojuegos" . Ben Porter . Consultado el 13 de noviembre de 2014 . CS1 maint: parámetro desalentado ( enlace )
- ^ "Open Hexagon - desafiante juego de ritmo rápido" . Consultado el 13 de noviembre de 2014 . CS1 maint: parámetro desalentado ( enlace )
- ^ "LZR Ovidio el Búho" . Leeran Z. Raphaely . Consultado el 13 de noviembre de 2014 . CS1 maint: parámetro desalentado ( enlace )
- ^ "Notas de desarrollo de Eigen" . Eigen Lenk . Consultado el 13 de noviembre de 2014 . CS1 maint: parámetro desalentado ( enlace )
- ^ "Herramientas y recursos para hacer un juego indie | Dominio de Koobazaur" . Jakub Kasztalski. 2013-04-20 . Consultado el 13 de noviembre de 2014 . CS1 maint: parámetro desalentado ( enlace )
- ^ "La versión 1.0.2 está disponible de noticias para PC y Linux - Project Black Sun Game - Indie DB" . Indie DB . 20 de diciembre de 2011 . Consultado el 13 de noviembre de 2014 . CS1 maint: parámetro desalentado ( enlace )
- ^ "Página de inicio de TacWars puzzle RPG" .
- ^ "El Duque" . 8 de junio de 2009 . Consultado el 13 de noviembre de 2014 . CS1 maint: parámetro desalentado ( enlace )
- ^ "Philippe Offermann» El disparo de Isaac " . Philippe Offerman . Consultado el 13 de noviembre de 2014 . CS1 maint: parámetro desalentado ( enlace )
- ^ "Vagante | Herramientas del oficio" . Juego Vagante. 3 de diciembre de 2013. Archivado desde el original el 13 de noviembre de 2014 . Consultado el 13 de noviembre de 2014 . CS1 maint: parámetro desalentado ( enlace )
- ^ "Zloxx II - Una acción Jump'n'Run" . Consultado el 15 de noviembre de 2014 . CS1 maint: parámetro desalentado ( enlace )
- ^ sfml / juegos
- ^ "Descargar | Aquila - una biblioteca C ++ para el procesamiento de señales digitales" . Zbigniew Siciarz . Consultado el 13 de noviembre de 2014 . CS1 maint: parámetro desalentado ( enlace )
- ^ "Nutria - Un marco 2D C # construido sobre SFML 2" . Kyle Pulver . Consultado el 13 de noviembre de 2014 . CS1 maint: parámetro desalentado ( enlace )
- ^ "Sitio web personal de Florian Rival" . Florian Rival . Consultado el 14 de noviembre de 2014 . CS1 maint: parámetro desalentado ( enlace )
- ^ "Buenas noticias para ImmersionEngine" . Facebook . Consultado el 12 de febrero de 2015 . CS1 maint: parámetro desalentado ( enlace )
- ^ "is :: Engine - Motor de juego 2D C ++ para Android y PC" . Es Daouda . Consultado el 19 de febrero de 2020 . CS1 maint: parámetro desalentado ( enlace )
Otras lecturas
- Jan Haller, Henrik Vogelius Hansson, Artur Moreira: Desarrollo de juegos SFML , Packt Publishing, ISBN 1-849696-84-5
- 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
enlaces externos
- Página web oficial
- Biblioteca multimedia simple y rápida en GitHub
- Tutoriales de SFML