Evocative Avocations: Amateur Game Development
I was recently inspired by Megan Hicks's blog, 5 Great Books about the History of Video Games. Combined with a rekindled interest in visiting some video games from my adolescence, I was reminded that many of the great video games of my youth are stuck in the past, never to be played again, never to be seen by fresh eyes. While many older video games were held back in terms of visual fidelity and control limitations, they made up for these shortcomings in spades with wonderful design. Looking at an early role playing game like "Rogue" or "Nethack" you see very simple games, combined with a depth not seen in modern gaming. It was in my reminiscing that I realized that it was up to me to take charge and make something of my own, to borrow from the games I grew up with and bring old design to the modern age, and to make my own video games.
Figuring it all out
While I'll probably never release anything I make to the public, I think it is every video game fans dream to work on a game, to contribute to a community that exists typically to devour content. However it can seem quite the daunting task, and so I've gathered some resources to help the fledgling developer. First you must decide the scope of your project. Is this a mobile game, something small and lightweight you can make in a reasonably small amount of time? Is it possible your project will span months, or even years, as you add depth and content into a custom world? What type of game will it be? Who is it for? Is anyone going to help you? The first step here is to come up with your goals and your basic design, get your thoughts out on paper, talk about your idea with someone and discuss if it is feasible. I find the best way to figure out what I want with a project is to talk about it with people and see if they get as excited about it as I am. If they aren't it might need some work, but you're get feedback before you've even begun the actual labor.
Getting down to business
Next comes the arduous work, building your game. First and foremost you'll need to get your software all prepared which will require some knowledge of a programming language, or familiarity with one of the many game development engines available on the market. In this case you have many options, but I won't be able to list them all. Each of these tools comes with their own forums and documentation.
In no particular order we have:
Unity 3D: A free to use engine used by hobbyist, and professional studios alike. Unity is very beginner friendly in that the asset store allows you to purchase and use assets in your games that might make up for some skills you are lacking in, such as art, or programming. Pick up Holistic Game Development by Penny De Byl to get a good start.
Unreal Engine: Probably the most powerful free engine available, also used by amateurs and professionals, Unreal has been around for longer than I care to remember, and their engine keeps getting more and more robust. With the new blueprint system available you can learn to make games visually, which can be a great help to those new to the hobby. My recommendation is Learning Unreal Game Development.
Game Maker Studio: A deceptively powerful engine, more useful for non-3D game development. Some of the most popular games of the past decade have come from this tool, and it is relatively easy to pick up and use. A good place to start would be Getting Started with Game Maker.
Phaser.js: not an engine, but rather a framework, similar in function. I'm not exactly familiar with Phaser, but I do know that it provides an alternative to these bulky engines I've listed that can help you focus on lightweight clean games. Begin your HTML 5 journey with An introduction to HTML5 game development with Phaser.js.
Where to go from here...
After you've gotten down to building your project, it is all about continuing to work. Persistence is key to finishing any project, especially something you're doing in your free time. Find other people interested in contributing to your work to bring your game that much closer to completion. Show people what you've made, and ask questions. See what they like and what they don't like. Most importantly it is time to open yourself to the independent game development community. I've listed some great places to look around, learn, and see what's what in amateur game creation.
- Gamasutra - Game development website with articles and blog posts by people in the industry. Gamasutra is more focused on gaming philosophy, game theory, and design.
- Tigsource - Forum for indie game players and developers with resources and tutorials for everything you could possibly run into.
- Reddit/r/gamedev - Subreddit for game developers, a place for asking questions and receiving answers as well as tips and tricks for game dev.
- Pixel Prospector - Blog with a step by step guide from beginning to end of the development cycle, including setting up shop, and marketing.
There are of course hundreds of other resources available online, but to list them all would be a bit redundant. My final bit of advice is to join a game jam, a small contest where along with other game developers, you compete to make a game fitting a theme in a certain number of days or even hours. It can be an exciting experience that also leads to more fulfilling projects. You can find a physical game jam or sign up to compete online at http://www.indiegamejams.com/.
Game Development at TeenHQ
Teens, don't forget to check out the TeenHQ at King where we have public computers with Unity, Unreal engine, and Game Maker installed for you to start making your first game!