Tools for making games
This post accumulates the tools I use when I make games. I use most of the things on this list frequently. Tools that are free and/or open source are marked. Most of the games I make are digital. I use Microsoft Windows on my computer, though most of the software tools here are also available for other platforms.
Code
Visual Studio Code (free, open-source)
Visual Studio Code is a cross-platform editor. It supports developing and debugging in TypeScript and a number of other programming languages. There are also a lot of plugins available for any number of use cases.
Excalibur.js (free, open source)
This web-based game engine was designed for use with TypeScript and JavaScript, and I help develop it with a few of my friends. It’s worked well for us over the years!
Python HTTP Server (free, open-source)
If you’re making web games, this is a straightforward way to serve your game up on your local computer. Install Python, type python -m http.server
into your command line, and you’re ready to go!
Git (free, open-source)
Version control is one of the most important tools you can use when you’re building a game, analog or digital. I use Git and GitHub to keep track of each game I develop and maintain its change history.
Art
Aseprite
If you want to draw pixel art, this editor does the job really well; I use it as my primary drawing tool for games, and it’s well worth the price.
Paint.NET (free)
If you need something a little more general for making art, this tool provides a suite of features for drawing and photo manipulation.
Audio
Bfxr (free)
This tool can generate sound effects quickly and easily. Fine tuning is a bit more work, but it’s pretty powerful.
Audacity (free, open-source)
If I need to do any editing, I open the audio up in Audacity to cut, paste, level, and mutate it. It’s loaded with functionality, most of which I’ve never even had the chance to use.
Digital Collaboration
Trello (free, subscription available)
Trello is a great way to keep a shared task list, and makes working asynchronously a lot easier.
Excalidraw (free, subscription available)
When I’m not able to meet with my team in person, I use Excalidraw as a digital dry-erase board for drawing pictures and diagrams.
Analog Collaboration
Pen, pencil, and paper
It can be really useful (and also really fast) to make notes and draw mockups. It’s much easier to quickly modify a paper prototype than it is to redesign something written in code.
Physical components
Prototyping digital game mechanics (or designing board games) became much easier after I borrowed game pieces from games I already owned. Coins, beads, and other similar items also work well.
Dry-erase board
When I’m working on ideas with a group of people in person, I use a dry-erase board, which I set up on a small collapsible easel.