Tools of the Trade
A brief look at some of the tools I use to create.
Infinite Level games discussed: All of them…sort of.
If memory serves me well, I may have touched on some of the tools used to create my games before, but I don't think I've ever gone into much detail. In fairness, that's probably because all I really have to do is list them out and then you can search things up from there. But this time, rather then send you on a fetch quest for knowledge, I'll make things convenient and talk a little bit about what I use to make games. To begin, there's a distinction to be made between what I'm currently using and what I used to use. War Ender and Impressions was made in an entirely different engine than The Future Project or my current game, plus they were sprite based as opposed to my later works' 3D models. So, we'll start off with some of what I used to do, followed by talking about my current methods. And of course, I'll try to explain my reasoning for each.
So, starting with War Ender and Impressions, the game engine of choice was Unity. I had dabbled in Unreal Engine before that point, but still had a lot to learn about that engine. Thus, I'd stick to what I knew and use Unity. It helps too that Unity, in my opinion, is much better suited to 2D games than 3D ones, so it also made sense from that perspective to stick with Unity. Lastly, Unity uses C# to program which I had grown pretty comfortable with, and it made making both games a lot easier than it otherwise would have been. War Ender was my first commercial game, and as a result I very intentionally set out to keep things pretty simple. I quickly had a basic prototype of the game with the shoot-float mechanic in place, found that it was pretty fun, and proceeded to make a full game from there. This is perhaps the one game I've made where I didn't spend a lot of time coming up with designs and ideas and making a plan. I just kinda stumbled into making War Ender, which was ultimately a good way to go given where I was at the time. All my other works would have a bit more thought put into them before developing, including Impressions which was also made in Unity.
To make both games' sprites I just used Gimp and started drawing. Art is definitely not my strongest skill, though I like to think it's something I've gotten better at over time. I'd like to tell you that I had some method to my pixel art, but to tell you the truth I didn't. I just worked on the sprites until I was satisfied with them. In the case of Impressions, however, there was at least some very basic guidelines, specifically on the human characters and their proportions. It was also the game where I made it a point to break apart the characters into different pieces so that different parts of their bodies can do different things, like shrug while smiling. I didn't do much in terms of special effects and post processing on either game, instead relying on the art assets themselves to fully convey the tone and feel of each game. In hindsight, it's definitely something I should have dabbled more in, but later games would rectify this.
Beyond this is where the tools start to blur together across games, so while that's not everything I used with my Unity games, those are largely the tools used that don't come into play in later projects. So, with The Future Project and my super secret project, I have opted instead to use Unreal Engine. This was a decision made for The Future Project specifically because I felt that Unreal Engine had the desirable tools out of the box for building a 3D metroidvania game. It's not that I couldn't have made the same game in Unity, but I do think it would have looked and felt very different to what we got. As for coding, Unreal Engine uses C++ for traditional coding, but here's a fun fact for you...I didn't write any C++ myself during The Future Project's development! I did it all in their visual scripting language called Blueprints, which definitely feels weird to say as a guy who would consider himself primarily a programmer, but if it works then it works. That just goes to show how powerful their system is. Let that be a lesson to all you who are less code inclined but still want to make games – you can do it! And, to tell you the truth, when you do start using Blueprints, you'll find that your ability to program is stronger than you think. Blueprints just presents the "code" a bit differently than traditional programming languages. That said, I have since gone on to utilize more C++ in my current project, which has been very helpful overall for me personally. But, with me being less versed in C++, it is something I've had to figure out as I go, with some things not coming quite as intuitively as it would in C#. In programming, it's been said that once you learn one programming language you practically know the others, which is true to an extent. With Unreal's C++ however, I do think there's enough unique stuff going on that learning how to use it takes a bit more time and effort than other programming efforts. At least, that's the impression I've had so far. As this current game is still very much a work in progress, so is my C++ knowledge as well. Who knows what else I'll figure out as I go along!
For 3D game assets, I primarily use Blender to make models and animations. I do keep a handful of other programs around to help me with certain parts of asset creation, such as the handy Instant Meshes for automating some of the retopology process. My time in Blender is split between creating the object and then animating it to do whatever I feel like, be it a run cycle or some kind of attack. As for texturing the model, I've relied pretty heavily on public textures such as the ones found on ambientCG. If I do need to make something uniquely mine, I tend to rely on Gimp once again, specifically utilizing some of its pattern and image generation tools to create the looks I want. It's not common for me, but you can do some texture painting right within Blender as well. Again, art is not my primary skill, so I'm not sure how common it actually is to paint within Blender. For me and my games, I usually only used it for creating simple patterns and emissive areas of a model, such as the green lights found on the Infantry enemy seen in The Future Project's Alien Remnant.
Moving on to audio then, which will encompass sound effects and music alike. The things I use for sounds has run the gamut over the years. For a while, I used Bfxr to make sounds reminiscent of older video games, which fits in well with the likes of War Ender and Impressions and their slightly retro look. Additional effects and editing may be done in Audacity, which I find easy to use but with just enough options to make it quite capable. For The Future Project, I relied a lot not so much on programs as I did a resource, specifically Freesound. I would seek out user created sounds and either bring them directly into the game or modify them to fit my game's needs. For some sounds, specifically creature sounds, I would record my own voice and layer on effects to give them the voice you hear. My current project has a sort of reverse situation with sounds, where a lot of sounds in my game so far are sounds I recorded myself. Turns out, it's pretty fun to smack pots, throw clothes, and/or drop tools in front of a microphone and use that audio in-game. I still use Freesound for some things, but I'm not relying on it quite as heavily as I did with The Future Project. As for music, my tool of choice is FL Studio, one of the few outright paid options I'll be describing here. Across all games, I have used FL Studio to compose the soundtracks of each game. It is quite possibly the most consistent tool I've used across games, which I suppose makes some sense considering I paid for it. From the rocking, fast paced music of War Ender to the more atmospheric and alien sounds of The Future Project, I've used FL Studio for it all and continue to do so. I have utilized various plug-ins for compositions throughout my time with FL Studio, and those can vary wildly depending on the game I'm composing for, and can sometimes contain single instruments or entire orchestras depending on what I'm after. Spitfire Audio's LABS plug-in in particular proved very useful for The Future Project.
Though not technically a tool for game creation, I do use Bandicam for gathering video footage and most screenshots. This is another item I have personally paid a license for. I am aware that OBS Studio exists, and I reckon most people are going to opt for that instead. The reason I use Bandicam is pretty simple...it's what I knew to use at the time. And my usage of it dates back to way before War Ender. I'm not even sure that OBS had its initial release at the time that I first took an interest in recording game footage. Because of all that and the fact that I have a lifetime license, I continue to use Bandicam for gathering footage and gameplay screenshots. In-engine screenshots are of course done, well, in-engine. In-engine screenshots, usually used to show environments at nice angles that are hard to get in-game, mattered a lot more to me in The Future Project than it did with War Ender or Impressions, so that's why if you compare the screenshots of each game you'll see The Future Project has a lot more of these kinds of screenshots.
And that's the crash course on the stuff I use to make games! Almost everything listed here are the big ticket items. There's lots of minor tools that are still really helpful to me, even if they're only used a few times during development. Of course, it goes without saying that different developers have different methods. I'm sure there's some devs that make music by simply pulling out their instrument and recording their playing, or someone who uses special online tools to help make certain animations for characters. Games are made in all kinds of ways and with all kinds of software, this just happens to be the stuff I use personally. Many of the tools I've described here are being used to make my newest game, which I unfortunately can't share much on yet. But I can tell you it's coming along nicely, and much of the software I've listed here has played a big part in that.
Until next time!
-Lance T.