Getting Started with Game Development
Creating a game has never been easier than it is now. The tools we have at our disposal can be easy to use, inexpensive, and allow us to express ourselves in more ways than ever before. When people think about developing a game, they tend to look at one of many available game engines. A game engine simplifies the work of putting a game together, by bundling everything needed to make the game work. This article is primarily aimed at beginners with little to no experience in game development. Additional posts are coming with more in-depth development tips soon.
Planning
The hardest part in entering a new field is defining a scope for your first project. Naturally, you might try to make an overly ambitious game with lots of features and multiplayer, but I would instead start with something simple. Ideally, you would start a game design document, this is a written-out version of the mechanics, style, and feel of the game. You don’t necessarily need one of these to make a game, but just winging it can lead to features becoming half-baked and the end product feeling a bit messy. I would also suggest starting with a 2D game to learn the fundamentals before moving onto more advanced 3D capable engines. Even though it seems small, that extra 1 dimension adds 3 times the complexity to a project.
Art / Graphics
You don’t need to be the world’s greatest artist to make a game! Some of the biggest award-winning games have simple art styles and great game mechanics.
For pixel art, it pretty much doesn’t get better than Aseprite. With frequent updates, great community support, and easing exporting for any engine, this is my recommendation. If you can follow the build instructions, you are even able to compile the program for yourself and save the $20 cost as the software is open source (but not “free”).
Some other completely free tools are Paint.NET, GIMP, Lunacy, or just plain old MS Paint. It’s very easy to get wrapped up in a tool, but ultimately the end result is more important. Feel free to try a tool until it doesn’t work and then try something else. You could even draw things on paper, scan them in, and trace them in any of these tools.
Game Engines
There is no such thing as the “perfect” game engine. All of them have their strengths, weaknesses, skill requirements, and target developer in mind. Nothing forces you to use one either, my favorite game was Roller Coaster Tycoon, most of which was handwritten in Assembly. But for someone starting out, picking an engine with ease of use in mind will help you find what you need to get that idea onto the screen.
Construct 3 – Paid Subscription/Free Trial
Construct 3 is an engine I used myself quite extensively and has proven itself as dependable and easy to pick up and get going. The free plan is more of a trial as I find it very limiting for all but basic ideas. But it is enough to learn with and see if a paid subscription is the way to go.
Visual coding in Construct 3 is intuitive and powerful. Many complicated things to program are available as “Behaviors” which can easily be assigned to objects and properties tweaked as desired. This means you can create a platform game in a basic form in about 5 minutes, with controls and physics ready to go. The whole thing runs inside a web browser, meaning nothing needs to be downloaded to a device and projects stored in the cloud. This means you can easily hop around devices, even a tablet, while working on a project and keep everything safely synchronized in the cloud.
The downsides to Construct 3 become apparent when you want to push into more advanced games, although it is capable of some very cool 3D and 2.5D effects, again all with the ease of a few buttons. Coding in JavaScript or any other language is not a requirement and therefore it is my number 1 pick for those looking to dip a toe into the game design world. All games export to HTML5 which runs on just about every device with very good performance.
GDevelop – Freemium/Paid
GDevelop is very similar to that of Construct, with a visual scripting blocks and manual coding if desired. There is a fee to remove the splash screen that also enables for easier mobile app publishing but is otherwise an open-source game engine.
While open-source, GDevelop still pushes quite hard to get subscriptions from their users. The features are still the same, with no restrictions on your game except for a splash screen while the game is loading (this can even be modified but I would not consider this a task for beginners). Other than that, GDevelop utilizes an almost identical visual scripting system, with some bigger differences with variables and some structure. Switching back and forth between the two, I found Construct 3’s take to be a bit easier to follow, but both are powerful and simple to make great games.
More Advanced Options
- GameMaker – Now free for non-commercial use with a one-time fee of $99. GameMaker is a solid engine that has a library of very successful games behind it. It does have a bit more of a learning curve than above.
- Godot – A monster of an engine with a rapidly growing support base. Godot can do full on 3D and 2D games with either its own scripting language GDScript, C++, or C#.
Further Steps
What next? Consider forming a team to build your game. Once that is starting to take shape, the next goal might be to start getting the word out, launching a kickstarter, or publishing your game. Streaming either the development or playing your game is also a great way to build a community. I won’t go too far into these options as I think that moves into more advanced developer territory, so just have fun and start making games! Even if you think they are terrible, even if you aren’t the best programmer or artist, and even if you think no one would ever play your game for any reason, make it real, spread the word, and learn. I promise you; everybody’s first game wasn’t their best.