Open Upcoming
sandbox_race1.icon

Level Up and Get into Industry: A Semester of Game AI Coding

Alex J. Champandard on July 29, 2009

You can debate modern education, compare games degrees and plot career moves all you want... In the end there's almost nothing more valuable for getting into the games industry than making a solid contribution to a known project, while at the same time working with experienced developers. This goes way beyond what any recruiter could do, and it helps the games companies rationalize their hiring risks better.

After almost a year of work on The AI Sandbox involving multiple core contributors, and months of preparation for this next phase, I'm pleased to say we're in a position of being able to provide opportunities for working on such a project — specifically focusing on game AI. I'm launching a new program for a limited number of people to help co-develop parts of the codebase. Think of this as a hybrid between a Summer of Code and a mentoring program, though it will be more intense, hands on and results oriented.

NOTE: We've already got 3 developers signed-up for this program, so if you're interested let me know as soon as possible. Email <alexjc at AiGameDev.com> for details.

UPDATE: There are no more slots available for this program right now. However, we'll no doubt run this program again in the future. If you're interested, feel free to email me.

Background

Jad Nohra is currently the main sandbox contributor (excluding myself). So far he's worked on the A* implementation and the templatized search library [1], hierarchical pathfinding, improvements to the terrain analysis and area generation [2], and most recently motion planning [3] — among many other things. After all this hard work, I set him up with some of my contacts and well-deserved recommendations. If all goes according to plan, he will be in an amazing AAA AI Programming job by mid-September. (Details and a short interview will follow soon hopefully!)

In parallel, I'm realizing the importance of coaching as a skill for both teaching and improving the game development process. Since this model has worked well so far and it seems there's something in it for everyone, I'm keen to take on new "padawans" — a term that was chosen above all the other options by the first few candidates!

DISCLAIMER: This is not a miracle recipe, as you'll get as much out of it as you put into it... Jad put the most into it and got the most out of it. As a reference, it took over 6 months of working together to get to this point.

Sandbox: Running Race

The Offer

I'm looking for volunteer contributors who are passionate about game AI to work with me directly on the AiGameDev.com Sandbox. It'll be a mix of programming, design and software development focusing on AI, animation and general game development. Like game programming in general, there will be a lot of hard work — but we'll balance that with interesting tasks as well!

In particular, I'm interested in hearing from you if:

  • You're a dedicated developer and your top priority is to get into the games industry.

  • You expect to set aside at least 20h a week over the next 6-8 months to work on this.

  • You have 4 or more years C++ experience as a primary language, capable of working with other's code.

  • You can read, write and speak English fluently.

This list isn't a fixed requirement, but we're looking for roughly this type of commitment. Anything less won't be really worth it for either side. Also, you don't have to have professional experience in the games industry already (that's the whole point of this mentoring), but I'm looking for people who'd describe themselves as comfortable with the C++ language and tools we use.

Your responsibilities will be the following:

  1. Help build, refine and improve the AI Sandbox's codebase.

  2. Develop these systems to reflect industry practices.

  3. Work with other volunteers to design systems and review the code.

  4. Make sure the documentation and tests are in place.

  5. Implement the features into demos and samples.

In exchange, you'll get the following:

  • Advice and feedback about your programming work.

  • Small group and 1:1 mentoring about technology and implementation.

  • Career advice and support to help you get into the industry.

  • Extended access to the Premium Member content.

  • Credit in the sandbox distribution and articles about your work.

  • ...

I can't really quantify exactly what you'll get in return; I've gone beyond what's on this list for some previous contributors on the Sandbox. But I can guarantee you'll get as much out of this as you put into it. If you have questions don't hesitate to email me at <alexjc at AiGameDev.com>.

Sandbox: Running Race

Vision

The big plan is to push towards a version 1.0 (keeping the current semi-open development model), then prepare an SDK for release (which will include some of the code as libraries only) and possibly a public demo.

The goal of this version 1.0 is the following:

  • To simplify the process of creating mini-games with animated characters.

  • To make it easy to experiment with AI designs and prototype techniques.

  • To demonstrate simple and commonly used solutions from industry.

The exact features will depend on progress, the number of padawans, and how many animation assets we can get our hands on. Overall, we'll be aiming towards a simple paintball-like combat environment where individuals can complete simple objectives like capture the flag or hold an area.

Initially, we'll focus on individual behaviors over the next semester, such as animation and the blend tree, the locomotion system, dynamic pathfinding and navigation, the sensory system, and general decision-making and control. Many of these systems are in place already, but there are lots of details to dig into and improve!

Interested?

Post a reply below if you're interested and feel free to email me via the following address: <alexjc at AiGameDev.com>. Either way, these are exciting times; stay tuned!

Discussion 7 Comments

bmedendorp on August 2nd, 2009

This sounds like the kind of opportunity I have been looking for. I am currently in my senior year, working to complete DeVry's 'Game and Simulation Programming' degree. I have been an avid programmer most of my life, but have only pursued formal education in the past few years. After graduating, I plan on leaving my current career in an effort to pursue my programming passion in the gaming industry, but have been trying to determine the best way to get my foot in the door. This sounds like an excellent opportunity! Please keep your eyes open for a personal email as I would love to be a part of your team.

alexjc on August 6th, 2009

Thanks all for the interest! The level of enthusiasm has been incredible. I will contact everyone incrementally... Alex

paksas on August 6th, 2009

Sounds really cool. I've been tracing the progress of the sandbox from the start and would definately like to contribute. I'm currently learning the game programming art and this would be a huge step forward judging from what I've already seen there. I'm sending you a personal e-mail - hope it doesn't get classified as spam ;)

ednildo on August 7th, 2009

I'd like to participate if I fit it in. Thanks Ednildo.

tinidian on August 7th, 2009

Three years ago I decided to complete my BS in Computer Science to learn more about formal programming and freshen up those math skills as a way to prepare myself for a position in the game industry. I finished my degree this year and after graduating started looking for an opportunity to contribute to a project that would improve my skills and aid in my transition into the gaming field. I have worked with C++ for 2+ years as my primary language and C# for the last 2 years at my current job. I currently work on a team with 3 other developers each with very unique standards of coding so I have gotten comfortable reading and modifying unfamiliar code. Additionally, I have worked with some basic genetic algorithms and neural network code assisting a friend build and test a PS3 cluster. I look forward to the opportunity to get involved in this project. Best, Jason

alexjc on August 7th, 2009

Thanks for posting your comments here! Could you please also email me? That'll make it easier for me to keep track of things. Alex

jegel82 on August 7th, 2009

Hi, I sent you an e-mail already. This sounds like a great opportunity to me! Giovanni

If you'd like to add a comment or question on this page, simply log-in to the site. You can create an account from the sign-up page if necessary... It takes less than a minute!