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](https://store.steampowered.com/app/2290770/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
I'm so glad you posted this! I've done many game projects
(usually D and DAllegro) for many many years but nothing worth
completing. I've written similar things with static pools for
everything, and for strings I massively sped things up by writing
a simple static string class that just allocates larger if it
needs to be. Before when I started storing debug data inside my
game objects, I was hitting like 1500 allocations a second, it
was absurd. I've long wondered about using DLLs, as well as
template compilation time. I remember when simply including
std.regex quadrupled my compile time.
Have you considered doing a blog writeup on your experiences,
hacks, and changes? I'd love to read it.