Miguel Arroyo, aka "Wabbaboy", told us about his journey as an indie game developer, explained how physics-based gameplay was incorporated into various aspects of Sorceress, and spoke about the role of creative improvisation in the game.
Hi there! My name is Miguel, I go by Wabbaboy online, I am an ex-3D artist turned indie game developer.
I started my career doing the occasional odd job in software development such as models for VR apps or architectural visualization but my journey in the games industry started properly at an outsourcing company called Ophion Studios, there I've been involved in titles such as Arma Reforger, Aliens Fireteam Elite, The Ascent, and Vigor as well as some still unannounced projects.
Creating games on your own is great, we all grow up playing games thinking, "I wish I could do this or that in this game" or "Why didn't they explore more this or that idea?". As a developer, you can just do it and find out if it's a terrible idea or something actually rewarding and then create your own playground hoping that others find it fun too.
I started making games because I wanted to get into the industry and while 3D art is fun, rewarding, and a worthwhile career to pursue, I was much more interested in the nitty-gritty of how the whole cake is made. I used UDK and UE4 in school, doing basic stuff like interactable doors, elevators, basic cutscenes, etc. However, at some point 5 years ago I decided I would start making my dream game and figure out how plausible would that be.
It turns out that Unreal Engine has a great community capable of solving almost any question you may have and little by little, even if you're not a programmer type of person you can eventually learn to bend it to your will and freely shape your world and systems. That said, making a game takes an incredibly long amount of time, there is no easy way around it, and at some point 2 years into the development process, still green as a programmer, I landed a job as a 3D artist that has lasted for 3 years until just a few months ago that I jumped the shark to work on Sorceress full time while the savings last.
Challenges of Being a Solo Game Developer
Being a solo developer, at least for a game with lots of systems, is a roller-coaster of emotions. It feels like there is a "monster of the week" aspect to it: you set yourself to make a task like a new feature or expand an existing one and inevitably problems will appear and you have to be really careful about how to defeat them to not screw yourself in the future. It feels great to finish tasks and solve your problems but you have to think a lot about the "future you" because more than once I've been mad at the "past me" for being sloppy about creating a bit of code that sooner or later has given me headaches.
So, when you have a few layers of systems talking to each other and you get a bug in the middle of them it can be really demoralizing because then you have to dig out what's the defective link in the chain. Personally, when I have a problem that feels big and demoralizing, I do a sort of ritual where I'll just breathe in for a second and tell myself "solve the issue one problem at a time" and, sure enough, one step at a time the issue will get smaller and smaller until it's solved.
This is what happens when you don't disable the collision of a weapon they can equip, it drove me nuts.
Balancing Creative and Business Aspects of Creating a Game
So, I don't want to market my game, I just want to work on the game and then have as many players as possible enjoy it once it's done, I think most solo developers feel this way too, we just want to work. So the approach I have to it is to not think about it as marketing at all. Throughout my career, I just picked up the habit of recording clips of my game (using Sharex, which is a great app) and I showed them to friends, fellow developers, the family sometimes, and, if I'm going to show it to them just for laughs or to try and awe them, why not share it with the rest of the world? "Hey, I'm making a thing, I think it's cool, what do you think?"
I personally feel like the word "marketing" comes with the stress of having to put on a facade and feels somewhat dirty to try and convince people into giving you money, so I just let the game speak for itself while having fun sharing it. In the end, I think it's a healthy way of looking at it and people seem to enjoy them a great deal so something good must be happening there.
Sorceress began as an attempt to make a first-person game about using magic in creative ways to defeat evil, solve problems and explore a huge hand-crafted castle environment. The first thing I programmed was this bubble system that allowed you to put stuff in bubbles, you could cast it on physics objects to use as platforms or on enemies to make them bounce around or on yourself to do the same thing but with a certain degree of control. It's a very versatile system and it's incredibly fun, there is still a lot of code from back then that has survived the different revisions the mechanic has gotten.
Ever since then the game has mutated in several ways that make it less focused on the magic aspect and more on improvising using disposable weapons and environment traps, it has become an incredibly dynamic environment to be in and I love the many many ways that there are to fight enemies and move around, the magic hasn't taken a backseat but it's obviously not the main driver at the start of the game, it grows more and more prominent as you explore this castle and obtain new gadgets so there is plenty to look forward to.
Another one of my goals with Sorceress is to follow up on a legacy of games that I never felt was truly followed up, most people that have grown up with them can certainly see a lot of DNA from Arkane Studios' earlier titles like Arx Fatalis and, more prominently, 2006s Dark Messiah of Might and Magic, these games had really good magic systems on top of really good gameplay. Nowadays most people think they haven't aged well, I still love to play them though.
The Game's Art Style
Approaching the art style of a project is a tough task, you will be making the game for a long time so it better be fun to produce, quick to make, and complement the game well while looking cool. My approach to this was to sort of mix Overwatch with Dark Souls, the Dark Souls comparison may seem weird at first but basically, I wanted to have a stylized, easy-on-the-eyes, clutter-free world and make minimal use of geometry while not being too retro. I feel like the environments in Overwatch look clean and easy to read but I want to make a less colorful and more utilitarian-looking world like in the earlier Souls-like titles.
That said, the game must look good, sure, but that would be worthless if the visuals didn't complement the gameplay, and by making a cartoony-looking world you have plenty of room to design the environments in a more "gamey" way, I don't think the player expects a fully realistically arranged space when the presentation is stylized. Who put up a wall of spikes in this dining room? Why is there a deep body of water in this prison cell? Why is there a conveniently placed rack of weapons in this corridor? No one cares, it makes the gameplay richer, that's the goal, and that's why it's there.
Another benefit of presenting the game in a light, carefree way is that players are more inclined to be playful with it I think. You kick an enemy scarecrow off a cliff and it squirms and yells, it's hilarious, if I were to do that with a realistic-looking human I'd feel bad, someone probably expected them for dinner that night.
For this I draw a lot of inspiration from Zelda: Botws' Bokoblins, its most common enemy, they are funny looking, have a high degree of interaction with dynamic objects, and will react to pretty much every system that there is. Best of all, you don't feel too bad about destroying them so they're fun to mess around with.
As for the characters and story, it's an area I'm receiving help with, so I'm not so "solo" anymore. However, it's an area that is still in development so I don't want to unveil too much at the moment. These bosses are characters who, at the time, might have been called witches, but we treat them more like scientists and inventors. You can expect to see many themes about big ambitions and big sacrifices, often shrouded in a morally gray area. Hopefully, the game will make you think.
Tools That Help Bring Sorceress to Life
Sorceress is made in the latest version of Unreal Engine 4. It's tempting to jump to UE5 because of its lighting and optimization features, but generally, I feel pretty cautious about using the latest technology available, new technology means new problems that need figuring out, we already mastered UE4 so as an indie dev, I think it is best to use that to our advantage.
For 3D art, I use the usual tools in an artist's belt: Substance 3D Painter, ZBrush, and Blender. For a long time I had used 3ds Max but at some point, prior to becoming a professional artist and indie developer I switched to Blender and have never looked back. I don't want to come off like a pushy Blender evangelist but I do recommend doing the same for all those still stuck in expensive and slow software.
Sorceress's Physics-Based Gameplay
Physics is great, it's a shame it isn't more present in modern games, I'm not the first one to make use of it, of course, but basically, my approach to it is similar to that in Dark Messiah, you see a barrel in the corner of the room and seems like an unassuming prop at first but, certainly, you can pick it up, kick it and toss it to someone, it's inherently fun, it's sort of a visceral and primitive satisfaction too and, best of all, it's just another option for the player which will increase the degree of improvisation and quick creative thinking.
The reason physics works in a game such as Sorceress is because of its sandbox-like approach to its systems, you have to embrace the player enjoying the game on their own terms. That doesn't mean that you must craft an environment where they are God but just that you have a hands-off approach to their experience, many games nowadays have characters barking tips and orders at you, there isn't a minute of silence through the experience and it drives me mad, don't do that, respect your players' intelligence or be smarter about how you present a problem so you don't need an NPC to tell you before you get stuck.
Recently I've seen a lot of people play Gloomwood, which is a title in a development reminiscent of the Thief series but with a whole identity of its own, and I've seen players do stuff like stack massive towers of crates and barrels to reach high places, I think we need more games like this, with a hands-off approach.
What I'm trying to say with all this is that physics should be synonymous with freedom – freedom to experiment, freedom of expression, freedom to improvise.
Sorceress's creative improvisation is something impossible to achieve without having consistent rules and giving the player enough verbs. When you kick an enemy, it's not just sending a damage signal to that character, it's sending a series of stimuli that have data about damage, direction, launching force, the type of element you used, etc. So, the character will be launched and now several things can happen depending on the context, while airborne it can hit other characters to stun them, it can hit physics objects to damage them, it might hit a fire source and catch on fire, it can hit a trap or fall a certain distance to receive damage, stuff like that.
A player that knows the ramification of doing an action like that will see the advantages of using it in the right context and as a developer, you just have to design a scenario where these things can happen in a natural way, and players will instinctively react and improvise with that, often they will surprise you in ways you didn't anticipate, at least I hope so.
The Role of Environment in the Game
The environment itself is a character in the game. It's essential and provides context and unique gameplay opportunities in each of the areas of the castle. Of course, it contains a lot of hazards and unassuming objects the player can exploit purposely to their advantage or accidentally to their demise. All these elements combined are meant to marry characters with the environment.
Often, you see games where you enter and exit a "combat state" of sorts. You are either running around, doing platforming and whatnot, or you are actively fighting something inside of an arena or closed space. I keep thinking of The Legend of Zelda: Ocarina of Time. That game introduced a lock-on feature that dictates how your character moves when you're fencing off a threat. A lot of games since have had a similar feature, and it works, but it comes with the sacrifice of having the player change between a binary state of fight and a state of free movement/exploration.
What I want to achieve with environmental hazards and other dynamic objects is to avoid this friction between one mode or the other. So the player interacts with their enemies as they would with puzzles and platforming. Each level in the game is planned to have a different set of elements that can be exploited through gameplay for different uses.
Without spoiling much, I can say that the first chapter is designed around a theme of electricity, machinery, and trap contraptions. I will present the player with an environment that has electric lamps, traps, large mechanisms, and other hazardous sources. So you can and should use your water and kinetic abilities to make a trap out of electricity or push enemies into placed contraptions through the level.
In a similar fashion, I expect the player to avoid these traps or make use of them to reach new places. Maybe a conveyor belt can short-circuit to allow passage to a different area or a crane can be altered to be used as an elevator or drop cargo onto enemies. Things like these are planned for future levels, but I've yet to properly realize them.
I think Sorceress is a type of game that stands on its own quite well – I don't have to put a lot of effort to make other people "get it". The visuals are simple, the actions are clear enough, and who doesn't want to run around a magical castle casting spells and kicking ass?
What I would advise to upcoming developers seeking an audience is the following: be real and honest. If it's cool and seems made with good taste, it will find an audience eventually. Start posting online as soon as possible and find a posting style that feels honest to you. Show the game as it is, enhancing the features you want to show off or that you personally think are fun or unique.
But also, be varied. Don't show the game always in the same environment or perspective. Have fun with your presentation, and people will notice.
Advice for Aspiring Indie Devs
Start now!! Download Unreal, Unity, or whatever and watch a tutorial to make a little dude that runs around and jumps on stuff, feel the joy of creating something, it's real, it's cool, it's yours. Think of a small idea, make it real, and you will find out that it might mutate into something else, embrace that! See where it takes you...
The most important thing is that you enjoy making games. You might end up making them for a really long time but the process has to be fun. Difficulties will inevitably appear but by that time, you'll know that it feels good to create something and once you fix the bugs and issues with blood and sweat you'll get back to the good stuff and the process will repeat, it's great.
Miguel's Future Plans
I'm currently grinding through the first chapter of content, the objective is to have about 20% of the game done by September, and shortly after, I will launch a Kickstarter campaign that will support the development process into its completion. Surely you'll see more of it and more often!
If you want to support the development of the project feel free to wishlist it on Steam or follow me on Twitter!
Miguel Arroyo, Game Developer
Interview conducted by Ana Kessler
You may find these articles interesting