How to be “Ready” for the Games Industry: Universities & Colleges

MarkBlog

Walkies Demo scene from Wireframe to Lit

After my last post regarding what Students might do to increase their chances of getting into the industry, I have had discussions with those on the teaching side and what I think Colleges & Universities could do to help better prepare students.

Version Control

One key part is that there are a number of tools that any respectable (and long lasting!) development team or studio use, and most students I encounter are either not aware these exist, or are almost “afraid” of trying to utilise them, citing them as “too hard” to understand.

The first in this list is version control.
Anything like Subversion, Git, Mercurial, Plastic, Perforce… it doesn’t matter which tool they use or learn, as different studios use different ones, but knowing what they are, how they work, how to update the versions of their projects – all of this is paramount!
Especially when they collaborate on a team project!! If they are all working together with version control then:

  • There is none of the “so-and-so has it on a memory stick.”
  • Everyone can see when everyone else is working and what they worked on.
  • Everyone can see who made what changes, so if someone breaks the game, then it’s clear to see who did what, where and why it’s breaking (or it can at least elude to why).

They can also get exposed to automation tooling, such as Continuous Integration, Auto Deployment and testing… but this might be a third-year item or maybe something they at least need to be aware of, not necessarily use?

Experimentation & Development

In my earlier article, I noted about the troubles with “Blank Page Syndrome” and in a similar context, I’ve encountered an almost “unwillingness” from students to try to put their game ideas/designs into something technical like Unreal Engine or Unity.
It’s easy for me to say now with my years in the industry, but both programming and maths are not difficult! The hard part is being able to understand how to put ones thoughts into the context of programming (or maths). Outlining and teaching some basic programming principles in a way that can highlight and link back to game design would, in my opinion, bridge the gap between the creative elements of design and at the very least, experimentation on the technical side.
With regards to teaching methodologies, there are threshold concepts to teaching and learning any subject that unlock the next leaps in their learning… and always relating it through context back to game design or how it works in the game, should help.

Production & Project Management

There are many other areas that I feel Academia could improve when preparing students, but the last big one is Production and Project Management.
The games industry cannot operate on the “Waterfall” development methodology and teaching it in relation to a digital project would be a negative.
That’s not to say that Waterfall doesn’t have any place in production, that’s not true! It works great for building a house where one must do things in a specific order. Or having parts fabricated for a board game. But in video games, Agile methodologies win out. It’s also key to note that Agile does not mean “do what you want.” If anything, it’s got more rules than Waterfall, but because the direction of the product can be steered every sprint (usually every 2 weeks), it’s easier to correct the direction of the game at an earlier stage, with less of an impact to the final product. And a major part is that the game is always playable at the end of each sprint!

Following on from this, the use of proper project management tools, like Jira, Monday or even a physical Kanban board are paramount. Spreadsheets are not an appropriate PM tool! There is a post-mortem on the first Shenmue game where the developers lamented that they used spreadsheets with thousands of rows, whereas they felt they should have built their own PM suite and that would have taken less time than fixing the broken documents (or rewriting them every few months, when they would inevitably become unusable or inaccurate).

 

Those are my key elements that I feel Colleges & Universities should be tackling when preparing students for the industry. I’d be interested to know other developers thoughts, is there anything you think is more important? Just as important? Areas within the sections I’ve mentioned that need special attention?