Using Games to Educate

In the last few years we’ve seen the Internet playing a larger and larger role in education. Everyone seems to expect a revolution in education within 20 years. It’s possible, although I don’t think it will come from the direction that everyone thinks it will (see my post on online education). I want to give my two cents about an ancillary approach: videogames. Games don’t have to teach the students anything. In fact, I think they are much more useful as vehicles for the education. Games provide a background, a context, for new knowledge. For example, playing Deus Ex: Human Revolution (play chapters of a game as homework instead of reading chapters of a book?) could help spark discussion about the current situation of computers, implants, artificial intelligence, politics, etc. The experiences within the game outside of the lesson help students stay interested and apply the knowledge, even if subconsciously, beyond the classroom.

I’m going to focus on two games: Kerbal Space Program and Minecraft. Prmrytchr has a whole blog on using Minecraft (as well as other games) in the classroom, so I’m going to focus on the technical aspects.

the KSP splash

Kerbal Space Program (KSP) is an indie game currently under development with an open alpha available for purchase. In the game, you run the space agency of a particularly derpy alien race in their Sol-like system. In sandbox mode, you can throw together rockets, probes, rovers, space stations, planes, and planetary bases from a wide assortment of parts. Then you launch your constructions and control them to the best of your abilities.

KSP Screenshot KSP Screenshot 2

While hard to grasp at first, the game is incredibly fun. You do need a rudimentary understanding of kinematics to play well. This is the first step in its ability to act as an educational tool. While you can strap an engine onto a fuel tank and try to fly it, you quickly realize that doing anything impressive — such as putting an object in orbit — requires a bit of education. While you could watch tutorials, you could also get a lesson about basic kinematics and orbital mechanics from a present teacher. There’s an opportunity for lessons on engineering, as well.

As students become more proficient, more complex opportunities open up to them. Orbital rendezvous and gravitational slingshots get more involved physically. Spacecraft design, between mass conservation, fuel-mass ratio, reaction thruster placement, and properties of engines, is a great opportunity for springboarding into other physics. Other elements of spacecraft design that aren’t simulated in KSP, such as heat management, enter the realm of thermodynamics. Ancillary topics that arise when discussing space exploration can involve relativity and electromagnetic waves.

Minecraft, on the other hand, is about as physically unrealistic as you can get. However, it provides an awesome way to teach logic and economics. Even vanilla Minecraft has a growing arsenal of parts which allow rudimentary (or not so rudimentary) automation. Redstone is a powerful tool for doing any sort of logical manipulation — or teaching it. Watching your toolbox of gates and mechanisms grow out of a few basic ground rules is amazing. Creative minds are pushed to imagining new ways of using redstone, pistons, minecarts, and all the other machines being added in. While I’m not a fan, mods like Technic or Tekkit expand the array of basic parts at your disposal.

Multiplayer in Minecraft is an interesting case study of economic theory. Because the system varies so much from the real world, it provides an outside perspective on traditional economic theory. As you teach the basics of microeconomics, you can analyze why Minecraft’s multiplayer economy and identify how to restrict it. The ultimate goal of the class could be to establish a working economic system on a Minecraft server (perhaps through plugins/mods?).

Redstone Schematic Redstone Screenshot

Whether or not any of these are good ideas, it illuminates how games don’t have to be the primary vehicle of learning to be a useful educational tool. Games can merely be a springboard, a point of reference from which lessons emerge. The game keeps the students interested and grounded in the topic, while providing a useful outlet and vector of fortification for the knowledge they are getting in class.

Zombies, Pixels, and Cubes (Oh my!)

It’s no secret that many games these days have incurred that oh-so virulent infection. Like the T-virus, it has spread to every sector of the market, turning developers in shambling shells of their former selves. I speak, of course, of zombies. Just last year we saw WarZ, ZombiU, BlOps 2, and Amy. The year before that saw Yakuza: Dead Souls, Rise of Nightmares, Dead Island, and the rather well-named Zombies. That list excludes low-profile games and those which aren’t, in my opinion, terrible. Is this trend developer laziness, or perhaps a corporate influence? I wouldn’t be surprised if teams were pushed towards zombie games because, statistically, they make more money.

While it is reasonable when large-budget games are zombie-based, the same rationality falls short of protecting indie games. Zombie games are a prop-up, a cop-out for a developer who can’t come up with a better framework. Sure, it saves you the effort of establishing a complete universe (which is extremely tricky). That effort can go back into making other parts of the game better. But is the tradeoff worth it? To me, zombies don’t allow for a lot of avenues in terms of creative gameplay and storytelling. Are zombies a fall-back for those who need an extra kick in their games? Just search “zombie” in the Steam Store and sort by release date. Decide for yourself.

On a seemingly unrelated note, I want to talk about retro graphics. Let’s take a stroll down the Steam Greenlight aisle, shall we? In the first few pages we see:

  • MANOS: The Hands of Fate
  • Dead Colony
  • Deprivation
  • Hammerwatch
  • Potatoman Seeks the Troof
  • Dungeonmans
  • Topia Online
  • 16 Bit Arena
  • Spuds Quest
  • Legend of Dungeon

Keep in mind, these are those that are easily distinguishable by their image tile – many more lurk out there behind well-illustrated thumbnails.

What is the cause of this tsunami in indie game market that is retro graphics? Pixel graphics have the added bonus of nostalgic appeal for a certain generation. Art assets may be cheaper to produce. But, at least to me, pixel graphics convey a sense of harsh, delineated gameplay, where fun is equated with difficulty. My mind drifts to games like Megaman, where the reward for beating one level is to play the same level over again, with a different color tileset. I think the benefits of pixel graphics fall by the wayside when the decision is made. Pixel graphics, like zombies, are a knee-jerk reflex for the mediocre game developer. Often these developers are different, but I guarantee that there is more than one pixellated zombie game out there produced in the last five years.

Which brings me to cubes. Thanks, Minecraft. I both enjoy and loathe your trend-setting magnificence. It’s time for another stroll through Greenlight. Bonus points for games that have the word “Cube” in them.

  • Block Story
  • Slip
  • Logicubiks
  • Cell Emergence
  • Brain Cube Reloaded
  • King Voxel
  • Cubes and Zombies
  • Ace of Spades
  • Cube Park
  • Cube World

Ugh. *shiver*. I should do another post on how to not make your game look totally unappealing on Steam Greenlight. You would think choosing a good name and thumbnail would be at the top of everybody’s list. Apparently not.

A Solution for Difficulty Curves and Power Creep

Most games portray you as a hero of some sort. A common trope is for the hero to be either inexperienced at the beginning of the game, or lack his equipment. This gives a reason for why the hero does not just plow right up to the main baddie and kill him at the beginning. In any case, a lot of games suffer from a strangely shaped difficulty curve. The game starts out fairly easy as the player learns the ropes, then the enemies get harder. Finally, you max out your stats and the game begins to get easier again.

Granted, the best games suffer from this less, but a lot of games have trouble with this type of power creep. Spore is a prime example of a ridiculously easy endgame (the space stage was essentially a sandbox). Some developers solve this by making enemies more powerful as the player progresses. This can work in games where, for instance, the enemy starts to realize just how much of a threat you are. In open-world games like Skyrim, though, this makes little sense.

Yahtzee, of Zero Punctuation, mentioned in one of his Extra Punctuation an inkling of an idea for a game that is designed with this problem in mind. I have taken the liberty of gripping the nebulous concept by the horns and fleshing it out.

The game is based around the power suit you wear. It is a magnificent piece of High Technology. Unfortunately, this means that nobody is quite sure how it works. The machining of the piece is much too fine to replicate, in any case, which means any replacement parts have to come from other pieces of High Technology, which are few and far between.

At the start of the game you escape from the main fortress of the Bad Guys with some sort of Valuable Item (perhaps information). You raid the armory and steal the suit before plunging yourself deep into the wilderness around the citadel. You spend the game running from a cadre of pursuers, trying to make your way to the border. At every encounter with an enemy, it is up to you to protect your suit as much. Each blow is physically simulated and, depending on where you place armor, where the hit was, how hard it was, etc. a component on your suit has the potential of breaking. Parts also wear down over time.

The most critical part of the game is deciding how to keep your suit in working order. Some systems are critical, like the pneumatics that let you move (damage to arm parts may impair aiming speed, damage to legs may reduce speed or jump height, etc), and some are dispensable, like weapons. If a critical system receives a hit and becomes in critical danger of breaking down, you have to stop and either fix it with any spare parts you find, or scrap a non-critical system on your suit to get the essential parts.

This meta-game with the suit solves the problem of power creep. You are at maximum power at the beginning, but enemies are also at the greatest density. Slogging through the wilderness and fighting enemies wears your suit down, so by the end you are barely limping along. As time goes on, you have to choose which weapon or system to scrap for parts. This means that you get a sample of all abilities at the beginning, and can keep the ones that best suit your play style. One of Bioshock’s biggest problems was that there was no incentive to try new plasmids. I’m sure the majority of players just improved the starting set, because buying new powers was too much of a liability.

I like the idea of having the game being mostly free-world. You can choose the best path through the different types of terrain to avoid encounters. Cold environments, wet environments, and sandy environments all have different types of wear and tear on the suit. Roads are easy to traverse (meaning less food consumption and lower likelihood of suit failure) but are more likely to find troops on them. Towns and other population centers are more likely to hold supplies (food and maintenance items are critical for survival) and spare parts, but the citizens will raise the alarm if they see you, and there are likely to be troops in towns.

The catch is that any alarms you raise will alert the search parties to your general presence and means a higher chance of encountering troops. Same goes for any military engagements in which an enemy scout or survivor escapes. The game is part stealth (avoiding conflict), part tactics(managing the suit, choosing your world route), part combat (winning conflicts you get into). At the end, instead of a boss fight, you have a final battle at the border of the kingdom as the search parties converge on your position and a friendly militia comes down from the other side of the border to help you across.

OpenGL and Geometry Generation

Today I was thinking about 3D rendering (in part because of the recent work I’ve been doing with ray tracing). I worked out all the math for drawing a polygon based on a list of vertices and a camera. I was considering coding it up, but then I realized that I was very unfamiliar in working with Windows (because I sure as hell wasn’t going to do this in Java). So I spent the greater portion of the afternoon reading a tutorial on Windows programming and using OpenGL, at which point I abandoned my original. I was just going to finally figure out how to use OpenGL.

I had worked with GLUT before when working on a Parallel Computing lab. However, I only used pixel control in that case; I was rendering subsections of a Mandelbrot set. However, that was easier because all the requisite libraries were already installed in the major lab at school (which has workstations with Gentoo installed). Working at home, I have been confounded. I just can’t get the linker to use all the requisite libraries.

The whole thing that got me thinking about 3D engines was my working on a HL2 level. Often I will import brushwork (pieces of the level) from the game’s campaign levels; it saves time and adds a nice level of detail to the environment. However, I was thinking about common elements such as stairs, doors, windows, and grates. It’s a multi-step process to cut a hole in a brush, unless you use carve (but nobody uses carve because it doesn’t give you control over how the geometry cuts). Doors are tedious to cut out and then line up with the texture. Non-solid stairs are the most painful to make, however. You have to arrange the steps and make sure the sidings match up, and for each new type of turn you have to rework the geometry. The whole idea of hand-making all the geometry in a level is ridiculous. I haven’t seen a single FPS level editor than lets you define procedures for geometry generation.

A screenshot of the Hammer UI

A screenshot of the Hammer UI


I feel like it would be relatively simple to define a generation process for buildings, for example. Each building is spaced a certain distance in from the sidewalk. There are maybe two or three justifications for things like planters and doors. Then windows are spaced evenly apart, with buffer spaces on either side of the building. You could attach balconies or planters on to every windows, awnings above doors, and even outdoor area layouts for cafes. After meticulously defining a couple of building styles, you could almost instantly generate entire blocks. Then come the nested procedures. A street, for example, would have periodic drains and manholes, distributions of building types based on the neighborhood type, and junctions to more streets. Signs, traffic lights, road markings, and crosswalks would all be placed correctly at street corners. Coul-de-sacs could fill up empty space. Interiors could be set as well for buildings. Floor plans could be modular. Rooms with distributions of room types and different layout permutations would combine into floors. A building type could have a sequence of floor types defined, such as bottom level stores and top level apartments. Central structures like stairwells would only need to be made once.

Although the procedural parameter definitions might take a while longer than making regular geometry, it would be a huge time saver. Not only could full geometries be generated, but intricate, custom-designed battle areas could be laid out faster. Common terrain pieces like walls, fortifications, stairs, railings, gates, and hedges could be created with the use of a single spline. Suddenly a task like designing the maps for my strategy game becomes less daunting. The pipeline for map production is shortened. General map layouts can be quickly sketched out and then directly generated. Beta testing would be infinitely easier, as map adjustments could be made in hours, rather than days.

Map Design

I’ve always been highly interested in creating levels for games. Computer games enchant people with their story, gameplay, and graphics. Some designer created everything I see in it. It would be incredibly fun and rewarding to wield the same power as the game designers.

Ever since I was a little kid, level design has occupied me as much, if not more than, the game itself.
I started out with games that came with easily accessible editors. Strategy games such as the Age of Empires (and Age of Mythology) have drag and drop editors accessible from within the game. Command and Conquer: Generals has an easy-to-use editor, accessible through its root directory. As I grew older I began to experiment with triggers more, crafting a crude story or giving a gratifying gameplay experience.

Most of these maps were for single-player games, with one exception. I would often hang out at my friend’s house and invite he and his siblings to compete in map-making competitions. We would take the turns crafting Super Smash Bros. Brawl maps, with a rather short time limit. The we would play a quick match on it. The best would get saved and played often. I made quite a few enticing designs in those sessions. My levels created unique gameplay situations that weren’t achieved in the default maps.

My attention slowly fixed on a new game. While I had been familiar with Halo: Combat Evolved for a while, it suddenly occurred to me that I could create single-player levels with story as interesting as the game’s campaign. I looked into it and discovered Halo: Custom Edition. I got involved in the community, and tried my hand at non-drag-and-drop map creators. While I didn’t know it at the time, Halo’s utilities are extremely obtuse. I never had much success in creating my own levels, although I experimented with new kinds of enemy formations and scripting on pre-existing custom multiplayer levels, although I met with little success in the latter. I had an entire 5-part campaign planned out, including overhead sketches, concept art, the beginnings of a 3D model (although I was still a newbie at modeling), and enticing characters. Needless to say, it never got off the ground. To this day, I dream about how cool it would have been.

A step up from Brawl, but a step down from Halo, came Halo 3 Forge. Although it was purely multi-player and was not very powerful, Forge let me create a blend of the epic Brawl maps I had forged and the Halo campaign I had brawled with. I would Forge until my friends got tired with me (I am a PC gamer to the heart, and don’t own any consoles). The recent Halo: Reach called me back to that, although the Reach Forge was so much more powerful that I never had the time to truly explore it.

After Halo, I discovered the Orange Box. Boy, did that open up a whole new world to me. I soon after discovered the Source SDK and began to explore the glorious world of Source map-making. To this day I have a campaign planned out for Half-Life 2 that follows a rebel operative as he subverts Combine operations in the American heartland. The only thing that disappointed me about HL2 was the limited capacity for storytelling (no first-person dialogue, cutscenes, or interaction). TF2, on the other hand, tells a great story, despite being purely multi-player. I am in the starting stages of figuring out how to bring a single-player story experience to TF2.

In addition to Source, Steam let me find Crysis. The Sandbox2 editor truly lives up to its name. I spent hours in that editor, sculpting tropical islands and scripting helicopter fights, beach assaults, and stealth insertions. The great thing about Sandbox2 is that it was extremely to pick up, requiring only a few tutorials from someone like Xanthochori. Crysis 2 with Sandbox3 was disappointingly more complex.


To check out some videos of maps I’ve made and other videos (I’m also into video production), see my YouTube channel.