When choosing a game-making tool it’s easy to just default to the one you are the most familiar with, but it’s not necessarily the best choice, especially if you are prototyping.
In general I describe the dilemma with this graph:
Convenience is the amount of layers of technology that are embedded in the tool (engine, framework, library) and take care of the basic functions of a project, so you don’t have to “reinvent the wheel” every time.
As more elements are included, more assumptions about what a game (in our case) is are made and the flexibility of the tool declines.
The most flexible but inconvenient tool is pure code: starting from scratch, making your own engine etc.
On the other end there are tools that restrict the type of game you can make but greatly simplify the process: Adventure Game Studio, RPG maker, RenPy.
Here are some of the most popular tool from flexible to less flexible:
Paper
You always should visualize everything on paper first. But in some cases playable paper prototypes can be a perfect combination of convenience and flexibility even for digital games. Especially when your game is based on modular and discrete states, grids, turns, chance, or require a fine balance among limited variables: turn based strategy, roguelikes, dungeon crawlers, card games, and a variety of puzzles.
Multiplayer games with hidden information and social interactions can sometimes be tested in the analog world.
Paper prototypes are cheap and easy to iterate.
Code
There are tons of libraries oriented toward game creation. If you have a strong foundation in computer science, starting from code may be the most natural thing to do.
If your project doesn’t involve a lot of spatial design (levels that need a visual IDE etc), relies on low level functions, or procedural generation, that’s the way to go.
But if you find yourself spending more than 5 minutes implementing a button or a sprite animation routine, you are not really prototyping.
Unity
In class I’m going to privilege Unity due to its balance between convenience and flexibility, but you don’t necessarily have to use it.
Free for non-commercial projects, widely used and supported, taught extensively at CMU, does 2D and 3D but it’s primarily 3D, can build for any platform, not exclusively for games, marketplace for assets.
Site
*Unreal and Cryengine are similar engines but more oriented toward high-end, 3D graphics.
Game Maker Studio
Reasonably priced ($100), only 2D, drag and drop and code based scripting, good for 2D arcade games.
Games: Hyper Light Drifter, Niddhog, Minit, Hotline Miami etc.
Site
Pico 8
Cheap $15, a “fantasy console” creatively restricted but not genre oriented, ultra low res 2D. Integrated level, sprite, sound editors. Built-in community.
Celeste was prototyped with it.
Site
Twine
Free/open source, hypertext editor, no coding needed. Not very flexible per se but it can be useful when prototyping branching stories, dialogues and stories in space.
Black Mirror: Bandersnatch was prototyped with Twine.
Site
Puzzlescript
Free/open source, remixable platform. Integrated level, sprite, sound editors.
It’s specifically for tile-based, block-pushing puzzle games like sokoban, but that’s a huge range of possibilities.
A Good snowman is hard to build was prototyped with it.
Site
Renpy
Free, code/script driven (python). Weapon of choice for manga visual novels but there are many unorthodox uses as well: The Game: The Game , Digital: a love story.
Site
Bitsy
Free/Online, built-in community, creatively restricted and genre oriented: top down narrative environments only. It can be used to prototype narrative ideas, worlds and spaces.
Adventure Game Studio
Free, open source but Windows only. Visual scripting. Strictly limited to 2D adventure games.
Cart Life was made in AGS
Site
RPG maker
$80. Visually oriented, genre limited. (not recommended for this class)
To the Moon and possibly Hylics were made with it.
Site