Category Archives: GamesThatTeach

GamesThatTeach: Conway’s Life, gamified…

Quick and simple conversion of Life into an actual game (instead of a mathematical “game”):

https://thomashunter.name/games/strategic-game-of-life/

A couple of observations:

  • “Life” makes for a terrible game: it’s far too complicated to translate between “Thing I want to achieve” and “how I would choose/use/combine the pieces at hand to achieve it”
  • …Life using a library might work better, or Life with more human-friendly rules
  • Even in a simple form, the game aspects work quite well: you quickly start to learn *if you have a window open to Wikipedia or similar* how to remember and recreate the classic shapes

GamesThatTeach: Papers, Please

An interesting review here of “Papers, Please”. I haven’t played this one yet, but I’ve been following progress via the promo screenshots they released earlier, and this (p)review sounds great:

“At a certain point, the transit papers will get so complex that you will, inevitably, start making a lot of mistakes. This can become a serious problem as every incorrectly reviewed passport will deduct more and more cash from your pay at the end of the day. With your family’s lives on the line and the job getting tougher and tougher, the game asks you — like actually asks you, through gameplay — what are you willing to do to get the money you need? Will you take a bribe from a shady character? Will you start throwing more people in jail so you can get a cut of the prison guard’s bonus? Will you do knowingly dishonest or immoral things just so you can get that extra ten bucks that might allow your family to eat tonight? There are no right or wrong answers.”

Make an FPS in 7 Days – Game idea: “Follow”

Next week is the 7DFPS challenge – design, code, ship a game in 7 Days, on the theme of “first person shooter”. I want to do something unique and interesting. Here’s one of my ideas.

(if you like this idea, please re-tweet this to vote for it – I’ll decide which to do based on which one(s) people like most) Other ideas: “Runners”, “Metamorphosis”)

Title: “Follow”

Premise: what makes an FPS unique/special among games is the visceral, immersive nature. Almost every *other* genre of game gives you 360-degree vision. This was originally to compensate for the way “a computer” fails to use most of your human “peripheral” senses (depth, perpheral vision, positional sound, etc). The most obvious difference with FPS’s: you can’t see what’s behind you.

In most FPS’s, you only have to worry about your own skin. You spin around frequently to check no-one is sneaking up on you. You strafe round corners so that a head-on enemy doesn’t get a chance to blindside you as you slowly rotate around the corner. Stealth games let you “lean” to make up for the danger of corners.

Core gameplay

Follow is different: you are invulnerable, and you’re being followed by creatures you’re trying to rescue / lead to safety. Because they’re always behind you, you cannot see when they’re being attacked – you can gun down all opposition, then turn round to find out everyone’s been eaten behind your back.

But if you walk backwards everywhere, you’re bound to fall off a cliff, or run into an enemy and only notice it when your followers go down in a hail of fire.

Challenges to the player

Moment to moment during the game, the player has to compromise between the following tensions:

  1. Avoid static obstacles/dangers (look where you run) … vs … prevent followers from wandering off (look behind you, at followers)
  2. Takedown enemies (charge forwards, run around obstacles) … vs … lead carefully (avoid leading your followers into traps / fields of fire)
  3. Hands-off (followers wander and get into danger) … vs … Hands-on (use non-lethal weapons to herd and cluster your followers, so you can keep them alive more easily)
  4. Get to level-end / safety quickly (lose lots of followers) … vs … slow, stealthy “no man left behind” (slower and painstaking but higher success rate)

Upgrades

Three interwoven upgrade paths:

  1. Player: might/damage/speed
  2. Relationship with followers: trust/obedience
  3. Followers: speed/intelligence/resilience

At end of each level, you get cash in a virtual currency based on how many followers you rescued, how quickly – and how much they like you.

(if you got them to the end by bullying … they won’t like you so much as if you gently nudged throughout)

Weapon availability

Potentially: various unique weapons only “unlocked” when you achieve difficult non-shooting things, e.g.:

  1. Complete a level with 100% survival of followers
  2. Keep followers at 90% or above happinness for 5 levels in a row
  3. Complete a level in under 50% of the “par” time

Ideally, those weapons would be complementary to the achievement. e.g. for the “complete a level fast” award, you’d get something that made it easier to complete levels stealthily (you’ve already mastered “moving fast”, so this gives you something valuable).

…also: if you don’t like playing fast, this gives you a high cost/reward incentive to do so: you want to play stealthily, you want the uber-weapon for stealth … so you need to take a break from stealth-play to go earn it.

Summary

I like this idea because:

  • …it’s an FPS about protecting people, rather than slaughtering them
  • …it emphasizes the vulnerability of “people other than myself”
  • …it demonstrates that making yourself into a super-soldier may be ultimately useless and unrewarding
  • …it makes the purely-tactical parts of an FPS a lot more strategic, as core gameplay – rather than relying upon “map design” and/or “multiplayer team tactics” to provide all the strategy

GamesThatTeach: “Let’s Play: Ancient Greek Geometry”

Excellent game for practicing circle/line/compass/ruler construction (as loved by junior-school maths exam writers): The regular polygons have been kidnapped by ninjas. Are you a bad enough dude/tte to construct the regular polygons with nothing but a virtual compass and straightedge?

“It’s a Compass and Straightedge tool/puzzle game written in JavaScript. I’ve always thought Geometric Construction felt like a puzzle, so to me this pairing was quite natural. Compass and Straight edge is a technique for constructing shapes out of circles, straight lines, and their intersection points. You can read the wikipedia here – but watch out, some of the gifs are spoilers for the game.” – http://blog.sciencevsmagic.net/science/lets-play-ancient-greek-geometry/

The exciting thing here is that it shows how to create “perfect” polygons – not estimated, not relying on a pre-made protractor / angle measurer, but 100% accurate, using rules of geometrical construction. For instance, here’s how to draw a perfect pentagon, without any tools beyond the compass/pencil/straight edge:

http://sciencevsmagic.net/geo/#0A1.1A0.1L0.2L3.0L4.4A1.1A4.12L0.17A0.17L21.2L29.0L29.0A6.29A51.N.0L29.29L6.6L0.60A6.29A51.60L73.73A60.6L73.73A6.6A73.6A60.6L161.N.161L6.6L60.60L73.161A6.73A60.142L161.73L142

Games that teach: Code Combat

http://codecombat.com/campaign = Tower Defence clone where instead of just placing towers … you write basic commands in javascript to manipulate your troops around the map:

This is an early preview build, so it ONLY WORKS WITH CHROME (EDIT: (deleted off topic personal commentary) … Chrome’s native plugin stuff is great, I can see why a lot of devs use it for prototyping … but the politics around Google, and their actions to edge-out more inclusive, free, open browsers is distressing)

Screen Shot 2013-06-10 at 19.36.04

SVGs, silhouettes, and … dinosaurs

With my recent fixes to “auto-scaling” in SVGKit, I can now take in images, apply various effects, and lay them out in a grid:

Screen Shot 2013-04-14 at 16.04.11

  • Top row: input SVGs of arbitrary size, auto-scaled to fit
  • Middle row: applying a 2 lines of code filter to remove the colours
  • Bottom row: applying a 2 lines of code filter to convert to a solid silhouette

…next step: get this stickers-game working…

Teenagers learn to program, write own 3D game, in 3 weeks

Background

Last year, Pearson ran the first ever Innov8 competition, giving tech startups a chance to make their own innovative new product/project. The grand prize was £5,000 towards building the product.

Most of the teams were adults (even: real companies), but a team of students from Blatchington Mill School won, with their idea for an iPhone/iPad app: “My Science Lab”.

Team: Quantum Games

The three students named themselves “Quantum Games”: Jon, Nick, and Oli. All three of them have been studying for their GCSE’s in parallel with this project.

They’ve been supported by Mark Leighton, Assistant Head / ICT Director at the school.

For mentoring and game-development expertise, they had me – Adam Martin – previously CTO at MindCandy and NCsoft Europe, now an iPhone/Android developer

Previously

The students chose to focus on a game that would help other students revise the “Momentum” part of GCSE Physics.

In summer/autumn 2012, they learnt the basics of game design and development. We didn’t do any formal teaching – they simply had to pick up the skills they needed as we went along. YouTube videos, and “trial and error”, were our primary techniques…

In particular, they learnt 3D-modelling and texturing (using Wings3D and Photoshop) and game-programming (using Unity3D and Javascript).

By the end of 2012, they’d written their own physics engine, some basic gameplay, and a simple simulation of an exercise/problem in Momentum.

Last month

The big thing this month has been BETT. Pearson had a large stand, and asked the students along to talk about the project. They gave an excellent presentation to an audience of approx 30 people at BETT, covering the background and some of the things that went well, that didn’t, and what they’d learnt from it.

Leading up to BETT, they worked hard to squeeze in a new build of the game, with a rethink on the interactive sections and how they hang together. Unfortunately, we hit what seemed to be a major bug in Unity’s camera-handling, and none of us could fix it in time (nor could we get an answer from Unity support in time). But the students managed to invent a workaround at the last minute which worked fine for demoing at BETT.

The game isn’t finished yet – GCSE’s and schoolwork left too little time to complete it before BETT – but we’re very close now. The students are aiming to finish it off this month and next, and I’m hoping I might even be able to take a copy to the GDC conference in March (taking place in San Francisco, GDC is the commercial games industry’s main annual conference).

In the meantime … you can sign up now on the Quantum Games website (http://quantumgames.co.uk), and we’ll email you as soon as the game is ready – or sooner, with a private beta-test!

Free art can help create a generation of non-pirates

The 21st century will be dominated by “digital” culture and art. History suggests that non-digital art will flourish too (while becoming a smaller, more specialized, part of a larger pie). So it’s all good: more people will have more opportunities to create – and more access to experience – a wider array of art. Win/win!

Except … our societies are struggling to work out how we’ll pay our artists when the marginal price of a copy is less than a penny.

Last week, something interesting happened when several unrelated projects I’m in all came together at once.

Someone is ‘stealing’ from CGTextures.com

Marcel at http://www.cgtextures.com/ gives away a huge library of high-res photo textures, aimed at game-developers, entirely for free. You don’t pay for access, you don’t pay to use them. You can include them in commercial games, make a million dollars – and you owe him nothing (bar gratitude).

Last week he came to a private forum asking for advice on suspected copyright infringers, who might have been taking his free images, removing the attribute/authorship info, and selling them for themselves.

Copying the images, and charging for them, is not theft. It’s illegal, but it’s not stealing. The original source is still available – free – to anyone who wants it. And many authors in this case are inclined to let the scummers go free, so long as they stop charging innocent users for something that’s free to all.

But CGTextures isn’t free to run; if they ever need to raise funds to pay for it, some of that money – which the community would happily donate – is being taken right now by a selfish scummer. Hmm. Tricky.

3D art is hard

If you’re “not an artist” (which for most people means: “I’m crap at drawing/painting!”) then making any kind of 2D art is very difficult, and tends to look like utter crap.

Computer games are dominated by good or great art. Even in the Indie scene, where “teams” are often no more than 2 people working together, we have a blinding array of beautiful artworks. At the opposite end of the spectrum – the AAA titles with budgets counted in “tens of millions” of dollars – it only gets better.

People love playing games – and they love making them too. Many people – artists and programmers – dream of “making a game”. But … just like “I’ve a great idea for a book” … the vast majority never manage it.

Two of the most common reasons they fail:

  1. Aiming too high: games require a lot more work than people imagine, and most people get 10% in and discover they’ve bitten off way too much to chew
  2. The artwork looks crap: everyone they show it to hates it (or they dont dare show it), the author hates it, they realise that no-one will play it, let alone pay for it, and they gradually lose the will to finish the project

Anyone can make a game: even un-trained teenagers

We’re in the final few weeks of proving this (a team of three 15-year-olds are about to publish their iPhone game that they designed, built, tested, and launched from scratch).

Starting with nothing but beginner-level knowledge of Javascript (not enough to write an app), they’ve:

  1. Learnt Javascript
  2. Learnt 3D-modelling
  3. Created all their own 3D models, with textures
  4. Built, tested, and refined a working game

Sounds hard, right? Well, yes, it was. But – if you know enough tricks of the trade – most of that can be made easy enough for anyone to do themselves.

  1. Game structure – use an established game engine
  2. Programming – stick to “simple” programming concepts
  3. In-game artwork – “stylised” 3D models are trivial to create (c.f. Minecraft)
  4. Testing – use a modern IDE with a decent debugger

This is all great, but I’ve glossed-over one item there: textures. You can avoid the need for painting skills by making your game-items 3D instead of 2D, but sooner or later you’re going to need to texture them.

JFGI

With the programming, one of the skills I’ve drummed into them is JFGI (Just F’ing Google It). Everytime you get stuck: google it. If you get no hits – fine, you’ll have to work it out yourself. But often you’ll find:

  1. It’s a bug in your tools, not your fault! Here’s a workaround…
  2. It’s practically impossible; don’t waste time trying to solve it…
  3. Your software documentation / manual was missing the following info: …
  4. It’s a generic boilerplate piece of code. Don’t worry about it, but use this copy/pasteable code solution: …

Leveraging the internet as a resource is fundamental to being a great programmer. I’ll gloss over the risks / dangers for now (I’ll write another post on that later), but most of the time you cannot JFGI too often.

But … with the 2D artwork, with the textures for 3D models … Google becomes a danger.

Google Images: the devil on your shoulder

Writing a presentation, and need an image? Google Images it!

…making a game, and need a “wood texture”? Google Images it!

WHOA THERE, JOHNNY!

Doesn’t feel like stealing (that’s cos it isn’t) – but it is something illegal: copyright infringement. It’s precisely why “copyright” was invented in the first place.

And yet: this single problem can make all your effort, all your hard work on your own creative artwork (your game), invalid. You can have the most sublime game design, a control system that a toddler can master, a frame-rate as smooth as silk … but if the 2D graphics (or the textures) are crap … the whole thing falls flat on its face. And most people can’t draw.

How the pros do it

There are simple techniques for making very good textures starting from random photographs. Even a novice can create something perfectly “good enough” in a short amount of time.

Only one thing is needed: a big library of photographs, MORE THAN ONE per real-world “texture” you need to create. If you have the money, there are dozens of Stock Photography resources, each one costing hundreds (or: thousands) of dollars a year.

But if you’re students – undergraduates, high-schoolers – or simply “not rich” (“artist” isnt’ exactly a high-paid career) and working on your own, you probably don’t have “hundreds of dollars”.

Hey, I know! Let’s use Google Imag- … crap.

Enter stage left: > http://www.cgtextures.com/ – a FREE, ROYALTY-FREE, MASSIVE collection of photographs DESIGNED FOR USING IN COMPUTER GAMES. Why? I guess Marcel is just a naturally generous person.

I showed the guys CGT. No problem; texture sources a-plenty. And it’s all free. And legal…

Full circle

  1. potential pirates who are ‘creating’ are happy to respect copyright, if you educate them early enough … so long as they have viable alternatives
  2. if you take away the alternatives, they must weigh up the moral “cost” of infringement against the moral “benefit” (and personal satisfaction) of completing their own work
    • I’m not advocating this piracy; but where no theft is involved, to most people’s minds the cost is tiny and the benefit is huge. Realistically I expected few people to resist when he temptations – both moral and practical – are so big
  3. sites like CGTextures put “artistic creation with 3D” in reach of everyone
  4. pirating art from CGTextures is – AFAICS – only a criminal activity: illegally extract money from someone else’s work, with no ‘creation’ involved
  5. …but if sites like CGTextures go away (if Marcel gives up), and the next generation of artists lose their alternatives, “copyright” has no chance at all

IMNSHO, anti-software-piracy organizations tend to be idiotic, amoral, and begging to be nuked from orbit. They’re often part of the problem, not the solution. If they genuinely wanted to reduce piracy, they should be creating sites like Marcel’s: royalty-free resources of reduced cost that their industries could easily afford to give away for free.

The debate has – for way too long – characterized software pirates as “inherently evil; bad-doers; malicious”. This is undoubtedly true of some (my opionions of anyone re-selling CGT’s free art are unprintable). But we’re not born as software-pirates; we get that way because of the culture and society we grow up in. We have the opportunity to teach new generations respect for copyright – but that cuts both ways.

In the Digital Age, copyright needs to deserve our respect, not simply demand it.

Some other free texture sites

While checking some of the points in this post, I noticed a few other photo-texture sites that offer royalty-free images suitable for games dev, worth checking out:

GamesThatTeach: Different snakes, how they look, how they act

Snakes on a Cartesian Plane

Interesting because:

  1. Each snake has to be unlocked by in-game activities that are (sometimes) related to the snake itself
  2. Every snake changes the gameplay in a way that’s always related to the snake itself (with a small piece of text hinting at – or directly explaining – why)

Things I’d like to add:

  1. Photos of each snake when you start the level, and each time you die, combined with the snake name; a passive reinforecement

First in a series…

I’ve decided to start grabbing and posting tiny summaries of games I encounter that – usually accidentally – are teaching something clear. I don’t care about … actually, no – I detest – educational games / edugames / edutainment. Every game teaches; every game teaches.

It’s just that usually the game-designers weren’t particularly concerned about “what” it teaches – and it’s normally quite difficult to work it out.

Incidentally, gamesthatteach.com is apparently being cyber-squatted by Monster Jobs – looks like Monster is focussed on subverting Google to get money at any cost, no matter what gets trampled in their way.