So you want to be a game developer?

I get a lot of people asking me, how do you become a game developer?  Where should I get started?  So, I’ve come up with a short list of resources to get you going.

Learning

  1. CodeAcademy.com This is a free resource with bite (no pun intended!) size assignments that are easy to digest and will  introduce you to coding.  I got started by learning Javascript.  While this isn’t a super commonly used language in gaming (like C++ or C#) it still will teach you the basic concepts that all languages use.  If you want to learn C++ or languages that aren’t taught on CodeAcademy, try Lynda.com or Microsoft Virtual Academy.
  2. Handmade Hero This is a video series that walks through every step of making a game.  This shows a complete game and engine coded live, from scratch.
  3. Gnomon Workshop This is a repository of very high caliber instructional art videos.  It covers an incredibly comprehensive range of topics.  Not free.

Specialization

Most games are made by teams, and the key roles include software engineer, sound-person, and artist.  You should start thinking about which of these excites you most and start pushing yourself in that direction.  While indie game developers often wrangle multiple (or all) roles here, most industry jobs require deep knowledge in one of these tracks.  For people getting started, I recommend seeking a first job at a large company because there are more opportunities for mentorship and more resources when you get stuck.  Most small companies can’t afford to risk hiring a noob anyway.  If you pick a specialized role now and consistently let people know the direction you’re working in, they’ll remember you when a job opens up.  Even if you’re interested in all three disciplines, you should not mention that when interviewing for a specialized job.  In my experience, that only hurts your chances.  I got my foot in the door as a tester, and you can, too.  I don’t recommend this because you’ll waste your time.  If you can get a job in a more specialized discipline in the industry, shoot for that.  Testing is a last resort.

Here are some big companies you can get started with.  Check out the game companies in your area.  If you’re a student, check internship opportunities.  Don’t expect to be trained on the job.  This might happen a bit, but it’s not the norm.  People in the game industry are responsible for taking initiative to proactively build their own skill set.

  1. Careers.EA.com
  2. Zynga.com/careers
  3. Activision.com/careers

Game Jams

The best way to get a job making games is by making games.  You can start entering game jams.  I find the best way to learn is not necessarily by doing dry exercises, but by having a creative goal and a motivation to learn a new concept to solve a problem, such as figuring out how to add a feature to a game.

  1. Ludum Dare is a regularly held 48 hour game jam.  There’s a great review process which means other people will actually play your game when you’re done.  A lot!  You can join the #LudumDare channel on IRC to ask questions or meet team members, although most people work with friends.
  2. Global Game Jam is an annual game jam.  Often times colleges participate, and even welcome participants of all ages who don’t necessarily attend those schools.  I’m pretty sure UC Santa Cruz and CSU Eastbay both do this.  Check with your local colleges to find out.
  3. ICFP is a 72 hour competition focused around functional programming but welcome to programmers of all languages.

Programs

These are the critical programs I generally have installed on my dev computers.

  1. Photoshop – This is my primary tool for making 2D art. Gimp is a free alternative.
  2. Maya – This is my primary tool for making 3D art.  Blender is a free alternative.
  3. Visual Studio – This is my primary text editor for writing code.  It’s available for free.  You want to look for the ‘Community’ version of it for free.  There are different versions of this application depending on what language you’re using.  I have VS Express for Web, Microsoft Visual C# Express, and Microsoft Visual C++ Express Edition installed.
  4. Tortoise SVN – This a version control client.  Free!

Additionally, I use these to help my development along.

  1. Fraps – Free screenshot tool.  Helps with bug tracking.
  2. Slack – A great tool to chat with team members.  Free.
  3. Open Broadcast Software (OBS) – Video record dev, make speed paintings, broadcast dev live to Twitch.  Build your community and share what you’re doing.  Free.

Web Applications.  You may not need these, but I like em.

  1. FogBugz – Bug tracking.  There’s a free version.  If they lock you out and want you to pay, call customer support and have them restore your free version.  This happens once.
  2. WordPress – Set up a basic development blog.  Here’s mine.  Tumblr is a free alternative.
  3. HostGator – Host your website.  There are a zillion hosting sites.  I’m getting on a web tangent here, but it’s important to have a site to record your accomplishments and let people know about your games.

 

Hardware

Cintiq If you’re an artist, I really, really, really recommend investing in a Cintiq.  This is a monitor that you can draw on.  It’s pricey (~$1,800), but it’s the best tool for artists making digital art IMO.  If you’re a student, I would suggest you ask your school computer lab to apply for a grant to get one of these.

Play Games

Lastly, to make games, you have to play games!  Your assignment is to play a new game at least once a week.  Check out IndieDB and Tigsource to get started.  I like to play a lot of boardgames, too, because you can spend time discussing the mechanics with your friends between turns.

Good luck!