Advertisement · 728 × 90

Posts by

I made a mistake in my original benchmarks: the Docker image I used had internal GCC assertions enabled.

I re-measured everything on a proper build, and times are ~50% faster across the board. The article has been updated with the correct data.

I apologize for the confusion.

1 month ago 1 0 0 0
Preview
the hidden compile-time cost of C++26 reflection Article/tutorial on http://vittorioromeo.com

Fast iteration is the key to developer happiness. 🚀

I took a very early look at C++26 Reflection in GCC 16 to see if it would ruin my "fast compile" workflow.

Here are my findings!
vittorioromeo.com/index/blog/r...

#cpp #gamedev #programming

1 month ago 3 0 0 1
🤯 Tetris + Vampire Surivors + Megabonk? Pt. 2 #gamedev #devlog #tetris #vampiresurvivors #megabonk
🤯 Tetris + Vampire Surivors + Megabonk? Pt. 2 #gamedev #devlog #tetris #vampiresurvivors #megabonk YouTube video by Vittorio Romeo

What if... I combined #tetris and #vampiresurvivors?

www.youtube.com/watch?v=Tb6d...

#gamedev #cpp #sfml

5 months ago 5 1 0 0
Video

Ever need a profiler but don't want the hassle of a heavy framework?

I wrote about a simple, hierarchical #ImGui profiler I created for my projects. It's thread-local, has minimal overhead, and only ~500 lines of C++.

Check it out! 👇
vittorioromeo.com/index/blog/s...

#cpp #gamedev

6 months ago 14 2 0 0
Video

I was incredibly fed-up with #powerpoint not supporting proportional text drag-resizing. So after searching hours for workarounds and solutions... I just implemented it myself 😎

#presentation #addin #office #microsoft #slides

7 months ago 0 0 0 0

If you're curious about how Boost.PFR works, this blog article explains the basics:

akrzemi1.wordpress.com/2020/10/01/r...

It's clever but not too crazy! I definitely see potential uses for it

7 months ago 20 4 2 1

Yup, another cool thing that is relatively easy to do is automatically set up VBOs and vertex attributes for instanced drawing by reflecting over a struct.

7 months ago 1 0 0 0
Post image

I have created a self-contained version of my #cppcon 2025 keynote demo using @raysan5.bsky.social's excellent #raylib.

The only requirement is CMake, all dependencies are automatically fetched.

➡️ github.com/vittoriorome...

Enjoy! 🚀

#cpp #indiedev #performance #cplusplus #performance

7 months ago 7 0 0 0
Advertisement
More Speed & Simplicity: Practical Data-Oriented Design in C++ - Vittorio Romeo - CppCon 2025
More Speed & Simplicity: Practical Data-Oriented Design in C++ - Vittorio Romeo - CppCon 2025 YouTube video by CppCon

My CppCon 2025 keynote is now available on YouTube -- eager to hear what you think! 🚀

www.youtube.com/watch?v=SzjJ...

#cpp #cplusplus #gamedev #performance #sfml

7 months ago 11 2 0 0

Thanks for sharing -- it uses Boost.PFR under the hood so it's a similar approach. I did search for "imgui reflection" and similar terms but nothing came up :)

7 months ago 0 0 0 0
Post image

I'm very excited about C++26 reflection. However, people underestimate what you can achieve *today*!

Inspired by Barry Revzin's awesome "Practical Reflection" talk at @cppcon.bsky.social I wrote automatic Dear #imgui generation for structs, including labels! (via Boost.PFR)

#cpp #gamedev

7 months ago 37 12 2 1
Post image

Reflection in C++26...? Who needs that!

With some good old C++17 metaprogramming, you can get type-safe, refactor-proof Struct-of-Arrays transformations today😎

gcc.godbolt.org/z/sd7f4Mjx8

#cpp #gamedev #performance #HPC

7 months ago 8 4 0 0
Preview
Vittorio Romeo - C++ Training, Mentoring, and Consulting Elevate your C++ skills with expert guidance from Vittorio Romeo, offering tailored training and mentoring solutions.

This topic is very dear to me. I hope to inspire writing simpler and more efficient code, leveraging Modern C++'s benefits and avoiding its pitfalls.

P.S. I offer private consultations/mentoring on this topic and more -- check out: romeo.training

8 months ago 0 0 0 0
2025 Keynote, Vittorio Romeo: “More Speed & Simplicity: Practical Data-Oriented Design in C++” | CppCon

🤔 What if writing faster C++ code actually meant writing *simpler* code?

I'm incredibly excited to share that I will be giving my first-ever keynote at @cppcon.bsky.social 2025:

➡️ “More Speed & Simplicity: Practical Data-Oriented Design in C++”
cppcon.org/2025-keynote...

#cpp #gamedev #cplusplus

8 months ago 7 2 1 0
Post image

POV: You combine C++23's "deducing this" and C++17's CTAD to implement a vector iterator that propagates constness with no repetition (DRY).

Can you spot the mistake? Every LLM seems to be fine with the code!

#cpp #cplusplus #gamedev #coding

10 months ago 7 1 0 0
Advertisement
Preview
You probably don't need a DI framework When working with Go in an industrial context, I feel like dependency injection (DI) often gets a bad rep because of DI frameworks. But DI as a technique is quite useful. It just tends to get explaine...

Unfortunately it's a #golang article but it's very valid for #cpp as well. KISS!

rednafi.com/go/di_framew...

10 months ago 0 0 0 0
Preview
how to break or continue from a lambda loop? Article/tutorial on http://vittorioromeo.com

Is it possible to write a simple iteration API that hides implementation details *and* lets users `break` and `continue`? 🤔

Here's a new article about a lightweight solution using a `ControlFlow` enumeration!

➡️ vittorioromeo.com/index/blog/c... ⬅️

#cpp #gamedev #cplusplus

11 months ago 1 1 0 0
Preview
SDL3: OpenGL Borderless Window Becomes Exclusive Fullscreen on `SDL_GL_SwapWindow` (Windows 11) · Issue #12791 · libsdl-org/SDL Creating a borderless OpenGL window (SDL_WINDOW_OPENGL | SDL_WINDOW_BORDERLESS) at the native display resolution on Windows 11 results in the window unexpectedly switching to an exclusive fullscree...

What is the proper way of ensuring non-exclusive borderless fullscreen on Windows + OpenGL?

Using windowed + borderless flags in SDL still results in exclusive fullscreen:
github.com/libsdl-org/S...

How do most games implement this sanely?

#cpp #gamedev #sdl #sdl3

11 months ago 7 2 0 0
Preview
Global Game Jam Jammer Spotlight: Vittorio Romeo | Global Game Jam Turning cats and bubbles into a Steam game!

globalgamejam.org/news/global-...

So happy for my friend @vittorioromeo.bsky.social representing our hometown in the global game jam with his cute, little game store.steampowered.com/app/3499760/...

#gamedev #gamejam #globalgamejam

11 months ago 9 3 0 0
Preview
Weird behavior involving context switching, FBOs, and `glGetIntegerv` - driver bug? I’ve managed to minimize a incredibly weird bug in one of my programs. Basically: Create OpenGL contexts A and B Activate context B and bind GL_FRAMEBUFFER 0 Activate context A and create a texture...

Any #opengl wizard interested in helping me demystifying an incredibly weird bug where an innocuous `glGetIntegerv` call causes an unrelated assertion failure? 🤨

forums.developer.nvidia.com/t/weird-beha...

#gamedev #cpp

11 months ago 2 1 0 0
Preview
Vittorio Romeo - C++ Training, Mentoring, and Consulting Elevate your C++ skills with expert guidance from Vittorio Romeo, offering tailored training and mentoring solutions.

Exciting news! 📢

I'm now offering bespoke C++ training, mentoring & consulting: romeo.training

While current availability is limited (weekends/off-hours), I'm keen to connect with potential clients for future projects as my schedule evolves.

RTs appreciated! #cpp

11 months ago 1 0 0 0
Preview
Display origin of template instantiations by vittorioromeo · Pull Request #105 · aras-p/ClangBuildAnalyzer Addresses #93. Could be improved in the future, but it's already quite useful. Example output: **** Templates that took longest to instantiate: 602 ms: std::vformat_to<std::__format::_Sin...

As part of my battle against long #cpp compilation times, I've opened a (work-in-progress) PR for Aras Pranckevičius's excellent ClangBuildAnalyzer to add an approximate origin of expensive template instantiations:

github.com/aras-p/Clang...

1 year ago 0 0 0 0

Thanks! It draws inspiration from:
- Cookie Clicker's addictive progression
- Stardew Valley's laid-back vibes
- Strategic elements reminiscent of Bloons TD
- A hint of Factorio's automation

It's a bit of a mix! But it works 😊

You can try it out here:
store.steampowered.com/app/3499760/...

1 year ago 1 0 0 0
Video

Released a major update today, adding #speedrun mode to my #indie game BubbleByte! 🫧🐱

store.steampowered.com/news/app/349...

Powered by Modern #cpp, #sfml, #sdl, and #imgui. Fully #OpenSource!

#clicker #gameart #gamedev #idle #incremental #indiedev #indiegame #screenshotsaturday #towerdefense

1 year ago 23 6 2 0
Preview
free performance: autobatching in my SFML fork Article/tutorial on http://vittorioromeo.com

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 #indiegame #indiedev

1 year ago 9 2 0 0
Advertisement

The game my girlfriend and I made is going to be played live on stream for the first time -- hope it goes well!🤞

#screenshotsaturday #cpp #gamedev #idle #incremental #indiedev #indiegame #sfml #towerdefense #twitch

1 year ago 10 6 0 0
Post image

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

1 year ago 11 5 0 0

Hey Stephen, it's been a while! Are you still interested in a possible collaboration -- would genuinely love to help make SS2VR a reality!

1 year ago 0 0 0 0
Preview
BubbleByte - BubbleByte 🫧🐱 | v1.5.0 - Steam News Prestige scaling rework, autocast, and accessibility improvements!

BubbleByte v1.5.0 Patch Notes:
store.steampowered.com/news/app/349...

1 year ago 0 0 0 0
Video

Today I released the first major update for BubbleByte, reworking prestige scaling and adding a new autocast option for the Wizardcat!

(Pictured: the Wizardcat stops time 🧙)

#screenshotsaturday #cpp #gamedev #idle #incremental #indiedev #indiegame #sfml #towerdefense @sfml.bsky.social

1 year ago 10 5 1 0