The Past and Future of Game Development Education

This was originally posted by Colt McAnlis on his blog. Sharing some of his experience with game development and creating the HTML5 Game Development Class.

With most things, when you get to the end of an adventure, you start thinking about the beginning, which for me, started waaaay before our upcoming UDACITY course on HTML5 Game Development.

professor_layton

Education has always been an important portion of my career. Back in the early 90’s, when I started getting into game-development, education on the subject didn’t publicly exist; I had to teach myself what was needed through scraping together tutorials, Quake 1 / 2 source code, and hounding the gamedev.net forums. It was slow, painful, lonely, annoying work, and the results were often hit and miss. By the time I hit college my obsession had driven me from a novice to a self-educated semi-stable games-programmer, which caused nothing but grief for my CS professors (looking back, I greatly apologize to all of them 😉

The constant lamentation that I had during my self-education was the isolation. Honestly if it wasn’t for a handful of contributors on the flipcode.org pages and GameDev.net forums, my career in Game development would never have happened.

That’s why I jumped at the opportunity to work as a part-time Adjunct professor at SMU Guildhall school for game development; Firstly I was impressed that this school even happened: you had heard of specialty schools like DigiPen and Full Sail, which were mostly specialty technical schools, but an accredited university picking up game dev? Wow.

Secondly, I couldn’t help but see myself in the process; If I had some formal system of grizzled developers educating me on game dev, I might have been a better developer, faster. In some ways, this opportunity would be a way to try and help these pending game-developers with mentor-ship that I never had. I spent a great  4 years working there, teaching courses on Math, Physics, Graphics, and Concurrent programming. During that time, I was able to connect with hundreds of students and bring to them knowledge of all the crazy game-dev stuff that was stuck into my head. Quite frankly, I loved working with the SMU staff, and was really sad to have to move on from that chapter in my career.

I also found during that time, Engineering in Game Development is the most unique, difficult, and complex skill set across disciplines for programming; It’s very hard to find a set of programmers that have to produce as much content in a short millisecond frame time. Seriously, think about it; an RTS has to do pathing, network prediction, physics/collision detection, animation, visibility culling, scene setup, lighting, shadowing and finally graphics submission/rendering; in 30ms.

In contrast, a web-developer is considered as doing really good if their site loads in under 3 seconds.

Game dev is hard and most times unrewarding considering that most game-players won’t spend their time talking about your long hours optimizing the terrain rendering, and instead will complain about a 0.02s change in the cast-rate of your Druid build…. So part of teaching game developers involves a bit of ego-breaking; You have to let them know that any of their work is only part of the larger picture.

Back to the point, fast forward 3 years (Seriously? WTF?) I’m sitting in a cafe at Google’s Mountain View campus where I’ve spent the past year as a Developer Advocate, writing code, planning strategically, and largely educating developers. +Peter Lubbers, and I were chatting about how to reach more developers on best practices in web-game development, when he said:

“What if we did a UDACITY course on making an HTML5 game?”

I’m not really sure I ever agreed to do any work, or formally asked to be part of the project, I just started rambling on about curriculum, time frames, and started mail-bombing Peter with ideas and code snippets. We had recently wrapped up our exercise building the HTML5 PvP game GRITS, so there was plenty of content available, and it seemed like the perfect chance to bring that knowledge to more developers.

Fast forward 4 months to January 2013, where +Sean Bennet and +Calvin Hu are hunched over a video timeline, trying to find the best way to edit out my usage of the phrase “Your mom” from a UDACITY video snippet for our upcoming class; meanwhile Peter is syntax checking all the code snippets, grumbling about how awful our code looks. It’s a massive understatement to say that working with the UDACITY folks has been an amazing experience; Peter, Sean and Calvin are world-class superstars to work with, and have made creation of the course a fun and awesome process; Those guys built this course, I just opened my mouth and vomited out all the crazy game dev stuff locked in my head. The entire endeavor has proven something I’ve been thinking for a while now, standard-education for game-development is a difficult path to climb. Game devs are young, energetic, ambitious, impatient and generally focus on challenging the status quo; they need their attention funneled into an intense education curriculum to get them up and moving fast. SMU, DigiPen, FullSail and UDACITY are changing how developers make games, in the right ways.

So what’s the course about? Directly we’ve broken down the GRITS framework into a Client-side, and Server-side curriculum, and this first course focuses entirely on the client. We tried to approach the content to present all the tips, tricks, tools and ‘useless info’ that’s needed to make a fast, functional, client-side-only web game. The team has worked in overdrive mode to make sure that we present the right amount education, humor, and great games-industry stories to keep people interested. (also, trying to balance the right amount of @FAKEGRIMLOCK references…)

So if you’re looking to start making HTML5 games, sign up for the class now! If we’re lucky, and there’s enough feedback to warrant it, we just might be able to do the 2nd course, where we teach you how to write all the server-side portions of the GRITS code base; So no pressure, but if you like the course, tell your friends 😉

The class is set to go live on February 4th, followed up by a series of live-streamed weekly study groups, from the Google offices in San Francisco; So if you’re in the area, make sure you stop by for some face-to-face tech talk on a weekly basis!

Until then, here’s a nice blooper reel for you folks to sink your teeth into :)



  • http://www.blogger.com/profile/17401923166617385465 Justin Thomsen

    Is it entirely unreasonable to already request the 2nd course to be made?Looking forward to this course so much!

    • http://www.blogger.com/profile/06589739146871071478 Raphabot

      Couldn't agree more!

    • http://www.blogger.com/profile/11953552444899185452 Robert

      I second this!

    • http://www.blogger.com/profile/01201279100571188116 Ram

      Third this!!

    • http://www.blogger.com/profile/13988861272853791089 David Lipowicz

      Fourth this?

    • http://www.blogger.com/profile/10035289906140092966 Jacob Goodson

      continuing the annoyance…FIFTH PLOX!

  • http://www.blogger.com/profile/03631081847547619094 ChicagoNobel

    I third this. Huffman's web apps course changed my life. It's primary value for me, though, was that it provided a nice framework and foundation to think about building web applications from END to END. It gave me enough so that afterwords I could muddle through the app engine documentation, or learn to use Bootstrap for design, etc. It gave me a foundation in all parts of building a web

  • http://artisticpaper.wordpress.com/ moinchen

    From the video I understand that the course needs that AppEngine again? That was the reason why I stopped doing the 'Building your own blog' course… I just don't want to learn how to use a framework, I want to learn how to do things myself (or with the help of a game module). Plus, I don't have a mobile phone I'm willing to use to activate that server thing (which was

    • http://www.blogger.com/profile/02348502020128071555 Gundega Dekena

      The course will not use AppEngine, it's client side – browser.

  • http://artisticpaper.wordpress.com/ moinchen

    That's good news – thank you, Gundega 😀

  • http://www.blogger.com/profile/04734155420085430839 Softhackghana

    I was surprise when I saw this course here, I just jumped quickly to be part of this. Can't wait for it to start.

  • http://www.blogger.com/profile/17470938394545327763 unbounded

    This comment has been removed by the author.

  • http://www.blogger.com/profile/11605766954064940469 mohsin khan

    Same here, Softhackghana.(just a suggestion for Udacity team) It will be informative and productive, if you make a course on Android App Development (or Android Game Development) as it is an emerging technology and spreading its benefits all over the globe.Hope such course will change many lives and help/motivate them to learn more from Udacity other courses with the peace of mind and

  • http://www.blogger.com/profile/10120215882852334398 Edner Pizarro

    Hey guys, what time will the course be available? it's almost 23:00 here in Brazil and i'm waiting for that so anxious!!!

  • http://www.blogger.com/profile/07849768193162700240 wei lu

    what's the weekly study thing? I'm Sf , how can I attend?

    • http://www.blogger.com/profile/17116760812490159485 Stuart Frye

      We'll be posting more info about that here on the Udacity blog. Stay tuned.