The perfect toolchain(?)


Creating games is fun! Not only do you get to create things YOU like to play, but just the act of creating has so many different creative sides to it (drawing, writing, making music, programming, game design) that it can truly make you feel like a GOD. When you're productive that is. Because making all those parts work together is pretty hard. Every part of making a game needs a different piece of software and a different mindset.

I've been developing games since the 80's, and I've never felt more productive than using Macromedia Flash. I know, it's dead, and worse, out of style. But hear me out. Flash was brilliant because it let you draw and animate directly on the screen, and if you wanted your creations to be interactive, you only had to press F9 and you were in programming mode. Changing graphics and testing them in the game was instantaneous.  Also, if you were only in it for the animation, no problem! It was mindblowing.

Right now, with no compelling way to publish from Flash (now Animate) to mobile, it seems like the whole industry has shifted to a workflow where every part of creating a game needs its own software. As a one man band, it's pretty hard to be really productive.
Some things I tried over the last years:

Game Maker Studio 2 - This is a nice tool, especially when you want to create pixel art in the program. Its editor is quite good. Also, scripting is very accessible and fast. There's just a problem with going mobile, and creating UI is a real pain. Still, points for the image and animation editing!

Godot - Oh man, Godot. I really want to love you. Godot is an amazing tool for creating all types of games. When you create assets in a separate program, it's a no-brainer. With one caveat: it's hard to monetize mobile games. Being open source it does not officially support ads and purchases. This makes it really hard to get started.

So, that's the swiss army knives. Too bad. Let's talk about what I went with, and why!

Graphics - Procreate iPad Ever since I first picked up an iPad with Apple Pencil I fell in love with it. Drawing on an iPad is extremely precise, fast, and you can pick it up and draw wherever you want. I use procreate, and I like it a lot. My drawing style works a bit better in the vector graphics that Flash had to offer, but that being out of the question on iPad, procreate is my choice. It works really well, fast, and the replay feature is really cool to show off how many drawing mistakes it takes before you settle on something that works. I have not used the animation features for producstion yet, because they feel really bolted on.


Game Engine - Pixi.js  I went with Pixi because it's a ridiculously fast renderer and I can program in Typescript. Typescript is a strongly typed javascript, and it resembles Flash's programming language ActionScript a lot. Since I can choose whatever I want, I don't want to be too restricted in how my project is set up. Pixi is just a rendering engine, nothing else. It does not force me to use constructs I don't like, and it enables me to use webbased technologies to for instance enable highscores, rendering sizes and in app purchases. It's pretty time consuming to get something working, but when it does work, it's quite fast. The only problem is that I don't have an editor to place my assets. I need to have a mental model of the whole game and what it looks like at all times.

Audio Player - Howler This is what I use for playing audio in game. Pixi only does rendering, and howler is okay at what it does. Nothing special. Sometimes that's a good thing.

Audio Creation - Logic Pro I'm working on Apple machines, and Logic is just the best and fastest audio program for creating music and sound effects.

Audio Editing - Sound Studio All light audio editing work gets done in this fast, lightweight program.

Build Tool - (Bash) Shell Scripts I wanted build scripts that work on all my machines without installing anything. Shell scripts work in terminal out of the box. They're a pain to set up, but once they work, there's nothing like it.


Conclusion 

So... I ended up picking the creme-de-la-creme of every part of development. No swiss army knives. This means changing from artist mode to programmer mode takes quite some time, and if it weren't for Apple Airdrop this would drive me mad. On the flip side: I have total control over what I create and how, and now that I have a system set up, I can just use it on whichever new project I want to start. Now that I come to think of it, I might open source my empty project so people can use it for their own work.

One last thing

I'm working in Typescript/javascript, and usually that means using npm a lot. I hate having new versions of libraries and things changing or breaking. I NEVER update ANY dependencies in a working project, unless I run into bugs that are not in my code. The whole npm and dependency management mindset in modern web development is nuts! Do not fall for it. I download a version of Pixi from their website whenever I start a new project and that's it.

Get the Dark Throne

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.