Thursday, 8 August 2019

Teaching kids game theory and logic - more rewarding than it sounds - This week's #ReadItTorial2019

This week's #ReadItTorial once again dives into the strange, surreal but utterly compelling world of game design. We've already touched on our love of Board Games last week, but this week we're turning our steely gaze towards videogames (whether that stupid orange goblin over the pond likes it or not).

Kiddo had been watching me mucking around with the Early Release Candidate of "Dreams" - a Playstation 4 "game" by the talented MediaMolecule - those happy campers responsible for bringing LittleBigPlanet and Sackboy to the world. Watching someone playing videogames (not that this is really a game) is the most boring thing in the world (despite what billions of teenagers might have you believe). So C wanted to get involved herself and have a go at designing a game.

"Dreams", if you haven't encountered it yet, is a whole other level above LBP. It truly feels like you can build *almost* any type of game in it, if you've got acres of disposable time and a modicum of artistic flair.

C's chief complaint with my efforts was that I'd spent a lot of time building game elements, but hadn't actually built anything playable from start to finish - and so "Cat Litter Quest" was born.

With her as my producer and director, and me working the controls (which are pretty unintuitive and - to be quite frank - bloody horrible in places, but do get the job done once you get used to them) we started to think of our perfect game.

We obviously wanted a game with cats in it - and hit the first obstacle straight away. Building a real and actual working game 'puppet' character, fully rigged with convincing animation would have taken us a lifetime.

Thankfully one of the strongest points about Dreams is that despite being an early release candidate, it already has a massive, massive community who are all far more talented (and have way more disposable time on their hands) than us. So we nabbed a working Cat character, and the game design could truly begin.

I think it was me that came up with the mechanism for providing the puzzles. We wanted the cat to work its way through a series of rooms, with some sort of door / key puzzles (dorky puzzles!) for the player to solve. As this is the first level we wanted to make it really easy. So I came up with the idea of having a series of litter trays that the cat would 'visit' - and each time they entered the litter tray (with, ahem, accompanying and appropriate sound effects) this would trigger the door to the next room to open. This was a useful exercise in introducing a playable 'plot' to C. You don't necessarily need a complex backstory for certain games, but you certainly need some incentive for the player to continue through your imagined world, and this became the first lesson in game design for her - give 'em something to do!

First though we had to 'draw' the level. It ended up as a bit of a stark 'dungeon' style thing because A) dungeon walls are dead easy to draw (you just use a ton of square blocks, YAY!) and B) we wanted to 'hem in' the player to stop them breaking out of the level into wide open space. Again, a classic videogame design lesson - give the players some boundaries so you don't end up having to build an entire universe just to achieve a relatively simple aim (videogames do this all the time, some are just better at hiding the game 'walls' than others).

It was pretty tough going to just get straight into building something, so harking back to my youth and many hours spend doodling sprites inside my old maths books we began to break out the old-skool game development tools - a pad of graph paper and some pencils. That way we could properly 'map out' each level and then set to building it in the Dreams toolsets. Once again, another useful lesson - build your stuff in analogue tools first, then get into creating those elements in the digital world. Even now I'd say most videogames start out with some random doodling or level design using pen and paper.

Soon we had most of the components we needed. A litter tray with a trigger zone in it that would play a nice loud farty sound when the cat got on, but also (importantly) would trigger the doors in the level to open in a particular sequence.

This introduced the concept of logic to C. She's dabbled with a bit of Scratch, Python programming and circuit design before (poor girl, this is what you get when you've got such a geeky dad). So surprisingly she was on familiar ground with Dreams, as it uses mini circuit-board-like graphics to control all the various game elements, including the logic for player detection, triggering actions and opening doors.

We soon had the logic for the litter trays built, and the mechanics for the door (a simple door that slid upwards once triggered using keyframe animation - you've no idea how difficult it is to get a door to swing like a normal door in Dreams!).

Together we slowly built our maze-like first level for an intended bigger game, with a couple of sneakily hidden litter trays just to keep things interesting.

But we wanted more of a challenge - there wasn't really any danger in our level. We looked around in the Dreamiverse (the vast catalogue of other people's creations) for a suitable enemy - a big dopey looking dog that would patrol the final room, rob the player of health if it caught them. Something to add a bit more of a challenge like an end of level boss would in any other game.

Working out the logic of how to make our dog move, and pose some sort of danger to our character, was pretty challenging but Dreams allows you to build 'health monitors' into your characters, so they start with a certain amount of health, and a bit is removed each time they collide with an enemy, or try to walk through something they shouldn't (this proved useful in 'hemming the player in' - as we swiftly discovered our cat could jump high enough to get over most of the walls in the game - oops! One quick invisible force field and a stark warning not to jump too high soon fixed that, teaching C useful problem-solving skills in videogame design).

At last we then came to the final hurdle - building an 'end of game' where you rescue your kitty pal from a room filled with Catnip plants (would a cat really want rescuing from that?)

All in all I'd say it probably took us a couple of hours of planning, then around 2-3 hours to build the thing from start to finish - and at the end we published it online (check out the image in our header if you are a PS4 nut, have Dreams, and want to see our creation yourself - it's suitably naff and daft but was fun to work on).

Getting to the point of the design presents kids with a ton of challenges and puzzles to solve that really stimulates their creativity in a really unique way. Educators and therapists are fast discovering the benefits of 'gamification' - and of course anything that involves setting a list of tasks or challenges is a far more stimulating way to learn, or to help someone cope with adverse circumstances - than just writing a list and asking people to tick them off.

I think if anything it's given C even more appreciation for folk who design real and proper games from the ground up.

As well as the ones we've listed here, there were so many different considerations we had to take into account at virtually every stage of a game's design which very quickly become a huge long list of tasks, some of which are immense fun to think around, and some of which are a real pain in the bum.

Whether you share Trump's view on videogames or not (and we're not saying all games are 'worthy'), game theory is good preparation for so many other different things kids will eventually encounter in their lives.