April 02

On Friday, 28 March 2025 at 22:44:56 UTC, Hipreme wrote:

>

On Thursday, 27 March 2025 at 06:27:19 UTC, Lewis wrote:

>

On Thursday, 6 March 2025 at 15:35:19 UTC, Element Green wrote:

>

On Saturday, 1 March 2025 at 09:04:47 UTC, Lewis wrote:

>

The game should run fairly well in Proton. That said, at the time of writing, some Proton players are seeing a bug where the wall paint flickers quite obnoxiously. I'm actively working on a fix, but if you start playing and encounter this bug too I'd probably advise holding off just until I can get a bugfix out for that issue. It looks pretty annoying to try and play with.

Thanks for the info. I'll take your advice and wait until then. Looking forward to it!

For anyone coming to this later, the Proton flickering bug should be fixed now :)

That's interesting! How did you fix it?

It turned out to be debug code in a shader that was accidentally getting compiled in. The debug code checked a constant buffer value indicating whether the level editor was active, and if so it disabled the paint-in effect (and just made everything fully painted in).

In release, we don't bother ever setting this isLevelEditorActive parameter, since the editor is compiled out of the release build and thus unusable. But this bad debug code was still using the parameter. And since nobody was setting the value, the value was unspecified. On most GPUs/drivers, it seemed to be defaulting to 0, aka no editor, so it worked out by accident. But when using Proton, for whatever reason, it didn't default to 0 and instead had random unspecified values, so it flickered between on and off.

A classic case of a bug that was occurring on all machines, but only actually showing observable symptoms on a select few. The good news is that I installed a Ubuntu dual boot in order to track this down, so I can now just test on Proton as a matter of course when pushing out updates.

April 02

On Wednesday, 2 April 2025 at 09:37:44 UTC, Lewis wrote:

>

On Friday, 28 March 2025 at 22:44:56 UTC, Hipreme wrote:

>

On Thursday, 27 March 2025 at 06:27:19 UTC, Lewis wrote:

>

On Thursday, 6 March 2025 at 15:35:19 UTC, Element Green wrote:

>

[...]

For anyone coming to this later, the Proton flickering bug should be fixed now :)

That's interesting! How did you fix it?

It turned out to be debug code in a shader that was accidentally getting compiled in. The debug code checked a constant buffer value indicating whether the level editor was active, and if so it disabled the paint-in effect (and just made everything fully painted in).

In release, we don't bother ever setting this isLevelEditorActive parameter, since the editor is compiled out of the release build and thus unusable. But this bad debug code was still using the parameter. And since nobody was setting the value, the value was unspecified. On most GPUs/drivers, it seemed to be defaulting to 0, aka no editor, so it worked out by accident. But when using Proton, for whatever reason, it didn't default to 0 and instead had random unspecified values, so it flickered between on and off.

A classic case of a bug that was occurring on all machines, but only actually showing observable symptoms on a select few. The good news is that I installed a Ubuntu dual boot in order to track this down, so I can now just test on Proton as a matter of course when pushing out updates.

Oh that makes a lot of sense! There exists a lot of issues in regard of unused shader variables, so, it is a must check every time. On OpenGL, for example, if a variable is unused, it might get removed from the shader and trying to set it somewhere will cause issues. Uninitialized is almost on the same ground of undefined behavior

16 hours ago

On Monday, 24 February 2025 at 03:08:11 UTC, Lewis wrote:

>

Hello! I'm Lewis, a solo developer from Vancouver. I've been working on The Art of Reflection for ~4 years. It's basically Superliminal meets Viewfinder with mirrors, with a bit of Portal and The Witness thrown in for good measure.

I built the game and engine from scratch in D, using D3D11, PhysX, FMOD, and a few other libraries. Happy to answer any questions about the process, but in short I'm super happy with my decision to use D. I honestly can't really imagine going back to C++ at this point.

You can play the demo right now if you want to give it a spin. Feedback is always welcome and appreciated.

Thanks so much for your support!

-Lewis

Congrats on getting the demo out! I guess that means there's at least 2 pieces of DLang software on steam now, heh. It is a little disheartening to see the strict dependency on DX11 though. I do happen to have porting experience w/ Metal and Vulkan, so if you wish to natively port your code to macOS and Linux do feel free to poke me! (+ I offer contract porting services through my business if that has any interest)

1 2 3
Next ›   Last »