If you ask any software developer, there’s a decent chance that they have tried their hand at game development. It seems like a natural fit since it uses many of the same skills. What’s more, programmers come into it with the knowledge that most aspiring game makers lack: how to write good code and create effective software.
However, the majority of developers and engineers either don’t stick with game development or don’t even consider it, perhaps thinking that the skills gained from game creation don’t apply to actual software development. If that sounds like you, it might be time to reconsider. Here are seven reasons why game development is actually a perfect side hobby for software developers.
1. You already have many of the necessary skills.
Creating a game requires three main areas of knowledge. You have to know how to create assets (like sprites and sound effects), you have to know how to use the engine or framework you have chosen, and you have to know how to write the code that will make your game run.
The most time-consuming aspect of those three, at least in the long run, is probably asset creation. Fortunately, there’s often enough free art and models available on the internet to mitigate this, at least until your game is done and ready for its own custom style. That leaves the engine and coding, of which programmers already know one and can easily learn the other.
As a software developer, the biggest learning curves to game development are understanding how to work with the tools and learning how to think about what makes a game fun. Both of these things are similar to what we do every day, whether it’s picking up new technologies and frameworks or shifting our mindsets to better understand client demands. The skills are all transferable.
2. It can be easier than an actual side project.
Though this isn’t always true, developing a game is often easier than working on a side project. The key is keeping a realistic scope in mind.
Especially as a new game developer, it’s important to start small. Many small games can be developed in only a few weeks or months once you have enough experience. Tutorials for engines like Unity and Unreal take just a couple of days or even hours, and you’ll come out with an impressive game at the end.
Additionally, more people are familiar with games than typical side project applications or ideas, so it’s often easier to find testers who can give meaningful feedback. Games lend themselves to playtesting at many points along the development process, and making major progress provides the same level of satisfaction (sometimes more) as it would with any other application you might be developing.
3. It can be monetized and marketed.
Similar to an app, a game that you develop can be marketed and monetized. Though sometimes the barrier to entry is higher than an app–the markets for games often have some restrictions–usually, the monetization comes for free.
Unlike an app, where you often have to set up your own payment system or pick an existing library, any platform that distributes games will already have those things established. All you have to do is publish your game, find ways to tell people about it, and you’re set.
4. You can learn new concepts of software design.
Contrary to what many believe, game development does lend itself to learning more about how to write good software. This is especially true if you make learning intentional.
For example, if you have worked in object-oriented languages your whole life, you might spend some time in an engine with a strong component system. This experience will teach you how to work with a component-based architecture, and it might reveal some ideas that you can take back to the system you use for work.
If you are intentional about finding engines and frameworks that work differently than what you’re used to, you’ll pick up some valuable knowledge along the way.
5. You can target your own professional development goals.
It’s not just play. Game development can help you complete your own professional development goals.
Say that right now, you’re working on a single-page web application written in React, but you don’t have any previous experience with the framework and aren’t sure what you can do on your own to learn it. One possibility would be to create a game, and then develop a web page using React (or whatever framework you might be using on your project) that keeps track of scores or synchronizes game information. If your team is doing exclusively server-side things, you could use those same technologies to build a server for your game client’s communication needs.
The possibilities are endless. The main thing to take away is that game development can certainly support professional development and learning if you’re willing to think about how you can incorporate it.
6. It can be a great way to get to know other developers.
One of my favorite things about game development is the community that surrounds it. Often, there are well-established groups and meetups for game developers, and joining some of these can be a great way to meet other game creators and work with them.
Another thing that I’ve really come to appreciate is working on games alongside the people I work with at my day job. Doing game development on the side with your co-workers is a great way to build relationships outside of work while doing something that’s fun. It’s also a cool thing when you finish another milestone in your game and get to show it to others.
Additionally, you can do game jams with people at work. These are usually timed competitions (the most popular being Ludum Dare, which is a 48-hour competition if you’re going solo or 72 if you have a team) where game makers are given a theme and must develop a game based on that theme in the allotted time. Because of the nature of game jams, they tend to be great ways to get together for a weekend with co-workers, create a game you’re all excited about, and have fun in the process.
7. It’s fun.
The best part about game development is that it can be incredibly fun. You’ll certainly run into the same pitfalls that you face in regular development: times of frustration, not knowing how to proceed, and even feeling like you have to fight against the tools you’re using.
However, game development lends itself to an entertaining development process. You get to play and test your game as you go, and there’s nothing like the feeling of finally having enough of your game made that you get to share it with others.
Hopefully, I’ve convinced you that game development is a hobby you should look into soon. If you’re wondering where to start, I would recommend the Unity engine. It’s one of the most popular and well-documented engines on the market. It does have a somewhat steep learning curve, but it is incredibly flexible and powerful, and learning how to work with it will enable you to create practically any game you’d ever want to. You can check out some tutorials here.