NOTE: This article was supposed to appear in a Gaming related website (one more prominent than this) but due to certain re-arrangements concerning the operation behind the website, this plan has been (now finally) abandoned. Cheers and all the best to Nick.
We are peering in to a crystal ball to see what kind of developments we might see in gaming in the next 10-30 years. Usually when people make predictions they tend to exaggerate the short term development but underestimate the long term development. I take 10-30 to be short term so I’m taking the safe route proposing that things will stay mostly the same. We wont have the “holodeck” or “brain-computer -interfaces”. The computers we use will look mostly like the ones we use today. Perhaps they will be smaller, quieter but not light-based or quantum-anything. Programming of sort will still be required, Artificial Intelligence (AI) won’t be doing the job of game development for us, and cars will, for the most part, stay in the ground.
This article will focus mostly on software but of course everything will be affected by how hardware will develop, so some speculation is in order. Some attention will also be given to other aspects. The ever increasing development costs of games will sooner or later force us to re-evaluate our development models. I’d like to see the Open Source movement influence the game industry more in the future, if in no other way then by providing common tools freely available to everyone. Afterall, why should everyone need to develop or pay dearly for a 3-d engine of their own?
At the moment the gigahertz race is over and the core race is beginning. There are good indications that the number of cores on single chip will increase in future. Other indicators show that the computing power of computer will continue to grow for a good while longer. Same can be said about computer memory and mass-memory. Of course the exact increase is anyones guess but this article will assume it will be of the same order that we have seen in the past 10-30 years. Even if there were a breakthrough in a technology that allowed us hugely faster computers it would take a number of years of that technology to mature and find its way on consumers desks.
We have seen new kinds of controlling devices in the past few years. I won’t make any detailed assertions where development on that front will take us, but I think it’s safe to bet we will have bigger (or more) monitors, probably 3-d displays of some kind, which, in turn, will demand different kinds of input devices. A mouse running on a flat surface works in 2-d but not so well with an extra dimension. When you are manipulating objects in 3-d you begin to expect some kind of tactile feedback as well. The objects in our world have a mass, why not objects in a computer generated world?
Bio-feedback is an old idea that has never made its way into mainstream gaming. There are limits to what attributes you can measure accurately from the human body, but more importantly theres the what-to-do-with-that-information -question. Have the monsters scream less when the player is stressed out? Provide a soothing voice-over when player is confused? I’m sure we will think of plenty of ways to use that information once it’s available, the main problem would probably be how to collect the information in the most discreet way possible.
I assume that the networks of the future will progress as well. We should see higher bandwidth, lower latency networks than we do now. In any case the technology should be there, it’s up to other matters if the networks aren’t available to us. Networks will be ubiquitous, having a network access is given and it will be wireless.
Hardware affects software and the nature of the increase in power is meaningful, if it is increasing the number of computing cores then the future applications must take this into account, games withstanding. The easiest method for this is to make your application multi-threaded. A thread goes about churning numbers on its own independently of other threads. Every thread will run on a core of its own. Any one core can run a number of individual threads, so you can always design your application to have rather many threads than few.
What a thread should represent is a question of abstraction and as such is a matter of some taste. With computer games it would be straightforward to take that every creature (like the players character, military units, citizens in your empire) would run in a thread of their own. Of course they wouldn’t need to, I am speculating here with a one way of solving the problem of utilizing the number of computing cores we will undoubtedly have in the future. This kind of approach would allow the construction of a system which would consist of number of individual agents with their own characteristics interacting with each other. The result? Chaos!
With enough computing power we could see game environments with thousands or even millions of game objects. Environments like this could easily represent any highly complex systems with apparent chaotic properties. Chaotic here doesn’t mean that the system would be all over the place but that its exact behaviour would be hard to predict. A paradigmatic example of a chaotic system is weather. You can predict some things with high probability such as it’s warmer in the summer than in the winter. Predicting what the weather will be a week from now is much more demanding a task even though the weather is pretty well understood a system. The problem is that in weather everything affects everything. Temperature affects moisture, moisture affects cloudcover as well as temperature, not to mention that damn butterfly on the other side of the planet and so on.
Think of a role-playing game where characters have their own agendas, where they form alliances and trade with each other, completely independently from the player. Price of items would be determined by supply-and-demand. Clearing the orc-infested hills north of the small town where you’d sell the piles of Orcish daggers would lower the prices of said items allowing everyone in the town to arm themselves. Information would be passed from mouth to mouth, knowing the right people might be crucial to your success. Today games try to claim this kind of freedom but usually end up restricting the players choices in those situation where it would be most interesting. You can’t kill the king and claim the throne, because the king is marked as an important character. You can’t go and buy yourself a castle and begin running an evil business. You can’t go and become the supreme evil and open the gates of hell. At best you can kill the blacksmiths best friend and have him deny you of service.
Think of an empire building game where every one of your people would have individual attributes, they would have certain needs that they strive to fulfill like putting food on the table. If they can’t do that, they might turn to crime or vacate your empire, slowing down your economy more or maybe unstabilizing your neighbours or both. You can predict that your people being poor affects their happiness but you won’t know the tipping point where they rebel and make you take early retirement.
The possibilities for modeling any kind of social movement would be huge. Research could be modeled allowing people to exchange ideas with each other and coming up with new ones if they interact with enough people. The occasional genius wouldn’t do much good living alone without other contacts. You would see some technological development happen anyway, but if you gathered a number of smart people in the same place, allowing faster exchange of ideas, you would see faster research. Contrast this with the way we handle it now, build a university to your city and gain +50% in research points. This is a more general problem with computer games today, the flatness and generality of the way we model processes and systems. The university -example shows practically no qualities which we associate with ‘university’.
Complex systems are more interesting than simple ones. Complex systems offer surprises, even for the people who designed it. The complexity in the systems described above isn’t in any of the individual game objects, nor can we attain it by combining all their attributes. The individual agents don’t need to be complex in any way, the complexity is in the whole, in the interplay of all the agents interacting. As the saying goes, the whole is more than the sum of its parts.
I think it’s safe to bet that computational resources isn’t the biggest hurdle in creating these kind of systems. It will be the game designers who will find it difficult to switch to a different way of designing games. Today designing is mostly about thinking about what shouldn’t be allowed. With complex systems you have to start thinking what should be allowed. The exact behaviour of the system is not designable and you have to accept it and design around it.
Our future machines will be connected by default. This will allow an obvious way to distribute any kind of digital content and to also collect it. These days we have to rely on the client side for certain things and you should never trust on what the client side is sending you. This has caused familiar kind of race between cheaters and anti-cheaters.
If you have a low-latency, high bandwidth connection you could make your MMORPG work through a thin client. Players side of the game does nothing but display what goes on in the game and relays players actions back to a central server. No more cheating, right? The MMORPG provider would have total control of the game, what the players can do in it. This has to make obvious business sense somewhere.
If a server-client architecture sounds too archaic, how about a game environment on a huge peer-to-peer -network of computers. Every corresponding machine would add some detail in to the play-world, shared and accessible by all. Of course there would be some redundancy in the information between machines about the game world and it would require a critical mass of computers to form a functional gaming world. These worlds would be persistent (redundancy of information between the machines), growing old (with every machine connected the world would grow more interesting for others to join adding to its longevity) and developing histories of their own. Why invent a background for your world when you can have it develop over time?
Future of AI
Some people seem to consider that the only function of AI in games is to provide challenge to the player. If the AI is good, then the player won’t be frustrated from the game being too easy. The problem with AI is that it rarely gets there and usually leads to allowing the AI to cheat against its human opponents. It is not a trivial task to get AI to seem like an intelligent actor. Even in a chess with its fairly simple rules and 8*8 board it’s difficult enough. Computer games are much more complex and offer much more options for actions, accounting for combination of actions increases the complexity even more. Usually the AI in a game follows a set of rules that are of the form “when attributes A and B apply, do X”. For a human it’s a daunting task to write up and come up with all the meaningful and and some not-so-meaningful-but-possible -situations that may occur in a game, not to mention an adequate response to them. There are simply too many of those.
Creating an AI that’s not trivial isn’t easy, even if you have the raw power to handle it. One solution to the problem would be to use some kind of evolving algorithms for behaviour. The game would produce different kinds of algorithms for different situations for its agents. If the algorithm is deemed succesful (e.g. the agent continues to exist) the algorithm can be taken as a basis where you derive other algorithms from. The system would record the circumstances, the reaction to those circumstances and the results for a type of agent. When enough of those algorithms would be compiled together, you could weed out circumstances that seem inconsequential and algorithms that are redundant, leaving the algorithms that are best suited for the games purposes.
The problem is that you’ll need a huge number of trials and errors. We would need to distribute those algorithms and collect their results, maybe through electronic means. This would be the perfect job for the ubiquitous networks of the future. The longer you play a game, the more players it has, more refined and better player the AI would become. There wouldn’t be any limit to what kind of behaviour we want the AI to offer. All we have to do is define when an algorithm is deemed ‘succesful’.
I’m of the school Playing Should Be Fun on It’s Own. AIs don’t have to appear super intelligent but to express meaningful behaviour. This means appearing to make errors, getting angry, being loyal, holding grudge, having prejudices or any number of other human characteristics. The problem would be only to find the algorithms that raise desired behaviour. This task is difficult but solvable. The problem wouldn’t be mathematical in nature but more in the area of opinion. When does an AI exhibit young-and-foolhardy behaviour? What could be considered risky behaviour from an AI? [?AI]
Physics modeling has been raising its head. So far it has concentrated on mechanics, we have seen some destructible surroundings, crates sent flying from explosions, vehicles running around uneven terrain. Usually the uses concentrate on braking up things, for obvious reasons. Braking up your environment is easy to implement, especially with the rudimentary artificial environment we can realize on our computers today. The only challenge for game design is to design a game where braking up things might achieve further objectives. Blowing up a whole in to a wall to make a short-cut is a good example. The ideas stop short quickly though.
With enough computational power it wouldn’t be difficult to think that it will go further. Taking an average god-sim and implementing some kind of weather system for the gods to influence would certainly make things more interesting. Swamping your evil neighbours with rains might mean draught for your crops. You can get interesting results from using just mechanics though. How about a SHMUP where everything (and absolutely everything) can be reduced to their component particles? Of course a game like this would have to be designed so that everything would be comprised of component particles. How about a more detailed modeling of the human body? Or why not a super-human body?
A special physics system might be used to create a compelling magic system for an RPG. Instead of 1d6 damage against your leather armour, you would have a portion of the gameworld have its temperature variable raised significantly which, when in contact with the leather armour, would cause it to ‘burn’, affecting its integrity and changing its material, depending on at what angle it hit the armour and how ‘hot’ it actually was. Magic would affect the properties of other objects in the game. In a more complex system your standard magic missile might work so that the spell caster would use his/her/its magical powers to first create projectiles and then set them speed and direction. Magic could be just another force modeled in the game world. If we have the ability to model complex physics why should it have to be our everyday physics, nobody is interested in a dishwashing simulator.
What about chemistry? We could model substances and their properties beyond the usual mix-the-red-potion-with-the-blue-and-it-explodes -approach. Maybe the substances in the game world would be made of some kinds of elementary particles that might or might not model the way atoms work in our world. The history of natural sciences offers plenty of examples. How about choosing your base particles to be earth, wind, fire and water? That kind of system might offer genuinely suprising properties and side-effects offering absolutely new kinds of ways of playing.
New Types of Games
It’s most difficult to try to envision new types of games when it seems that every game seem so deeply rooted in the short history of computer games. Sometimes it feels that every generation seems to invent First Person Shooters all over again. Of course this won’t stop anyone from speculating though. We have already seen simple metagames, games within games. Games where the outcome of one sub-game affects how another sub-game is played out. Super Mario World is a prime example. Progressing in one part of the game makes it easier to progress somewhere else.
This idea can be taken a lot further. Games can be scripted and parameterized and there’s no stop to on how low a level this can be done. We can therefore imagine that in future we could have games where the results of a certain sub-game (or the way or how long we play it etc.) affects what the next sub-game is. There wouldn’t be any pre-written sub-games, they would be created on the fly from ready-made building blocks and assembled according to players reactions.
What about a game where you could dive into details almost indefinetely. A strategy game might allow you to make decision on the most general level and allow you to play as another foot-soldier on the field with both positions having meaningful consequences. If the object of the game would be to run a railroad company you could begin laying tracks or specifying what cities you’d like to connect with your railroad. For a beginner this might be an appropriate level of detail, but what if you really wanted to tune your business empire? Why not go deep enough to decide on the type of lightbulb they use in the mens lavatories on your stations? In a game world that was complex enough these kinds of decisions wouldn’t be meaningless. As we are talking about games, we wouldn’t need to follow realism in any step of the way, we can make sure that the meaning is there.
One other type of game we might see in the future would take full advantage of those complex systems that we are able to run. Has anyone ever been frustrated at the level of detail in the what-if -aspect of todays games? What if the romans had developed printing press? What if anti-gravity would have been invented in the 19th century? I’d like to see a game that would allow me to play out scenarios that didn’t happen or ones that even couldn’t happen. It’s irrelevant if our what-if scenarios weren’t entirely realistic or possible. They would, however, need to be fun and interesting. If printing press in the Roman empire means +2 happiness in each of your cities, I’d say that the what-if -aspect in this case is severely limited and not fun or interesting in the sense good speculation always is.
Huge Epic Games
I have always been attracted to idea of a game thats playing time spans over months of real time. In practice you rarely see games like that for number of reasons. The problem is how to keep things interesting and scale appropriately. If a game is poorly balanced, a winner might be obvious long before the game actually ends. When your empire gets big enough the micromanagement begins to eat more and more of your playing time. You could solve this issue basicly in two ways. Prepare to offer different gameplay options to cater for different perspectives. The other way is the Populous-solution. In the original Populous you controlled the whole of your population indirectly or the leader of your people directly. The gameplay options work the same way whatever the size of your population.
There is a point where fun activity turns into a job of getting something finished. In a huge epic game this should be avoided by either allowing the player to scale up (or down)the affects of his actions or simply providing him with so much material that he won’t see that point, especially in a story-driven game. This will require something to happen in the way we develop games. The complex system we will able to maintain will redirect game design. The shift will be to designing the agents that make up the system. Story-driven games should see some rethinking as well. Stories will rise out of (well-designed) systems.
Future of Content Production
Linux is a great example of a project that would have never got anywhere without the Internet. The Internet (or any ubiquitous network of the future) allows the gathering and combination of arbitrarily small units of labour, if the results of that labour can be represented in bits. A work effort that seems small and insignificant to me (such as fixing a bug) grows enormously in value when it’s distributed efficiently. Could we see this approach work with computer games? At some level we already do. We have already looked how AI in games could be made better allowing distribution and gathering of algorithms through the net. People are encouraged by the game companies to make gamelevels and objects and distribute them. Usually it only happens at the mercy of the game companies.
If a network allows us to collect and assemble digital content no matter how small then why not game content as well? People are already creating game content with various complexity. Games age quickly, one Counter-strike doesn’t change this. Waiting for a game to mature through user generated content takes too long a time for this to happen. There is one example of a game that has been in production for decades and has seen user generated content pile up. This game is NetHack. The secret of its longevity is that it doesn’t rely on fancy audiovisuals, it’s all ASCII, so NetHack has nulled the effect of increasing fanciness in audiovisuals. It is also free (in both meanings of the word) so NetHack lives outside monetary responsibilities. Official DevTeam has often taken contributions from outside individuals to be included in the official version. Time + allowing content to pile-up = a game which has everything, including the kitchen sink (just be careful when /kicking it).
Time is a resource which we will always have more in the future but what about the aging of computer games? Will computer games reach such a level in audiovisuals in the next 10-30 years that we won’t pay any attention to them? Will games ever look good enough? I think it is certainly a strong possibility. After all there is a finite number of things in the world that we pay attention to or are even aware of. Most of the fancy visuals in todays games like reflections are based on cheating, not actually modeling every aspect of optics that are relevant to light reflection. We can cheat our way to ‘good enough’ long before the systems behind them are as arbitrarily close enough to the complexity of reality.
What about the business side of things? Somebody has to pay the bill of moving those bits around and putting them together. It seems that there are two extremes (and a number of choices therein between).You can have eEverything produced by a single entity, be it a corporation or a certain community vs. everything is produced and approved by the masses, without any central governing entity. Then there is the question of how people would pay for the content. Again there are two extremes, everybody pays for their own bandwidth, producing game content is voluntary but encouraged vs. you pay for everything. I think we will see plenty of both of these options before the prize of any part of a computer game, be it a whole game world or one single object, approaches zero.
As I said in the beginning I doubt we’ll see anything radically different in the next 10-30 years of computer games. Radical changes don’t come from nowhere, they brew under the covers until everybody wonders how did we ever get by without them. If we look around today we should be able to see the beginnings of developments that will be everyday life for us in the near future. The trick is to know where to look. My approach to the direction of looking has been based on educated guesses.
Predicting the development of hardware is rather simple. Per Moore’s law the number of transistor on an integrated circuit doubles every so often, which conveniently translates to increases in computing power. At first an observation, it looks like it has become a real law for the silicon industry. That level of power increase is been expected and lots of money is invested in an attempts to maintain that ratio. Networks improving is partly function to the increase in computing power but also building of infrastructure, technologies becoming smaller, cheaper and so on.
Predicting the development of software becomes tricky with enough increase in capability in hardware. So far we have managed to find good (and not so good) use of the extra speed in hardware as well as extra capacity in storage. Sometimes those uses have proven surprising. When you add into the mix a number of other variables like certain social movements like the Open Source movement and slow but big developments in peoples lives, you have a quite a lively view in front of you.
Predicting future is difficult and it’s always a safer to claim that things will take a different route than what someone has the nerve to suggest, but saying that, I’d think that most of the developments here would be beneficial to the overall advancement of computer games as a form of both art and entertainment. We have currently only sniffed the fingernail with which we’ve scratched the surface of the iceberg of possibilities of computer games. I, for one, am looking forward to the future and I expect to see you there.
This article is released under Creative Commons Attribution 3.0 Unported Licence. To attribute properly, mention my name (Kimmo Savolainen) and the permlink to this article (preferred) OR the URL kimmosblog.com.