SFML Development Updates
The last two weeks felt a bit slower than usual in the SFML development space, but this might have been, because I was quite busy. However, this doesn’t mean that nothing happened, on the contrary!
We got a cool new feature, allowing you to set a window icon from an
sf::Image, which seems kind of obvious, but I guess it was never fully considered in the past, because this specialization can only be done for the
sf::RenderWindow and not the
sf::WindowBase, because the last two live in the sfml-window module and can’t have a dependency to
sf::Image, which resides in the sfml-graphics module. Now, setting a window icon is easier than ever!
There was a small improvement mostly for the build times, by reducing some of the header dependencies. And we finally fixed some wrong
On Discord we had quite a few discussions regarding game controller support. The current situation on Windows is rather unsatisfying, since neither XInput nor DirectInput really cover all the needs and each have their own limitations. More recently, Microsoft released a new GameInput API, which is backwards compatible up to and including Windows 7. Join the discussion, if you have any experience or input (no pun intended) on that topic.
The lid on the can of worms regarding Legacy OpenGL and Modular Rendering Backends has been opened slightly, and has yielded some interesting discussions, which I have yet to go through in more details.
Oh, and of course can’t forget, that the Stencil Testing and Scissor Testing PRs have been updated and rebased. Looks like we might finally be able to close the #1 issue on GitHub. 😄
SFML Games & Projects
New Showcase Channel Format
No, this is not a game or project, but I thought it’s worth mentioning, that we introduced a forum-style showcase channel on the SFML Discord server, which enforces thread posting and has a neat gallery view.
Even though the channel was quickly filled with a bunch of new-old projects, I won’t be going over all of them, as my time is limited. If you want to check them all out, you can just visit the new channel. 😉
RVWP – Ruben’s Virtual World Project
RVWP has been in development for quite a few years now, and as such has a lot going for it. There’s a hero and an architect mode, Lua scripting, level generation, special lighting system, behavior tree NPCs, etc. Unfortunately, I couldn’t run the pre-build binaries and the local build failed with some vcpkg dependencies, so I wasn’t yet able to give it a go. Maybe you’re more lucky (or don’t use Windows)!
If you have ever worked with Box2D, you know how valuable it can be, to have some simple debug drawing, that represents the location and dimensions of the “physical” objects, especially when they somehow fail to align with you custom game renderings.
b2DrawSFML provides a simple implementation for the b2Draw class, which can used as debug draw or serve as a base for further expansions, or could just be a used as fun playground.
I find it quite hard to describe 9001, it’s a 2D stick figure fighting game with different ways to attack and it looks quite pretty. Maybe a video will help, even though the YouTube compression doesn’t do the game justice. Looks quite neat and hope we can see some updates in the near future, maybe even a complete Steam release! 😉
The term “boid” comes from “bird-oid object” and generally refers to a simulation of flocking behavior as found with birds. I always have to think of the Smarter Every Day video when I think of Boids.
This Boids Program isn’t exactly new, but it got an update to steer away from window edges and it’s running on the SFML 3.
Tiny Dungeon is a cute, turn-based dungeon crawler. Use your abilities wisely, otherwise you may not survive! Most (or all?) of the characters have two different abilities, so you really have to make sure to attack the right enemies or protect yourself from their attacks in the right moments. It’s easy to pick up and fun to play, you can even change the color of the knight.
(As the tileset felt kind of familiar, I did a reverse image search and found the tilesets by 0x72 and matuszewski7 on itch.io)
Chain Reaction – Out Now!
Chain Reaction, the Android shooter by Zombieschannel as mentioned in the last SFML News, has been fully released and can be downloaded from Google Play. I’ve only played it a couple of minutes, but I can see the potentially, once you get used to the controls. Unlike, what I previously wrote, this is not a bullet hell game, because you’re limited to three (which can go up with upgrades during the game) bullets with a cool down. The fun mechanic behind the game is very much related to the game’s title, as one bullet can lead to a chain reaction of takedowns. This however needs skill to position a good shot, while not being consumed by enemies or floating planets. There’s a shared highscore, I’m not on it, but can you make it? It’s free, to go grab it!
Currently, when you build the test suite, the tests are automatically executed. This can take quite a bit of time, if you just want to incrementally build SFML again and it also opens up some window, for some of the tests. As such a change is required to separate the test execution, which has caused some issues with the code coverage detection. See the most recently updated pull request.
One thought on “SFML News – Week 8 & 9 (2023)”