PLEASE START US OFF BY INTRODUCING YOURSELF:


Hi, I'm Transmutrix! I've been a hobbyist game developer and artist since middleschool in the early 2000s, and I finally went professional in 2019 when I joineda small games startup.

Prior to that, I got a bachelor's degree in Computer Science, although my formaleducation hasn't been especially relevant to developing my skills or career.

My first programming language was ActionScript 2, way back in 2005. I spent a lotof time on newgrounds.com engrossed in Flash cartoons and games. When I got aNintendo DS for my birthday, I started using Pictochat to make flipbook animations.

I showed my Pictochat creations to my dad, a freelance graphics designer, and hesaid "You know I've got Flash on the computer, right?" The rest is history.

Since entering the industry, I still do a lot of solo dev in my spare time,and I still make loads of prototypes I never finish! Wizwag, however, is different.

TELL US ABOUT WIZWAG.

Wizwag is a top-down action-adventure game, inspired most strongly byThe Legend of Zelda: Link's Awakening, as you can probably tell by the artstyle and gameplay. My goal with this project is to scratch an itch that hasbeen left largely unscratched since the 1990s.

Numerous indies have explored this specific sub-genre, but most are focused onartistic or mechanical callbacks more than the feeling of playing the gamesthat inspired them. I miss, and want to explore, that feeling.

I'm working very hard to get the gamefeel just right, and this is the centraldesign pillar of Wizwag: It has to feel good, and feel right, beforesatisfying any other concern.

Approaching the game this way means I have my work cut out for me, but if Iremain committed, I think the end result will be worth the struggle to makethings "just so."

The idea for Wizwag came about way back in 2015, when I began watching thegame programming series Handmade Hero, by Casey Muratori. Handmade Heroprovided the actual programming education I was missing with regards tofoundational skills and psychology.

Following along both helped me learn, and also reassured me that it was notonly ok, but in fact advantageous to program the way I liked; that is, simply.I think Casey would wince reading this, because he considers the overwhelmingresponse to his informal series to be indicative of just how bad CS educationis for many people (and he's right).

Wizwag Haxe screen transitions example

HOW HAS THE DEVELOPMENT JOURNEY BEEN AND WHICH GAME ENGINE DID YOU CHOOSE AND WHY?


Wizwag is being written in the Nim programming language, using SDL2, OpenAL,and a collection of other small libraries like nimPNG. I have used (and liked!)many game engines and frameworks, but my preferred style of development is "codecentered," and using an off the shelf engine for anything larger than a jam gameusually saps my morale.

When I use a game engine someone else wrote, I have to contort every problem Iwant to solve into the engine author's psychological and architecturalframework, and this can be difficult and tiresome for me, so I tend to prefersmall libraries or scaffold-style frameworks that offer more freedom and requireless complexity to use.

Wizwag's development is unusual! By 2015, I had tinkered a lot with games,and I had strong opinions about game design, especially with regards to gamefeeland polish. At the time, I had three jobs and a bevy of CS courses at university,and I was flaming out fast.

Wizwag was my outlet, an escape from everything else on my plate, sometimesto the neglect of my other responsibilities and commitments. This game was thewhipped cream straight from the can in an existence otherwise replete withmiserable, oppresive vegetable eating.

Prior to the present iteration of Wizwag, I made several other Zelda-inspiredprototypes, and many prototypes in other genres, too. For a long time, I justdidn't have the skills I needed to finish something, or make it good, but Ilearned a lot on those projects nonetheless. I owe my day job a lot forteaching me how to prioritize, manage my time well, and ship.

Wizwag's initial prototype was written in C and Lua from scratch, withWindows API and XInput for input, and GDI to flip the framebuffer to the screen.Since then, there have been versions of the game in HaxeFlixel, C++, MoonScript,and Godot.

Artwork for this game, created in 2015, has been used for test graphics in everyproject I've made since that time, and much of that artwork survives in today'sbuild.

The current version of Wizwag, which will be the final one (or so help me),has been in development off and on for about two years, in my spare time. Atthe time of writing, the codebase sits around thirty thousand lines of code,and will likely reach a size closer to seventy thousand lines by launch.

"This is going to be the one!"


WHAT'S BEEN YOUR BIGGEST DEVELOPMENT HURDLE SO FAR?

For me, the biggest programming hurdle has been finding or making the tools that enable me to be as productive as possible in the limited amount of time Ihave to dedicate to the project.

When you're the only programmer, the only artist, and the primary designer of avideo game, you really have to value your time and use it well if you want toever ship something, let alone something that's good.

If your programming language, compiler, authoring tools, or asset pipelines drain your morale or waste your time, you pay a heavy cost for that over the course ofthe project, so I'm always trying to notice points of friction and sand them down.

As an example, in my engine I can hot reload nearly anything. Artwork and levelsupdate live in the game when you change them, there is a "tweaks file" of variables you can change easily at run time, etc.

If I had my druthers, I would reload code at runtime too, and in C I often dothis, but I've yet to find a good way to do so with Nim. Future games will hopefully be written in Jai, if I gain access to that language.

The biggest hurdle otherwise is figuring out what to prioritize before the gamehas really coalesced into a solid whole. My strategy so far is to keep an eye on different parts of the game, and work on whatever seems most lacking compared to the rest at the time.


ADVICE FOR FELLOW DEVS?

It's hard to know what advice to offer without any specific context, but I guessI would say this: Don't waste your time fretting about how people will perceive you for your choice in tools, or your choice in methods. Use the tools that best serve you and your process.

Many of the best indie games of the past two decades were made with GameMaker,Unity, or XNA. Others were written from scratch in C++! Use whatever will make you as productive as you can be, and don't let anyone condescend to you about it! (That said, you are obliged to accept some light ribbing if your preferences turn out to have a cost, as mine have!)

There's a lot of talk currently about the market for indies being "oversaturated"and I think those conversations miss the point: What is the market flooded with, and what are you actually competing with?

In my case, there are probably fewer than one hundred games since the turn of the millenium that are actual competition for the game I'm trying to make. If you're trying to sell something very generic or unfinished, then yes, you are in competition with thousands of games coming out every year.

If you instead have a strong vision, an idea that really grips you, the passion and commitment to make it the best it can be, and the skills necessary to pull it off, you are in effect only competing with a miniscule subset of the market,and probably fewer than ten recently released titles.

So get to work!

ANY FINAL THOUGHTS?

- Thank you for reading!

If you want to keep up with Wizwag's development or strike up a conversation, you can find me on Twitter:

https://x.com/transmutrix


And if you'd like to wishlist the game on Steam, here's the store page:

https://store.steampowered.com/app/2968820/Wizwag/

❤️