NESTA, Video Games and Computer Science Education

Debbie Timmins wonders why a graduate would choose the games industry.  I can’t fault her logic.  Sounds like I’m in the wrong job although luckily I work for one of the few companies that tries to keep its hours normal, and give time off in leiu.

This is in response to NESTA’s report on how they want British education to generate more computer science graduates that go into video games and the visual effects industry.  The one comment I keep hearing when I mention this is: “why train more when there are no jobs?”  There is something wrong with this whole picture.  I got into this business because it is a really profitable and exciting industry but somehow the rewards have been lost (I guess to the greedy) and not put back into the system (in wages for the talented and funding for education).


Education and Programming

Over the weekend I’ve been thinking about the education system in the U.K. for programming.  A quick search of BECTA and the BBC’s ICT help shows that education at pre-16’s is designed for getting the next generation understanding what a computer is and how it can be used.  It is very broad and the only section which gets close to how a computer is programmed is the “Control and Measurement” section.  This is very poor when I compare it to what I was able to learn at school when I was 14 (back in 1984!)

Stepping away from computers into Design & Technology there is a section on Electronic Logic which is a lot more useful for budding programmers.  Looking at science, in the Additional Science (AQA) there is a useful section on Forces and Motion that is great for games programming.

Lastly, I discovered something called DiDA, the Diploma in Digital Applications – equivalent to 4 GCSEs.  Looking at the relationship between DiDA and GCSEs shows that a “Level 1 Distinction” or “Level 2 Pass” is a GCSE grade C, and a “Level 2 Distinction” is equivalent to GCSE grade A*.

In the Unit Content, they talk about “Unit 5 – Games Authoring“.   This is a very recent addition but there is a draft specification and it is being piloted this year (from Sept 2008).   Reading through the draft, I see that it is game designer/producer training that is being offered.  Obviously the pupils will need to draw upon other skills to help them with this course.

Oh, and here is the reading list:

Jason Darby, Make Amazing Games in Minutes (Charles River
Media, 2005) ISBN-10: 1584504072
Jason Darby, Game Creation for Teens (Delmar, 2008) ISBN-10:
Jason Darby, Picture Yourself Creating Video Games (Delmar,
2008) ISBN-10: 1598635514
Jacob Habgood, Mark Overmars, The Game Maker’s Apprentice:
Game Development for Beginners (Apress, 2006) ISBN
Nanu Swamy and Naveena Swamy, Basic Game Design & Creation
for Fun and Learning, Charles River Media, 2006, ISBN
Andrew Rollings, Ernest Adams, On Game Design, New Riders
Publishing, 2003, ISBN 1592730019

It makes me sick.  From Amazon’s description: “Make Amazing Games in Minutes introduces the game creation process to the aspiring game developer with no experience or programming ability.”  I hope none of the readers of this book expect to get a job!

Continue reading

Why program?

I’ve been away for the weekend (mother-in-law’s) and thought about why anyone should want to program: whether it be for a console game or on a robot.   It is going to be different for different people but most commonly it is because you like to see (or hear) stuff happening based on a pure set of instructions you give to a bit of hardware.  I think it is a bit like cooking.  You build a recipe which, when followed, will create a great meal.  Like cooking though, outside influences or mistakes in following the recipe will give some very odd results.  With experience, more of the programs you write will start to work first time.  At whatever level, you’ll be glad of a good debugger so also learn how to debug well.

I’ve started writing about what it takes to get a program in C++ but that is a really bad place to start.  C++ is hard if you’ve never programmed before. If you’ve never ever programmed then you should look at Python or Java to get you started, and don’t try to write a game first.  In order, I’d suggest the following:

  1. Program to solve something.  Use the computer like a programmable calculator.
  2. Program to control something.  A robot is my suggestion if you can build it, otherwise the usual school example is to control traffic lights.
  3. Program to simulate something.  A bouncing ball or firing a cannonball on a 2D screen.
  4. Program several aspects. Bounce a ball that can hit a target and provide a score.  Although this is small, there is a right way and a wrong way to do this.  Keep the different aspects of the code separate so that they can be replaced with other systems.

After these, you’re on you way to understanding how a computer programmer works.  You’ll also know what I mean when I say, “open your IDE or favourite editor.”  There are plenty of tutorials on the web to get you started.  I’ll get around to linking to some here.

%d bloggers like this: