visit
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.
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.
Let’s talk realities. Maybe you’re a college kid in the middle of
achieving your masters in computer science or maybe you’re a coder for a
major Cloud hosting firm constantly looking to improve your HTML5, C#
and C++ skills. Whatever the case, learning game development extends far
beyond game programming. With more and more companies looking to hire
bright coders with a background in C++, DirectX, HTML5 and down and
dirty 2D mobile skills, the applications for learning game development
exist far beyond the gaming market.
Don’t believe us, take it from , and ReadWrite.
The number three reason why you should learn the languages behind game
development is it will make you employable. Which, in turn, proves my
and your parents wrong once again.
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.
Maybe the best reason why you should learn game dev to make killer
games are Unreal Engine 4 and Unity 5. The basic premise of both are
simple: Unreal and Unity gaming engines allow coders to insert their
code into the engine in a plug and play fashion. Whereas older titles
demanded a programmer code every detail of a game, both engines allows
programmers to code the gaming infrastructure allowing for Unreal and
Unity to take over determining factors like lighting, player instincts
and graphics rendering.
With Unreal Engine 4 and Unity 5 written as a ,
both support games designed for Microsoft’s DirectC, OpenGL and
JavaScript/WebGL. This said, regardless of the language you love or the
platform you love, both Unreal and Unity make it easier than ever to
code for a 3D or 2D game across a wide array of consoles, PC’s/Mac’s and
mobile platforms.
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.
All that said, let’s be honest here for a moment: if you’re a gamer,
you love a good code. You love nothing more than knowing while the demo
of the original Sonic the Hedgehog is playing, if you hold A + B +
C, Sonic will become very disoriented, lose his place and yes, possibly
keel over and die. You also love knowing that if you were to press B,
B, B, B, B, B, B followed holding Up, Y and B in the original NBA Jam for Super Nintendo, you cheated your way to eternally being on fire.
Every one of us who loves gaming is still a ten year old sitting in
his/her basement trying to level up, button smash and tactically
maneuver our way to victory. Call it cheating, call it a loophole or
call it a glitch, you should learn game development so you can program a
few codes into your game providing that ten year old with the thrill of
his/her life. The fifth reason you should learn to code game
development software: pay it forward and inspire another generation of
gamers to be coders.
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.
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.
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.
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.
So there you have it. The top five reasons why . So get to it. Take that idea for a sky diving game and get coding. I for one, can’t wait to play and beat it.