And hi, everyone stumbling upon this blog. Please excuse the cobwebs, I haven’t blogged about Tech in a very hot minute.
So just “What in the heck is goin’ on here?” I hear you ask. Why, I’ve been inspired. I haven’t felt this inspired, in quite a while; well technically since I shelved Black Lotus, anyway.
I’m embarking on something a little new, and a little different from my usual exploits.
If you’ve been able to surmise by the title and the hints I’ve been dropping… That’s right. I’m making a visual novel engine. But not just your standard ren’py style visual novel engine, we’re going all in on the Danganronpa style explorable first person pop up book style visual novel engine. Hence the name: Despair Engine. The name also fits in with the language I’m choosing to write this in: D. And with D, it’s common to name your stuff you make with it to start with that letter. It works out tantalizingly well.
Years ago, in the ancient times of the early to mid 2010’s, I started a project with a friend of mine deeply inspired by Hotline Miami. It was a super fun project, but I sorely lacked experience as a gameplay or ui programmer, so I fell discouragingly behind all the time. And as a new dad with a full time salary job, my “free” time was minuscule, to say the least.
What made that project super interesting was the language we decided to try out: D.
D is a fascinating language. It’s like C++ on steroids, but with many cool and interesting features. First of all, D ditches the Header/Source coupling and uses a module based dependency approach like Java. This means no more cyclic dependency issues, forward declarations necessary, nor compile time defines or mscros. The language cranks up the syntactic sugar up to 11 with all kinds of fun toys to play with designed to make your life easier and just get the heck out of your way as a developer, as such It’s a language designed for productivity and respects your time. Speaking of which, the language toolchain also features DUB, which is an early example of a project definition and configuration file but also a build tool AND fully realized package manager. No more pissing about with a linker or messing with cmake or makefiles, dub was your one stop shop for all things D. It also came with DMD out of the box, which is the default compiler, meaning you could just get up and running from nothing to everything you need and compiling and running programs within a couple minutes. Not to sell it any harder, but I also really appreciated that D was compiling down to native binaries, which means whoever needed to run the program didn’t need to install some extra run time environment or some virtual machine either.
Now, with the lenses of 2024 on, it can be easy to draw comparisons to modern languages and toolchains challenging the C and C++ throne, such as Rust, Zig, and the upcoming Carbon. However, D pre-dates these things while offering the same features, by many years. It’s been around so long, that GCC and LLVM offer their own D compilers out of the box and do a much better job than DMD does. Crazy right?
Anyways we shelved the game because frankly I couldn’t keep up at all and most of the work fell on the shoulders of my partner and it just wasn’t fair.
But that language. This D thing, it made a lasting impression on me. I never quite forgot about it, ever. But I had to go on a long programming journey with C++ to finally understand how to appreciate what D really had to offer me.
On top of all of this, D has access to the “Derelicht” binding packages, which provides me with easy and direct access to SDL2 and OpenGL. As if I were using them in C. It’s brilliant.
It may not feel like it at first, but Danganronpa is 100% a 3D game, don’t let the popup book flat visuals or the 2D avatar portraits fool you. So that leaves just one question, just what in the heck am I gonna use for asset data, like models?
That’ll be another topic for next time. Right now, I’m in deep R&D mode, making tools and defining ideas. So until the next post, see ya
Families that play together, stay together! Chemical Free Games and Toys
Families that play together, stay together! Chemical Free Games and Toys
Families that play together, stay together! Chemical Free Games and Toys
The internet, mobile phones and gaming has led most kids and adults indoors, inward and isolated.
There products here, offered by Shri Shinde are innovative, brilliant, time-tested, traditional, so-savvy board games that will interest through intrigue, attract through their texture, look and feel, induce all to explore…