Making games is hard. The more you know about the process, the more miraculous it seems that games get made at all. As former PC Gamer writer Tom Francis described programming when he was making Gunpoint: "The most useful way I've found to think of it is this: Your game is fucking insane. It is a mental patient. It has completely lost its mind, and to make it behave in any kind of reasonable way, you have to be expecting every sensible instruction to be met with screaming, preposterous bullshit."
While it's easy to feel paralyzed by the thought of learning to design and program your own game, we asked quite a few indie devs for their advice and they all offered the same advice for beginners: just do it. Jump in, no matter how scary it is. To help you take that first exhilarating (and inevitably frustrating—but also, probably, rewarding!) dive into game development, we've devised this handy list of 2D game engines for developers who are still new to programming. Paired with developer recommendations, hopefully this will serve as the push you need to get started.
Price and License: $100 for permanent desktop license; Free trial available
Best for: Short-format 2D platformers and RPGs; cross-platform games
Notable games: Nidhogg, Hyper Light Drifter, Undertale, Risk of Rain
GameMaker Studio 2 is your one stop destination if you want to get into game development. The platform allows creators to use the tool's easy-to-learn drag-and-drop interface, or work hands-on with the engine's own scripting language, GML. We talked to several developers who've made popular games in GameMaker, who shared their own experiences with the tool.
Mark Essen, creator of Nidhogg and Nidhogg 2, says GameMaker is great for beginners because scripting is pretty open-ended, and Yoyo Games has a wealth of tutorials and guides to help folks get set up quickly. A marketplace also offers add-ons to customize the engine to build a platformer or top-down RPG.
Alx Preston, the mind behind Hyper Light Drifter, says that the GameMaker community is a huge asset. He notes that young developers should be "...learning the best places to get support in the community and the best tricks to use for the engine to achieve what you want—usually by going to the community as a resource."
Of course, you might not be making a Steam-ready game right off the bat. "Because GameMaker is so forgiving with its code, projects can get messy very quickly," Essen says. "I like that in the beginning stages of a project you can iterate quickly and focus on the game design, but down the line this will bite you in the butt if you don't maintain some personal organizational standards!"
Duncan Drummond, the creator of beloved roguelike Risk of Rain, also noted that GameMaker's ease of use can come back to haunt developers. "It's very easy and fast to develop, but does come at a performance cost if done incorrectly," he says. Drummond also noted that GameMaker doesn't translate to any other engines, so if you're looking to make the jump to Unity or another engine down the line, this might not be the tool for you.
"Don't forget to delete your work! Starting over frequently is a great way to work your design muscles." — Mark Essen, Nidhogg
"Get started! Get involved, get as much help as you can. Just make work, even if it's bad. The more mistakes you make the more you'll learn." — Alx Preston, Hyper Light Drifter
"Just start! It's fun and relatively easy—and doesn't really cost you much but time." — Duncan Drummond, Risk of Rain
Price and License: Beginner's package is free, $35/month for Unity Plus, $125/month for Unity Pro
Best for: Pretty much everything indie
Notable games: Ori and the Blind Forest, Galak-Z, West of Loathing, Cuphead
Unity is one of the main platforms for popular indie games, and while it has impressive 3D capabilities, there are dozens of fantastic 2D games built in the engine, too. Unity has more of a learning curve than the other engines on this list, but with a huge community and bountiful tutorials, there are more than enough resources out there to get you off to a solid start.
Unity's asset store also includes a wealth of add-ons that customize the engine for 2D development. There's Unity's free 2D Platformer asset, and tools like Corgi Engine and Rex Engine, which offer platforming physics, controls and abilities out of the box.
We spoke to both inkle's Joseph Humfrey and Asymmetric Publications' Victor Thompson about jumping into Unity as a new programmer.
Thompson may have been used to making games the old-fashioned way, but has quickly grown to be a fan of Unity, the engine he used to create the team's latest game, West of Loathing. "After 2-3 years of using it full time, the most exciting thing for me is how quickly you can put together concepts and prototypes," he says. "Despite having used many engines, both small and simple for personal projects as well as big and complex in the AAA industry, Unity is by far the best designed engine I've ever used, and allows me to be the most productive I've ever been."
However, there are some limitations when using a single platform for all of your development needs. If you encounter a bug in Unity, you're often at the mercy of the engine's designers to fix the problem, which can involve some waiting. "Despite publicly saying that they've put bug fixing at the top of their list of priorities, we still find editor and debugger stability a big problem at inkle," Humfrey says.
"Whatever it is you want to do, try to shape it in your head as a thing you want to make, rather than a skill you want to have. It's useful and rewarding to know how to do things, but in the long term I think people get more out of setting a goal, learning the things that they need in order to achieve that goal, and then reaching the goal." — Victor Thompson, West of Loathing
In early 2017 we wrote about the surprise explosion of RPG Maker on Steam, and how the engine has become a go-to for aspiring indie developers. But there are also some other tools you should check out:
Price and License: Free
Best for: 2D Visual Novels, Simulation
Compatible with: Python
Notable games: Long Live the Queen, Analogue: A Hate Story
Ren’Py is an easy-to-learn open source engine. While the tool does require some programming, you really only need to know how to use a text-editor and photo editing software to get started. It’s a useful gateway to Python for newcomers.
Here’s what Georgina Bensley, creator of Long Live the Queen, had to say about Ren’py.
"Ren'Py is open source and cross-platform, which opens up a broad range of opportunities for dedicated users," Bensley says. "I also consider it a plus that it is beginner-friendly but still requires looking at and editing script files, rather than a graphical drag-and-drop interface, because I think it's useful to get people over that hurdle of thinking that code is scary."
Ren’Py is also a good tool if you feel overwhelmed by the sheer prospect of building a game from scratch:
"One of the biggest roadblocks faced by people who've never made any sort of game before is simply the belief that coding is 'too complicated' and not something that they would be able to do. Being able to get a simple game up and running quickly helps get new developers over that hurdle, even if visual novels are not something they intend to make in the future. Once you've made something that other people can play, even something simple, it can change the way you feel about yourself and your ability to do things."
Ren’Py is a bit limited in support for graphical and mechanical features. If you’re looking to create games with 3D, Live2D, collision detection and other bells and whistles, you might want to look elsewhere before getting started.
"Don't be afraid to try, it's easier to get started than you think. Don't be afraid to ask for help, there are a lot of other people out there who have been where you are and can offer tips, or who are looking for projects themselves and might want to join you. Don't assume that something is impossible until you've at least talked about it."
Price and License: Free
Best for: Text-based adventure games
Compatible with: Unity, C#, HTML
Notable games: 80 Days, Sorcery!
ink is a good, free supplement to Unity if you're seeking an easy way to write branching dialogue and narratives. It's easy to learn, using markup instead of script, and it integrates with Unity smoothly thanks to the engine's built-in integration. ink was built as "middleware," according to inkle's Art and Code Director Joseph Humfrey—after writing an ink script, it's expected you'll plug it into a larger game within Unity. However, developers are also welcome to use the Inky Editor to export a game to the web.
Writing extensive narrative with branching paths can get messy, so ink is an excellent tool to ensure you don't get lost along the way. "This allows writers to use Inky to write their dialogue and narrative text in a format that's a lightweight interactive markup," Humfrey says. "The ink engine running within Unity can then read these scripts, and produce text that can be presented by the game."
Its open nature also comes in handy when creating more ambitious projects. Humfrey notes, "The text that's produced by the ink engine doesn't even necessarily need to be presented literally. For example, in Heaven's Vault, the ink engine produces a dynamic film script that's interpreted by the game and presented more like an interactive graphic novel or adventure game."
ink also happens to be a great tool for people who are more interested in writing stories for games, as opposed to pure programming. "...There are increasingly a lot of interactive writers who have been using ink," Humfrey adds. "Where The Water Tastes Like Wine is a game by one of the makers of Gone Home and is using ink. It has a large team of well known writers including Leigh Alexander, Emily Short and Cara Ellison. So increasingly, if you're a writer interested in game development, ink could be a good way to get started."
ink is best used to complement games made within Unity, rather than as a standalone engine. Humfrey says, "ink isn't an alternative to Unity—it's complementary. In fact, ink is one of the only interactive fiction authoring languages that was specifically designed as middleware."
"The most common advice is that you should make a demo game, and I still believe that to be best advice. For artists, make sure you've got an awesome portfolio that shows what you're good at, and hides what you're not good at—only show your best stuff. So, get out there and make stuff!"