After the “historic” merge the other week, one might have expected to see SFML 2.6 being released within a week or two, but that’s not what happened so far, so lets have a look.
SFML 2.6 Updates
Thanks to the CMake SFML Project Template, we should see quite a few people actively using the
2.6.x branch, but whether anyone has switched to using scancodes is still an open question. We want to give people a bit more time to try and test the scancodes implementation, but looking at past releases, it’s probably more realistic, that issues will only be found after the release.
Beyond that, the GitHub Project still shows one bug and a related PR open, I’m confident we can merge this in the next few days.
feature/prep_next_release, which I had created quite a while back, to write changelogs before the usually more stressful release phase, has been updated again, to include all but the already mentioned bug.
If anyone wants to chip in, on getting the release out of the door, you can take a look at the full Release Checklist and see if there’s maybe something, you’re interested in helping with. One thing that would be highly appreciated, is to go over the existing tutorials and checking, if they could be improved or newer features introduced.
SFML 3.0 Updates
In parallel, the work on SFML 3 continues. Just two highlights from all the changes:
- Massive speed improvement in the CI by using Ninja instead of Makefiles (#2381)
std::string_viewwhere approriate (#2373 & #2386)
There have also been some bigger discussions, both on GitHub as well as on Discord:
- [Rejected] Supporting text formatting (e.g. toString) (#2128)
std::shared_ptrfor resources in SFML (#2385)
- How to proper handle endianness for data to/on/from the network (#2290, #2380)
With Discord has a primary hub for quite a few maintainers and contributors, we usually don’t see the full extend of a discussion on the GitHub tickets themselves. Having people in chat is quite neat, because you can move ahead a discussion much quicker and you tend to get more viewpoints, as people often don’t want to go through the effort and post a GitHub response. Unfortunately, it’s nearly impossible to make those exchanges accessible for everyone, especially search engines.
SFML Games & Projects
Here is a collection of SFML Games and other Projects that I came across in the last two weeks, usually either on Discord’s #showcase channel, on the SFML project sub-forum or on Twitter.
I Can Transform / is::Engine
First of we got to mention I Can Transform and IsDaouda’s is::Engine. They’ve been regularly posting updates for the game as well as the engine, and have received, from my perspective, relatively little attention. While the game engine started out as an SFML-based engine, it somewhere along the way turned into an SDL engine, but is still compatible with SFML syntax. This means IsDaouda wrote SFML adapters for SDL, so you can write SFML code, while actually using SDL. That’s quite a bit of work, but also muddies a bit the term of what counts as an “SFML” engine. The game I Can Transform runs not only on the all three major OSs, but also on Android, and in your browser. It’s quite fun to play and features many different levels. See the latest update post, highlighting the toughest mini boss in the game.
Wandering Soul V2
Due to technical difficulties (i.e. unable to compile the fragment shader on my system), I didn’t get to try out the game for myself, but it seems to be something between a platformer and bullet hell game. It’s a remake of Wandering Soul made for a 48h game jam and looks quite beautiful with lots of particle effects. A new release was publish a few days ago.
As the name SFML Collection implies, this is not a single game or project, but provides access to a collection of projects, and is open to include other SFML creations as well. Currently you got a simple Snake implementation, a Mandelbrot Set (though that crashed on my system), and some basic shape and effects rendering. It’s a cool little project, so if you have any small SFML demo, you don’t know where to put , maybe consider contributing it to this project.
OURABIG has published a SFML Platformer Engine. Truthfully, “engine” might be a bit of a stretch here, but it’s a cute little fella that can jump on platforms. I hope, they expand this a bit further in the near future.
Of course ImGui-SFML isn’t a new project, but it got some updates this week, mainly keeping it and making it compatible with both SFML 2.x and SFML 3. For those who don’t know, Dear ImGui is an immediate mode GUI, which has taken the world by storm, especially the game industry. Thus, it was only a question of time, until someone wrote an integration with SFML and so ImGui-SFML was born.
For the regular reader, this shouldn’t be a surprise, as I’ve written about it last week. I’ve created a first integration of whisper.cpp with SFML. Right now, it can load an audio clip of spoken words via SFML, transcribes it and renders it to a window and all that offline, without the use of some external service. Unfortunately, I haven’t gotten further to actually have near real-time translation from spoken words, but I’m certain, I’ll return to this some time soon.
Just before the publishing of this post, there’s been a new PR to simplify
sf::Clock, there’s always new, exciting stuff going on in the realm of SFML.
Read the next issue of SFML News