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

Author Topic: How viable is SFML for arcade games and metroidvanias  (Read 1896 times)

0 Members and 1 Guest are viewing this topic.

dreamrider

  • Newbie
  • *
  • Posts: 1
    • View Profile
How viable is SFML for arcade games and metroidvanias
« on: December 28, 2023, 06:55:54 am »
Hi Everyone!

I met SFML at the beginning of 2023 but didn't get serious with it, I have to say I had a blast working with it, sadly it isn't as popular as other libraries (wouldn't say it has detractors but rather other libraries have a bigger userbase and of course more fans), my other choice is SDL, basically because of the possibility to compile your project for systems other than windows/linux/mac, the more realistic being for web using emscripten (I don't plan on making games for web, but I still consider it a powerful tool for showcase without having others download anything).

So what do I want to do with these tools, what do I expect?
My end goal is to make a single player metroidvania.
I do have a long list of classic titles I want to "remake" (as learning exercises, but if the project is promising enough I'll definitely do my own version with my own assets), from simple as centipede/space invaders to as complex and even polished as classic arcade beat-em-ups (like Golden Axe, TMNT)...
Not sure if I should mention fighting games too as probably those would be better to do with a commercial game engine but if it's possible why not?

So my question would be, how viable would it be for me to do this with SFML (I'm quite certain SFML is more than enough even for my metroidvania, hell even would make my level editor using SFML! but better get confirmation, still can't understand what other older posts on the same topic mean when they say SFML lacks things other libraries like SDL do have, aside from the shipping part), also I would use a small reality check on my expectations for shipping games (is web really a good target for showcase?).

eXpl0it3r

  • SFML Team
  • Hero Member
  • *****
  • Posts: 11030
    • View Profile
    • development blog
    • Email
Re: How viable is SFML for arcade games and metroidvanias
« Reply #1 on: December 30, 2023, 12:51:01 pm »
Unless you need support for the web or some exotic platform, SFML has been used on Windows, Linux, macOS, iOS, Android and Nintendo Switch.
Currently SDL has better joystick support, mostly thanks to the community run SDL_GameControllerDB. We kind of want to amend this at some point, but if gamepad support is a central point of your games, then you could consider SDL.

For everything else, SFML is perfectly suitable for small to large games.
You can find a lot of SFML games released on Steam in my SFML Steam Games blog post series, and also check out 100+ games on itch.
Official FAQ: https://www.sfml-dev.org/faq.php
Official Discord Server: https://discord.gg/nr4X7Fh
——————————————————————
Dev Blog: https://duerrenberger.dev/blog/

Hapax

  • Hero Member
  • *****
  • Posts: 3379
  • My number of posts is shown in hexadecimal.
    • View Profile
    • Links
Re: How viable is SFML for arcade games and metroidvanias
« Reply #2 on: December 30, 2023, 05:35:17 pm »
Feature-wise, unless you require 3D, SFML is a pretty solid choice for almost anything. You mention "beat-em-ups" and I think SFML is more than capable of helping with those. It's one style I've wanted to try but, not really being much of a fan, never got around to making one.


Currently SDL has better joystick support, mostly thanks to the community run SDL_GameControllerDB. We kind of want to amend this at some point, but if gamepad support is a central point of your games, then you could consider SDL.
I don't think this is really the point you made but I should mention that I made a "helper" for joystick/controller support. It simplifies reduction of axes, allows ease of controller customisation, allows cross-joining of axes to mix two axes for a 2D plane, and also allows calibration (to reduce noise etc.).
It's not finished by any means but could you have a look and let me know what you think about it? (I don't use a controller very often so I don't have the experience with them to know if I'm covering what might be required).
https://github.com/Hapaxia/JoystickController
Selba Ward -SFML drawables
Cheese Map -Drawable Layered Tile Map
Kairos -Timing Library
Grambol
 *Hapaxia Links*