#SFML

Bluszcz 🇵🇱 🌱🎥📷🚲👨‍💻➡️🦌bluszcz@pol.social
2025-07-15

Little release 0.9.3 - #windows #build and #AppImage #LinuxGaming - if someone has access to the linux machine and bit of time please do quick test :)

#GameDev #IndieGaming #SFML #Linux #DeerPortal devcarpet.itch.io/deer-portal/

Little release 0.9.3 - #windows #build and #AppImage #LinuxGaming - if someone has access to the linux machine and bit of time please do quick test :) #GameDev #IndieGaming #SFML #Linux devcarpet.itch.io/deer-portal/...

Release 0.9.3 - AppImage

Deer Portal 0.9.2 release - #Windows build is working and playable. #GameDev #SFML #SFML3 #DeerPortal #CPP devcarpet.itch.io/deer-portal/...

Bluszcz 🇵🇱 🌱🎥📷🚲👨‍💻➡️🦌bluszcz@pol.social
2025-07-13

After few years, a new big release of Deer Portal has just arrived - 0.9.1. About news such migration to SFML 3, optimisations and rewritten GitHub actions system you can read here: devcarpet.itch.io/deer-portal/... #DeerPortal #GameDev #SFML #CPP #BoardGame #BoardGames

New release 0.9.1 - Deer God R...

Bluszcz 🇵🇱 🌱🎥📷🚲👨‍💻➡️🦌bluszcz@pol.social
2025-07-13

After few years, a new big release of Deer Portal has just arrived - 0.9.1.

About news such migration to SFML 3, optimisations and rewritten GitHub actions system you can read here: devcarpet.itch.io/deer-portal/

#DeerPortal #GameDev #SFML #CPP #BoardGame #BoardGames @sfml

Befrimon Reminodalbefrimon@mastodon.ml
2025-07-03

SFML, текстуры и пазлы
Проект: #dungeon_archeology

Решил дальше разбираться с UI. На этот раз поработал над текстурами. В SFML есть стандартный класс для отрисовки изображений - Sprite. Но для UI часто используются текстуры, состоящие из "9 кусочков". В ассетах, что я решил использовать для этого проекта, как раз такие используются, поэтому надо как-то их обрабатывать.

Изначально я думал при вызове getTexture из менеджера ресурсов отрисовывать из кусочков то, что мне нужно. Написал и понял, что хорошим данный код точно не назвать, поэтому полез в исходники SFML изучать устройство класса Sprite.

После беглого взгляда на оригинальный код, я создал свой класс SliceSprite, который по функционалу похож на обычный Sprite, но работает с необходимыми мне "кусочками" целой текстуры.
Если кому-то интересен код: github.com/Befrimon/DungeonArc

И вот я получаю удобный класс для работы и два новых метода своего парсера. Думаю, отличный результат для моей ночной практики :)

#gamedev #cpp #sfml

#ifndef SLICE_SPRITE_HPP
#define SLICE_SPRITE_HPP

class SliceSprite final : public sf::Drawable, public sf::Transformable
{
  sf::Texture texture_;
  std::array<sf::VertexArray, 9> slices_;
  sf::Vector2u tile_size_;
  sf::Vector2f size_;

  void updateGeometry();

public:
  SliceSprite() = default;
  SliceSprite(const sf::Texture &texture);
  SliceSprite(const sf::Texture &texture, const sf::Vector2u &tile_size);
  SliceSprite(const sf::Texture &texture, const sf::Vector2u &tile_size, const sf::Vector2f &size);

  void setTexture(const sf::Texture &texture);
  void setTexture(const sf::Texture &texture, const sf::Vector2u &tile_size);
  void setTileSize(const sf::Vector2u &tile_size);
  void setSize(const sf::Vector2f &size);

  sf::FloatRect getGlobalBounds() const;

  void draw(sf::RenderTarget &target, sf::RenderStates states) const override;
};

#endif
Befrimon Reminodalbefrimon@mastodon.ml
2025-07-01

Парсер для SFML: Начало
Проект: #dungeon_archeology

Когда я первый раз писал проект на SFML, я плевался ядом на то, что настройки объектов я не могу вынести в отдельный файл (я тогда после Java приложений на Android это делал, где все в uml'ках хранится).
Ну а сейчас у меня куча времени и чуть больше опыта, поэтому решил написать свой парсер)

Сами конфиги я храню в toml'ах. Пока что прописываю только основные настройки (по типу размера, местоположения т.п.). В самом классе парсера перегружаю статический метод для всех (двух) классов из SFML. Voilà, у меня в классе сцены не будет 100500 строчек в конструкторе, которые описывают интерфейс.
Ну и еще делаю setOrigin по центру (тоже бесячая для меня штука, почему нельзя сделать что-то вроде setOrigin(CENTER) )

Сейчас я прописал только 2 класса (Text и RectangleShape) и для них по 5 настроек, но естессно буду дополнять и, возможно, сделаю отдельную либу, чтобы потом не мучаться)

UPD: картиночка с методом

#gamedev #cpp #sfml

void UIParser::applyConfig(const toml::table& config, sf::Text& object)
{
  object.setFont(ResourceManager::getInstance()->getFont());
  object.setString(TranslationManager::getInstance()->get(config["text_key"].value_or("")));
  object.setCharacterSize(config["font_size"].value_or(10));
  object.setFillColor(sf::Color(
    config["fill_color"]["r"].value_or(0),
    config["fill_color"]["g"].value_or(0),
    config["fill_color"]["b"].value_or(0)));
  const sf::FloatRect bounds = object.getGlobalBounds();
  object.setOrigin(static_cast<sf::Vector2f>(sf::Vector2i(
    static_cast<int>(bounds.width / 2),
    static_cast<int>(bounds.height / 2))));
  object.setPosition(sf::Vector2f(config["position"]["x"].value_or(0.f), config["position"]["y"].value_or(0.f)));
}
Befrimon Reminodalbefrimon@mastodon.ml
2025-06-29

Трогаем Синглтоны в C++
Проект: #dungeon_archeology

Немного нагружу предысторией. Dungheon Archeology - это мой проект за 2 семестр по плюсам. Т.к. я ленивая жепа, то я заговнокодил его за 24 часа. Сейчас же я переписываю его, чтобы это чудо выглядело прилично.
Сама игра написана на C++ с использованием SFML 2.

Решил попробовать такой паттерн, как Singleton (я о нем знал раньше, но особо не использовал). Решил реализовать менеджер сцен. Спрятал в приватную область конструктор с деструктором, а для доступа к классу написал вот такой метод (см картинку)
Ну и дальше обращаюсь к нему через SceneManager::GetInstance()

Люди, которые знают C++, насколько такой способ правильный?? Поделитесь опытом)
Репо для тех, кому интересно: github.com/Befrimon/DungeonArc

#gamedev #cpp #sfml

SceneManager &SceneManager::GetInstance()
{
  static SceneManager instance;
  return instance;
}
2025-06-28

So yeah, I am making a game again. An homage to Magnetic Joe, working title MagRider. Stupid name, yes, does someone have a better suggestion?

Made with C++, #SFML, and #TGUI, target platforms are Windows and Android.

#ScreenshotSaturday #IndieDev #GameDev

Bluszcz 🇵🇱 🌱🎥📷🚲👨‍💻➡️🦌bluszcz@pol.social
2025-06-20
𝚝𝚞𝚝𝚎@𝙼𝚊𝚜𝚝𝚘𝚍𝚘𝚗:~$: _tute_avalos@rebel.ar
2025-06-18

Bueno, esto salió en 1h en el taller de videojuegos que doy por la tarde en UTN-INSPT. Ta lindo, es sencillo, pero ahí está la gracia.

#sfml #cpp #gamedev #simplegames #education

Bluszcz 🇵🇱 🌱🎥📷🚲👨‍💻➡️🦌bluszcz@pol.social
2025-06-05

Did you try #DeerPortal 🦌💎and why don’t you like it?
It is a board game driven by a 🦌 Deer god and classical elements 🔥 💦 💨 🌍

#DeerPortal #GameDev #update #sfml #osx #linux #linuxgaming #freesoftware #FOSS #FreeGame #opensource

Most comments which I received and some reviews which I was reading were clear that nobody had a clue what is happening during the game in the context of the cards. I added a simple overlay text, will replace later with some proper graphic for UI, but for now it explains actions after taking the cards.
github.com/deerportal/deerport @sfml

2025-05-30

Have less time now, but trying now with #cursorai #cursor to upgrade #deerportal to #sfml #sfml3. With claude sonnet 3.5 it failed, same with gemini. Trying now with claude sonet 4, it compiles after 50 tools call.

2025-05-02

So I managed to get a working version of gamepad support on Android in #SFML running, with some trade-offs.

If you want to test it out yourself, here's a working branch: github.com/nerudaj/SFML/tree/f

PR discussion: github.com/SFML/SFML/pull/3497

2025-04-25

We're happy to release a number of bug fixes for #SFML 3! 🥳

Thank you to everyone who reported issues and provided fixes! ❤️

github.com/SFML/SFML/releases/

#cpp #cplusplus

2025-04-09

Here's short #cpp article on a simple yet suprisingly effective implementation of automatic draw batching in my fork of SFML 🚀

vittorioromeo.com/index/blog/v

#sfml #gamedev #opengl #performance @sfmldev #indiegame #indiedev

2025-04-04

I've crippled my left hand with an axe a month ago so I wasn't able to finalize #SteamDeck support of #Rend or write any articles or do any unrelated gamedev whatsoever (don't even ask me on my gaming backlog!), but the hand is getting better now and now I have a working prototype of gamepad support on #Android in #SFML!

Connection, identification, and button presses are working. Now to get analog inputs and disconnection code in place.

2025-03-28

Reviews like this remind me why I pour my heart into #gamedev. Every late night was worth it. 🌙

#screenshotsaturday #indiedev #indiegames #indie #Steam #sfml #sdl #cpp

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst