What would you recommend for a career in game design?

General Discussion
I am a senior in high school, getting ready to start college, and I'm looking into maybe pursuing a career in game development. What kind of classes, programming languages, and activities would you recommend looking out for now and while I am in college?
Game industry uses a lot of C++, but I would recommend saving that for later. C++ is an extremely complex language, and it actually requires some advanced programming knowledge in order to actually write good C++ code, since there are a lot of blunders and pitfalls you can commit.

I'd recommend familiarizing yourself with a game engine, some easy ones to learn are Unity and Game Maker, and study the languages those engines use (usually it's C# or Javascript).

Also, study vectorial algebra. It is extremely important for game coding (and computer graphics in general). Games are literally pure math.

Since I'm a programmer by trade but not a game developer, that's pretty much all the advice I can give you.
c++ is #1 for game engines
assembly language is also super useful for improving speed (inline c++ assembly)
c# is a windows only while c++ is write once run anywhere after compiled on that system

c++ = programs run super fast / small size / many libraries
c# = programmers roll out proof of concept fast / programs are slow / windows only / can use a number of tools to peek at how the program opreates

start out with how computers work from the very foundation and work up

learn more then one language but c++ should be your standard go to hammer for most things

assembly takes a lot of coding to do anything useful but can do anything.
also you can import c / c++ libs into asm and use them

for scripts python is very useful but not for games (general purpose scripting)
lua for scripting where performance is needed

http://lua-users.org/wiki/LuaVersusPython

sometimes you need to have a task that interfaces with the web
node.js works well but again c++ also does this

for scripting inside the browser javascript is needed
you can also use python it has many built in tools for this and it does a great job

so learn:
asm | c++ | lua | python | javascript

always think about your purpose of what your doing
does speed matter? memory footprint? do you want users to decompile your work? | ease of maintenance? | secure operation?

for every task not all tools fit the job but c++ is general and fits all above points.
I strongly suggest you know for sure that this is what you want to do. If you are not sure I then suggest spending a month hiking a trail or visiting other countries. If that's not possible I then suggest learning how to meditate and get you brain into the Alpha state and then start asking your subconscious mind for wisdom regarding your career path in life.

If you know it's game design then i suggest reflecting on your childhood memories and look at what you were inclined toward when you were not under adult supervision, aka play time at home. There are specific things that made you very happy as a child without adults around, it is those things that are your innate passions and I strongly suggest you weave them into your life's work.

For example: A person want's to be a game designer. Their childhood passion was going down the river and catching frogs, snakes and turtles. This could then be translated into developing a unique design (looks, mechanics, behaviours) of animals in games of the future.

As far as what you need to learn academically to be a game designer of the future, visit websites of the colleges you're considering and check out what they offer and the various requirements for each course you're inclined to take.
Game development is.. pretty wide a term these days, so depends on what you want to do. If you're thinking of becoming a programmer, you'll want to learn programming logic above all. Languages are easily learned and it's pretty common to look up stuff when it comes to actually writing code, but if you're not good at programming logic you're really going to have a hard time.
Also would you want to do server stuff? Engine stuff? AI programming? Before you start researching what you need, you'd need to figure out which part of the game dev sector you want to target.
04/17/2019 12:11 PMPosted by CareVader
Game development is.. pretty wide a term these days, so depends on what you want to do. If you're thinking of becoming a programmer, you'll want to learn programming logic above all. Languages are easily learned and it's pretty common to look up stuff when it comes to actually writing code, but if you're not good at programming logic you're really going to have a hard time.
Also would you want to do server stuff? Engine stuff? AI programming? Before you start researching what you need, you'd need to figure out which part of the game dev sector you want to target.


Strong point here. Considering OP's post says "game design", I'd say what he is really interested in is on the actual design of the games and not so much on the deeper engineering. Which is why I suggested learning only some basic programming for now and getting familiar with some engine just to be able to turn your ideas into something playable, and also, looking for the other fields involved on game design.

Digital art (learning to draw will always be useful even if you're not the artist), sound design, music producing, storywriting... There's so much to game design that goes beyond the coding. In fact, many professionals in the field don't do any coding at all. Hideo Kojima, one of the greatest game designers of all time, never wrote a line of code.

If you do have interest in programming though, it's really important to know a bit of software design patterns and clean code practices. The entity-component pattern is especially popular for gamedev right now.

If you want to make a game by yourself, then you'll actually have to learn all of the above though.
04/16/2019 08:21 PMPosted by Unguidedone
c++ = programs run super fast / small size / many libraries


Careful with that. Sure, C++ can be blazing fast, but it's also easier to make a slow !@# program in C++ and insert some crazy undefined behaviour. To write good, modern C++ code, there's a massive ammount of study to be done, and you also need a good understanding on how compilers optimize your code in order to write code that can be well optimized by modern compilers. That includes learning some computer organization to know how the pipeline works, how instruction reordering, loop unrolling and many other instruction level parallelism otimizations work. And honestly, that's way beyond the scope of game design, it's more on the scope of writing the actual game engine, which game designers are unlikely to need to do. C++ is one of my favourite programming languages (although it's being slowly replaced by Rust in my heart) but it's also one of the languages I've seen the most cringy code written in.

That said, some engines like the Unreal Engine do use C++ code so you'll have to learn it at some point. I just wouldn't recommend starting off with it. It's like starting to play piano by learning a Rachmaninoff piece.
Your unique gifts and talents should be fully understood and devloped according to your own instincts. You came here to find some understanding which means you're heart is in the game and you're on the right track.

Pinpoint what you can do that nobody else can match. It's wide-ranging, but follow your natural joys of gaming. It may be coding, but don't overlook other aspects of the massive production.

As soon as you land your first big break...you'll begin to see the light of your own direction and everything will flow from there. People will help you along the way as they recognize your power.
Two or three stiff drinks, an evening's serious thought, and a change of career plans.
You will find my answer a bit silly but what Blizzard need are people with PHD in history of medieval arts, of religions and of architecture.

Games are surely mostly maths but even the coders need to understand ascetics and artstyle.
Be prepared to be burnt out by the time you hit 30 yrs old, especially for larger companies. May seem like a long time from now however sleepless nights\20 hour work days, insane & unreasonable deadlines, getting steamrolled by offshoring by companies wanting to save a few $$$ (at your expense), continual skill development or getting washed out the door, project managers with zero IT\development backgrounds, IT departments run by accountants trying to save $$$ willing to cut everywhere possible, no productivity bonuses or rewards for the code slaves are are all in your future for a game development career.
04/25/2019 10:56 AMPosted by CyberDoc
Be prepared to be burnt out by the time you hit 30 yrs old, especially for larger companies. May seem like a long time from now however sleepless nights\20 hour work days, insane & unreasonable deadlines, getting steamrolled by offshoring by companies wanting to save a few $$$ (at your expense), continual skill development or getting washed out the door, project managers with zero IT\development backgrounds, IT departments run by accountants trying to save $$$ willing to cut everywhere possible, no productivity bonuses or rewards for the code slaves are are all in your future for a game development career.

Is it bad if I got burn out on my early 20s? I went to unversity and 1 year army took the best of me and couldnt bear it anylonger.. now i am just an empty shelf.
programming knowledge will bring you a lot of understanding in how games can be made - also its an easy way to enter the gaming industry.

but very important is to play every popular game of the type you are interested in and see what each game does right and wrong - that experience is sooooo important.

Join the Conversation

Return to Forum