Because the universe is beautiful enough without having to lie about it

Realistic Gaming

September 30th, 2008 Posted in Artificial Intelligence

This is a bit of a departure from the theme of this site, but I was just reading discussions about adding realistic physics in computer games and I started thinking about what it would take for a game reach the ultimate goal of realism.  Once we get there then the sort of gaming experience created will make World of Warcraft feel like Pong.  Some of these ideas are already been investigated within gaming environments, but others are still way off.  The main benefit of all of these ideas is that they allow game designers to massively leverage their time by creating processes that create content, rather than creating content directly.

So, in order of increasing difficulty:

  • Accurate lighting and shadows
Modern graphics engines are extremely impressive, and are getting better.  Currently, the trend is to look towards the technique of ray tracing to generate more realistic lighting effects, reflections, realistic looking materials etc. As recent games such as Crysis show, handling shadowing and lighting effectively can add a great deal of realism to the graphical impression a game makes.
  • Realistic physics

When you pick up a vase and throw it at something, it should smash and scatter shards everywhere.  You should be able to pick up those shards and use them.  If the vase hits a glass window then it should smash and scatter glass according to the laws of physics. Physical objects in a scene should be fully manipulable just like in real life. If you smash a table, you should be able to use the legs as weapons. Some good work has been done by people like NVidia/Ageia with their PhysX engine but there is still a lot of work left to do.


  • Terrain Generation
When creating a large game such as an MMOG, you have two choices.  In almost all (perhaps all) cases, game designers explicitly design every square metre of terrain, including (especially) all the dungeons and other instanced areas. Being able to generate a substantial amount of terrain, whole continents and sprawling underground lairs totally automatically would spare vast amounts of hard work and would enable game designers to focus work elsewhere, on the areas of the game that they wish to be specifically scripted. It would also enable a vast increase in the size of the worlds that could be offered.
  • Realistic background behaviour
Have you ever had that feeling that most of the characters in a scene are just standing around pointlessly, following pre-determined paths? Well that would be a good thing to fix to make village scenes really come alive. Shoppers should actually shop, for example.  And how long can shopkeepers stand around in the same place doing nothing before they get bored?
  • Realistic clothing effects

Solid, metallic armour is easy to simulate, but getting realistic effects with cloth or leather is more tricky. Making clothes look great is just the first hurdle, the hardest bit is to work out how to incorporate armour and clothing into the game dynamics – how does the use of armour restrict mobility?  Should fabric clothes be flammable? Will clothes distract the attacker’s attention? What happens when the clothes get wet?

  • Realistic weather effects
Having animated rain and snow is easy. What’s difficult is making the rain affect the ground, creating puddles that leave their mark on your clothing and bog down your horses.  Having snow settle on the paths, and having it melt into streams of water would be an amazing touch.  Having wind blow up leaves, sway trees and create sandstorms would add enormous believability to wilderness scenarios.
  • Bio-kinetics
Some progress has been made on creating living creatures, including humans, which behave realistically when interacting with the physical world.  In a perfect game, characters should be able to walk around any terrain realistically, not based on a precalculated animation loop, but as intelligent agents, evaluating the terrain, stretching to cross gaps, tip-toeing around obstacles and clambering up slopes.  When they fight, they should react realistically to stumbles and falls, and should fall over properly when struck by heavy objects. Pre-calculated animations are the technology of yesterday. Some good work in this area has been done by Natural Motion.
  • Realistic (not pre-fabricated) buildings
It takes a lot of time to design a building, complete with decorations, windows, roofing and all the various bits of furniture in all the rooms.  However, in a real medieval town, no two buildings would have been identical. To design a large city of, say, 100,000 buildings would require more work than any game company could realistically muster.  However, if they could develop a technique by which houses could be fabricated algorithmically, to fit around any terrain and to serve any purpose, then the designers would only have to specify a set of general styles and the rest would take care of itself.
  • Convincing voice synthesis

Currently, games often use expensive voice actors to add realism to their character interactions.  There are problems with this approach – most obviously that this massively limits the amounts of speaking that any character can do.  In terms of realism, it also affects the emotional depths that spoken interactions can achieve because, for example, a sentence would have to be recorded totally separately if it was required to be spoken in anger, doubt, anxiety etc. A sophisticated speech synthesis module would be able to generate convincing human voice with the emotional nuances that we would recognise as clear emotions.  It should also be able to react to interruption, sudden shock, exhaustion and all the other potential situations that a character might incur.

  • Knowledge models

This is fairly closely related to the next point, but I think it’s a fundamental problem with games and would be difficult, but not impossible to solve well. Solving this problem is a subset of what is required to tackle the ultimate test of the final challenge, so is a sensible first step. Knowledge models are part of what make us human. When you commit some action in a game then a certain number of witnesses should be aware of that action, but they can choose to share that knowledge as they see fit with those they encounter. Knowledge in real life societies spreads like this. How do peoples’ opinions change as their knowledge updates? How do they treat the player based on the knowledge they have acquired about his or her actions? How does that behaviour change as they get to know you better? How do personalities affect this? What about modelling misinformation, propaganda, lies and mistaken identities? What about gang mentalities, based on conflicting communal knowledge models?

  • Convincing conversation engines
This is always going to be the big daddy of all the challenges facing games programmers. Essentially, how do you solve the Turing test? How can you build non-player characters that interact with you just like a human being would? Or, at least, produce a decent approximation.  Currently, programmers generally have to script every single interaction with every NPC, so this takes a great deal of time to write and is extremely inflexible.
For example, when you first arrive at an Inn, you might buy a drink. Next time, the landlord should remember what you ordered, and might suggest it again.  That much is easy, but the Turing test is much more than that.  The landlord should be able to give you advice on your travels, not just based on his own experience, but also based on the things that you tell him. He should be able to discuss the weather, the local political situation, the dangerous parts of the world and how best to explore them, equipment advice or maybe military tactics. And, if that all proves too heavy, you should just be able to get drunk and chat about girls. This is what a fully immersive game experience should provide but, I’m sure I don’t need to say this, solving the Turing test is a very long way off indeed.

I’m really looking forward to seeing progress in all these areas.  Some of them are very close or more-or-less here already, but some of the others are still a very long way away. It’s going to be a fascinating journey watching out for progress in all of these fields, but I suspect that at least half of them will be reasonably well handled within the next five years.  I can’t wait to test the results!

Be Sociable, Share!

Post a Comment

To protect against spammers, please enter the letters you see below

Please don’t bother posting "you’re wrong, you jerk" comments, unless you can back them up with valid scientific research papers.