Welcome, Guest. Please login or register. Did you miss your activation email?

Author Topic: SFML's strong points?  (Read 3500 times)

0 Members and 1 Guest are viewing this topic.

XtremePrime

  • Newbie
  • *
  • Posts: 5
  • Just a lonely programmer
    • View Profile
    • ShadowzGames
SFML's strong points?
« on: November 05, 2014, 03:29:31 pm »
Hey everyone!

The title of this topic might be a bit misleading, but I want to ask:
What are the strong points of SFML and what makes it so special?

This is not for personal use (I already use SFML 2.1 and love it :3), but instead, I choose my topic to be SFML for a 7 minute presentation in my English class for college, but I have no idea what to write about SFML and what to focus on ;~;

Can anyone give me some tips on my issue?

Thanks!  :)

Nexus

  • SFML Team
  • Hero Member
  • *****
  • Posts: 6287
  • Thor Developer
    • View Profile
    • Bromeon
Re: SFML's strong points?
« Reply #1 on: November 05, 2014, 03:34:41 pm »
I already use SFML 2.1 and love it :3
You should ask yourself why you love it ;)
What would you say spontaneously?

For me, there are several reasons I can post later, but let's not distort your opinion :)
« Last Edit: November 05, 2014, 03:36:29 pm by Nexus »
Zloxx II: action platformer
Thor Library: particle systems, animations, dot products, ...
SFML Game Development:

ChronicRat

  • Sr. Member
  • ****
  • Posts: 327
  • C++ programmer
    • View Profile
    • My blog
Re: SFML's strong points?
« Reply #2 on: November 05, 2014, 04:50:10 pm »
It is simple, fast and multimedia. =)

Ztormi

  • Jr. Member
  • **
  • Posts: 71
  • Web developer by day. Game developer by night.
    • View Profile
Re: SFML's strong points?
« Reply #3 on: November 06, 2014, 11:36:28 am »
Coming from .NET world, SFML has absolutely superior performance compared to other C# graphics libraries I've used (not counting OpenTK ofc).

Glocke

  • Sr. Member
  • ****
  • Posts: 289
  • Hobby Dev/GameDev
    • View Profile
Re: SFML's strong points?
« Reply #4 on: November 06, 2014, 02:26:32 pm »
What are the strong points of SFML and what makes it so special?

In my opinion the main pro arguments are:
  • It's open source.
  • It supports multiple platforms.
  • Modular and flexible: You can use SFML for networking ontop of a Gtk application - or use SFML for window creation and input handling but perform rendering directly via OpenGL. You are free to do what you want without unnecessary framework overhead
  • It's fast! Compared with (older) SDL releases, where rotating an image was done via CPU, SFML is based on OpenGL. This allows fast 2D graphics operations. Well, SDL 2.x introduced a new API using OpenGL .. but SDL isn't the topic you've chosen :) On top of this fast graphics operations and other stuff like audio, networking etc., SFML is (in my opinion) a very thin layer which produces just very little overhead. All those "oh it's using object orientated stuff - so it produces overhead"-arguments are nearly invalid because of optimization done by modern compilers. So it IS fast - but speed is always relative to the point of view. For the major target application types, SFML is fast enough.
  • Tons of utilities: Just to mention sf::Vector, sf::Time, sf::Color and so on. Just great!
  • Well, C++ is very common. But SFML also offers a nice set of language bindings for other common languages.

But you should also mention con's:
  • Limited to 2D graphics (at least 3D is possible but not covered by SFML)
  • No built-in animation handling system (there's no need, it depends too much on the target application; but see below)
  • No resource caching (again: up to the target app; but there's a solution)
  • Limited math (but there's a way, see below)
  • Texture sizes are limited to the hardware (also: see below)[/i]
Some of these "issues" (well, actual they aren't issues, just a set of what-sfml-does-not 's) there are several libraries based on SFML. Just to mention: http://www.bromeon.ch/libraries/thor/ (in case of C++)

All in all: SFML is an allrounder to base your multimedia app / game on. Of course it's no all-in-one solution - but a great one-size-fits-all referring to reduce abstraction causes by lower abstraction levels. So it's a great base to work with!

Kind regards
« Last Edit: November 06, 2014, 02:34:04 pm by Glocke »
Current project: Racod's Lair - Rogue-inspired Coop Action RPG