Jump into Game Development with GitHub

Lee Reilly bio photo By Lee Reilly
GitHub hosts a ton of great games, game content, plugins, are more! More details below.


Lee is a software developer at GitHub, a data reviewer for EA's FIFA Soccer series and a l33t gamer

I’m always blown away by GDC attendees’ passion for games - especially the students, recent graduates and indie developers there to network and break into the industry. I’ve heard more than a few people say that the most valuable thing about the GDC is the connections that they make; it’s these connections that help them find their dream jobs in professional game development.

I’d like to take a few moments of your time and tell you about another way to connect, get noticed and perhaps find your dream job.

Geting Noticed

In 2010 Jacob Minkoff delivered an inspiring talk about getting noticed, advising people how they could get their foot in the door. If you want a job in the games industry, stop what you’re doing right now and watch his talk.

Jacob suggests that you need to make game content if you want to get a job in the industry and recommends that you

  • buy a game with an editor and start making levels
  • make a tech demo or utility draw concept art, make models, textures, etc.
  • compose music or re-foley an existing game

He goes on to say that you should share all of this on a web site. Sure, you could spend hours setting up a free/hosted Wordpress site, customize some free/premium themes and spend days making it look awesome, but what are you trying to accomplish?

You probably want to show off your beautifully written, thoroughly tested game code. You probably want people to to easily find and download your content. You probably want your game to go viral and make you Internet-famous for a day. You probably want a safe place to store your projects. You probably want a career in the games industry, want to collaborate and learn. Right? If the answer is “yes” to one or more of the above, please read on…

Share, Sell and Better Yourself with GitHub

Use GitHub and you will

  • become a better developer
  • learn about version control
  • learn about code review
  • learn how to collaborate on projects
  • learn about change control
  • learn how to submit bug fixes
  • learn how easy it is to share your code and collaborate with other developers

A GitHub account will document all of your work and can serve as your portfolio / resume. Your contributions, collaborations and personal projects that you hosted on GitHub will help you get noticed.

Potential employers will see your work.

Game development companies like Blizzard, Zynga, and Unity use GitHub. A number of other companies use GitHub Enterprise internally. A GitHub profile will show a recruiter that you’re passionate about game development.

Getting Started

There are plenty of excellent resources on getting started with Git and GitHub. Once you’ve learned the basics, where do you go from there? In addition to sharing some of your own projects on GitHub, you could look at some open source games, libraries, frameworks, etc. and contribute by

  • fixing a bug
  • refactoring some code (e.g. for better readability/performance)
  • adding some test coverage
  • adding some documentation
  • adding a map/level/thing
  • cloning it and deriving your own work from it

You might even have someone add to your code or want to use bits of your game in their projects.

There are some great game projects on GitHub

Here are some game/game-related repositories I’ve found hosted on GitHub. I invite you to check them out.

Browser-based games

Native Games

  • Arx Fatalis - cross-platform port of Arx Fatalis, a first-person role-playing game.
  • Canabalt - open source release of Canabalt for iOS.
  • Doom - Doom Classic for iOS.
  • Gorillas - An iPhone (or iPod touch) port of the popular old QBasic game.
  • Wolfenstein 3D - Wolfenstein 3D for iOS Source Release.
  • Dominion - a C# implementation of Dominion, a board/card game.
  • Gish - open Source version of the award-winning physics platformer.
  • Gorillas - An iPhone (or iPod touch) port of the popular old QBasic game.
  • Wizznic - most awesome puzzle game.

Just The Source

  • Aquaria - a breath-taking underwater fantasy game. Winner of the Grand Prize at the 2007 Independent Games Festival.
  • Doom 3 - pew pew pew.
  • ID Software - includes Doom, Quake, Wolfenstein and more!
  • Prince of Persia - Prince of Persia!

Frameworks/Engines/Libraries

  • Akihabara - a set of libraries, tools and presets to create pixelated indie-style 8/16-bit era games in Javascript.
  • Chipmunk Physics - a simple, lightweight, fast and portable 2D rigid body physics library written in C.
  • cocos2d for iphone - a framework for building 2D games, demos, and other graphical/interactive applications for iPod Touch, iPhone, iPad and Mac. It is based on the cocos2d design but instead of using python it, uses objective-c.
  • EaselJS - a library to make working with the Canvas element easier.
  • EntityJS - an HTML5 javascript game engine utlizing the entity-component design.
  • Flashpunk - a free ActionScript 3 library designed for developing 2D Flash games.
  • Flixel - an open source game-making library written entirely in ActionScript 3.
  • GenesisEngine - GenesisEngine allows you to create and explore procedurally-generated planetary systems, from ground level all the way out into space. Experiments with procedurally-generated worlds, XNA, and design patterns.
  • Plasma - Cyan Worlds’s Plasma game engine.
  • Tesseract - make mapping more fun by using modern dynamic rendering techniques, sothat you can get instant feedback on lighting changes, not just geometry.
  • Spring - an Open Source Real Time Strategy game engine.

Maps/Hacks/Plugins/Utilities/All of the Things™

  • Halo::Reach::API - Ruby gem for interacting with the Halo:Reach API.
  • Leaderboard (Ruby) - Leaderboards backed by Redis (in Ruby). PHP, Python, Java and Scala versions also available.
  • Tassadar - A Starcraft 2 replay parser written in pure Ruby.
  • libfreenect - drivers and libraries for the Xbox Kinect device on Windows, Linux, and OS X.
  • World of Warcraft Addons - too many to list!
  • World of Warcraft API Docs - the public documentation for the RESTful web service provided as part of the World of Warcraft community site.

Thanks for listening

Have I missed any cool game-related projects on GitHub? Please feel free to fork and add your game to my games repository. Have you used any of these libraries in your games? Anything you want to share? Let me know! Send a tweet to @leereilly.