Monday, March 19, 2007

Limits of Educational Gaming

Caveat: I've always wanted to get into educational gaming, but never have.

Fundamentally, gaming can teach one thing: the game. Number munchers was very good at teaching how to quickly solve math problems while avoiding ghosts. Sim City taught resource management in a constrained system, as well as the civic arrangements that the city bothered to model.

In other words, gaming teaches you HOW to do something. And if how you do something requires knowing facts, ala Carmen San Diego, then those facts can be levereged in as a secondary learning effect. Or your implements that you use might require knowledge... what they do, why they're there, etc. But gaming is not about facts, largely. It's about optimizing for a viable solution when an optimal solution is not apparent. In other words, if you wanted to teach airflow to kids, you could show them diagrams and sheets and stuff, or you could have them build an airplane in software and see how far they all fly. In the former case, they might memorize the theory. In the latter, they'll gain an intuitive sense for the forces involved.

That having been said, it doesn't make sense to offload certain things onto gaming. The raw facts of history, for example, is generally poorly taught by gaming. Just look at all of the world war 2 games out there, and how little the players understand the intricacies of that political and physical conflict.  They probably know that D-day was either the first or the hardest level out there, or that general Patton was an olden-day George Bush, but otherwise they remain uninformed about what actually happened.. But by the same token one only has to look as far as Sim City players to see people beginning to come to grips with the intricacies of local politics. And no matter how many training videos you show someone, they're really not going to become good drivers unless you put them in front of a simulator.

Really, the question should be "how applicable is this particular subject / piece of information to teaching this subject." If you wanted to teach how a nuclear power plant works, a videogame about a nuclear meltdown would be entirely appropriate. If you wanted kids to play around with chemical reactions in a controlled environment, a digichemset game could be a lot of fun.  If you wanted to teach about immigration patterns in the US in the 1700's, videogaming would be less useful.

Gaming is the ability to poke at something and have that change the outcome.  This is perfect for finding out how something works.  What happens to a car when you pull out this bit?  What happens to a robot when you cut out that routine?  Sadly, this is not so useful for learning what has happened, except in the aforementioned incidental way. If that's your goal, consider making / using a video.  But if you want to teach something that students should or might do, video games are a great medium.

6 creativity tips in an established genre

Tips to good design in an established genre

1: Cut been-done features.

You want your players to focus on things that are new and original, not the standards of yore. There is nothing wrong with taking an FPS and adding a new type of weaponry. But if you really want to be creative, you'll gut major parts of the FPS design, and fill it back in with original concepts and ideas. Everyone have a sniper rifle of some sort?  Remove it.  Everyone playing with a medic?  Gone.  A lot of modern designs are so well balanced and tuned, that if you don't gut it first, there aren't really any design holes that need filling.

To be creative, you also need to free up time in the schedule. While every game out there has a rocket-jump, that won't make it any faster to implement again, it will just make it less worth doing. Cut things... your coders and artists will thank you for it.

2: Balance the originality of your setting against the originality of your gameplay.

It's difficult for a player to figure out both the rules of a completely original game and how those rules map to a completely original world. If you're firing sticky balls of goo at opposing players, and different balls combine to form different effects, the rules will be a lot easier to figure out if you are playing in a cheese ball factory in Detroit rather than in a maltzkano malifluator from the planet zorkon 5.

Give the player lots of things that they can latch onto and understand, and you can throw an equal number of curveballs at the player.   They can 

Ore No Ryori

3: Do everything but play games in your genre.

No game is truly original, and the faster you get over that ideal the better your games will be. Street Fighter 2 was a sequel. Dance Dance Revolution was based upon Bemania, which in turn was based upon earlier rhythm games. There were block puzzle games before Tetris. Katamari Damacy used traditional tank controls. Know all of the games out there. This is especially important when you are planning on straying from prescribed formulas. Avoid their mistakes and steal their moments of brilliance.

The best original ideas are stolen from unexpected places. Pikmin was an original RTS that was based upon a stroll that Miyamoto took through his garden. Dual-fisted weapons have been a mainstay in Hong Kong cinema for years before gaming discovered them, and there are still more ideas to be taken. There are a million great, unharvested cultural and stylistic ideas out there, and no reason why you shouldn't be the one to spot them. You just have to look in unexpected places. Why haven't we seen a game that resembles a bollywood musical? Or that captures the feel of mountain climbing?

As a side benefit, if you can reference what you're stealing from, you can convince the rest of your team (and your publisher) more easily to go with your ideas.

4: Engage the player emotionally.

There are thousands of games out there, but most don't make the player feel any emotion. To really "get" the player, you need to convey a mood. This can be as complicated as romance or as simple as panic. Pick an overarching mood, and let your decisions be based on supporting that mood. Give the players emotional highs and lows.

Dada, Stagnation in Blue

No matter what you do, it will be done better if you grab the player's attention emotionally whenever you can. As a side benefit, this helps simplify design decisions down the road.

For further reading, see creating emotions in games.

5: Foster a culture of communication.

Most gaming companies are surprisingly insular. QA people who speak are shut down, major communications mediums are if not explicitly regulated have implicit controls... What you need to do is foster a culture of communication at your company / indie studio / group of friends. Ideas are the bread and butter of a company. Even if an idea itself is flawed, the person pointed out the idea in order to try to cover a flaw in the larger design which may have been overlooked.

Creating a culture of communication takes a lot of time and effort, and comes down to the sum total of little decisions like how you respond at 1 in the morning before E3 to an idea that is being posted for the 30th time and that you've hashed and re-hashed to death. Shaping the flow of communication without squelching it is essential to the freeflow of ideas at your company. And yes, maybe 95% of them will be things already discussed, or you're already doing, or they're not worth more than a cursory glance. But 5% of the time people will come up with the ideas that make your game. Carefully grow that communication, or you will miss out on a great resource.

6: Sweat the details.

Every little detail of your game should have meaning and enhance the effect on the player... from the Cursed Sword of Ultimate Power to the little hut on the side of the village by the latrine, fill your world from moment to moment. Why is you player doing this? Why are your characters doing that? Examine every moment of gameplay as if it were the only one the player was going to have. A hallway shouldn't just be there because you need to get from point A to point B, it should be a choke point, a moment of closeness, a welcome shelter, a dangerous trip into the unknown... Always be asking yourself "what could be the entertainment value of this?"

Looking at every moment of a game in closer detail can help spur ideas that will lead towards more originality. The player needs somewhere to heal... why not have neutral healing spikes set around the landscape by clerics, where both the players and their enemies can heal but can't attack? It would be the perfect place for an ambush, or an uncomfortable temporary truce leading to a Mexican standoff, and you would be forced to go there as a matter of course. By just examining this one little detail, how to give the player health, you've created an effective, entirely new system that enhances gameplay more than having random health paks would.

Monday, March 12, 2007

Let's get real about Lag

Let's get real about lag. We rely upon our game developers to create new and intricate worlds, add layers and layers of interesting interactions, and push their technical capabilities with custom, cutting edge effects layers. And while those are amazing feats, there are some things we don't ask developers to do, largely because they can't. We don't ask them to fix the 360's horrible d-pad. We don't demand they invent new business models for selling their particular title. We don't demand they find a way to fit more gaming into our schedules. And, unfortunately, we can't expect them to "fix" lax.

A little technical background. To communicate with a remote console, your machine plugs into the wall. That connection then jumps to your ISP, usually through your cable router, a local router near your house, and the ISP's router. Then it will probably be passed up to what's known as a "backbone" provider... the super large networks that nobody accesses directly, but that overall see most of the traffic on the internet. It then passes back down to the other player's ISP, then their home. Once the other player has recieved the packed, they send off a confirmation of their own to say, basically, "yes, I got this."

Now, lossy packet routing is part of the normal functioning of the internet. If California is experiencing one of its frequent power outages, you don't want your data to disappear into a black hole, do you? So this additional back-and-forth confirmation and chatter accounts for perhaps a full 2 3/rds of all network traffic.

Check your ping times, and you're likely to find them in the 50 to 100 ms range. That's a full 1/10th of a second behind what is happening. If you have one further packet to resolve conflicts, you're looking at about 1/4th of a second eaten up by lag.  Additionally, some of those packets are going to get lost.  It shouldn't be too 
many, but let's say 1 out of every 20.

That's not to say that all is lost, however, as most game styles can facilitate some degree of predictive play. Which is to say, the games assume your opponents are doing basically whatever it is they're doing. Racing games are the perfect example of this. As a vehicle driving along, it probably doesn't matter what the other vehicles around you are doing so long as you don't hit them. So most videogames just assume the second player has done what the game assumes the second player did, until they recieve the packet 1/4th second later that tells them what they actually did. If the players bump into eachother slightly differently than one or the other console thought, it's pretty easy to bump people back into line with where they would be going. And, by the nature of a crash, this jump is hardly ever noticed.

Now compare this to a fighting game, the worst case scenario on the other side. In a fighting game, not only do you have to have split-second reactions, everything you do after the initial action depends on what happened before. For an example, think of a card game where you see the right card, and slap your hand down upon it. Then depending on whether or not you got that card, you slap another card. If the average reaction time is 1/2 second, then everyone is going to slap down at roughly the same time. Certainly, people will slap down within the 1/4th second window. Then they each slap down on a different second card, thinking they won the initial slap match. As they're slapping down on the second card, the consoles decide amongst themselves who really won the initial card conflict. And while you may have been justly penalized for your first hit, you now are penalized for hitting the "wrong" second card, even though it was right in your frame of reference.

In a fighting game, another player might attack, and you might reverse the attack and go into a throw. But by the other console's frame of reference, they haven't yet recieved your packet that says "they reversed you," so they connect with the first hit and combo into a low juggle. Now you have a connundrum. Whose attack wins? Did the reversal happen? Maybe the other player had an easy throw counter handy, but because the reversal was counted, they've now taken extra damage for trying to do a low kick while being reversed. Or, maybe the consoles decide that the reversal didn't happen before the player began their juggle, so instead of blocking an easy air-juggle, the player is stammering trying to throw a character they don't have.
Fighting games have the unfortunate distinction of requiring both this twitchy fast reaction times and interdependence upon resolution of player actions.

The turn-based combat in RPG's are particularly suited to this kind of irresolution. Ever seen a character in World of Warcraft run past you, only to see them run past you again? The game lost a packet or two, then caught up. In MMORPG's this looks weird, but almost never effects strategy. Same with RTS games, whereby any sort of "conflict" situation resolves over time (get shot for a minute) rather than having instantaneous consequences like in other games.

Players may moan about how it "should" be possible to make a lagless game, but unfortunately that doesn't make it possible. There have been several dozen teams making fighting games with online modes, and all of them have hit the same major, debilitating problem. They can't all be screwing it up.  If you're planning on going online, design your game for longer conflict resolutions and less instantaneous dependencies and it will play fine.  Design it with tightly interdependent frame-by-frame play, however, and it will be nearly unplayable online.  Create for global strategy rather than instantaneous reactions.

Online games don't need to be devoid of play, but they do need to involve creative play setups to both be fun and avoid the spectre of lag.

Wednesday, March 07, 2007

Gaming is my meditation

Pardon the simplification, but it occurs to me that meditation is the process of calming your mind so that the neural pathways which normally demand all of your attention can rest and recover.  Some use a small metal gong and years of focusing on internal states to do so.  Some use pre-scripted movement patterns to achieve that intense focus.

I play games.  These games make the player focus on a particular aspect of what they're doing, and calm the voices that are shouting about the laundry and the bills and that little light on the dashboard of your car.  Games help achieve a zen-like transcendence into themselves.  A meditative journey into a world that exists only in the mind of the players.  They're like little worlds, but more importantly they're like little gongs quieting and focusing your energy.  

Games like Go have been played for years for their meditative qualities.  Video games, while they've shed the pretense of upper-class enlightenment, nonetheless serve as a wonderfully meditative outlet for a weary mind.