Monthly Archives: August 2007

Game Analysis: Magi

I stumbled across a small shareware game called Magi by a fellow called TeeGee when looking at a list of indygames. It looked mechanically similar to an indygame that I am developing, so I decided to download it and try it out to see if I could glean anything.

This game isn’t bad. I actually found it entertaining for a time. But it doesn’t quite make it to recommendation quality.

I see this game as a case of death by a million cuts. The premise is really cool, but a large number of small design mistakes (and maybe one big one) killed it. Some slightly different design decisions, and this game could have been a killer.

I played the demo, so this is what I evaluated.

ATTACK OF THE PARTICLE OVERLOAD!

I start with the interface. Namely, the particles.

A game with this budget, or lack thereof, can be generally expected to have an amateurish visual look. Magi is no exception. I cannot blame the game for the quality of its art. How that art is used, however, is another matter.

Magi makes very heavy use of particle effects. As a budget method of including something flashy, this usually works well. And as a purely aesthetic display, they’re not bad. But graphics in games aren’t just about beauty; they also need to impart information in a smooth and intuitive way. Ideally, the player should know what is going on with no training at all. It should be so obvious that the player can’t imagine it meaning anything else. In the case of spell effects, this means that a spell should be represented by an effect that intuitively indicates what it is doing. In this area, Magi has some problems.

For example, a healing enchantment is represented as a field of small, erratically moving red dots spread out in a large area around the mage. Unfortuantely, there really is no intuitive connection between erratically moving red dots and healing. Some sort of entity which is obviously transferring ‘healing energy’ in a smooth, friendly way would have made more sense.

The ‘shield’, which absorbs attacks fired by the enemy mage, is represented by a floating, shiny blue sphere that sits several meters in front of the mage. Once again, this blue sphere’s function is not obvious. Either the sphere should have been around the mage, or the shield should have formed some sort of gently curved, hemispherical wall in front of the mage.

Each mage holds a staff which ends in a large gem. Little energy streams are constantly flying into this gem. While I understand now that this indicates the mage gathering energy for whatever he is about to do, this effect should have been removed. It is always there; it does not impart information; it just clutters the screen.

In general, the particle effects are too generous. They tend to cover a lot of area. This causes comprehension problems when many spells are in effect at the same time, because the particles overlap and it becomes difficult to tell what is going on. I’ve been extracting information from confusing game visuals for my entire life, but even with some practice I was having a lot of trouble decoding really complex situations in Magi.

I considered the idea that decoding the situation was an intentionally-designed challenge. I hope not. Usually “I lost because I couldn’t figure out what was going on” is not gratifying to a player. Providing incomplete information is a very valid way of increasing strategic depth in a game (consider the fog of war in classic RTS games). There is, however, a different between incomplete information and annoyingly confusing information.

CHANNELS

Magi uses the interesting concept of ‘channels’. A channel represents a more highly charged state in a certain spell class. It makes spells more powerful and allows access to more powerful spells. It is analagous to research in classic RTS games.

This is actually a really good idea. It sets up the classic dilemma between planning for the future, and rushing to action now.

Unfortunately, the way it is expressed is counterintuitive. The word “channel” doesn’t really indicate what the channels are doing.

I suggest a better way of expressing this exact same game element. Place a diagram of the wizard’s staff on the interface. The staff should have slots for gems on it.  When a ‘channel’ is added, express it as ‘adding a gem’ or ‘summoning a gem’ to the staff. This more physical representation of the same game element would make the properties of the channels more obvious: you can have more than one of each type, you cannot lose them, and they have a powering-up effect.

INTERFACE

Now we move on to the panel interface itself. I really liked the ‘spell queue’ idea. This was quite well executed, and it makes the game more of a strategic instead of hand-eye-coordination challenge.

One current problem is that if you already have something like a shield, queuing another shield will simply lock your queue until the first shield is destroyed. The first shield should either be replaced, or the shield spell should vanish if it is redundant.

The interface itself uses particles. For example, to particles circle indicate certain spell buttons. Here we have a problem with game-versus-interface delineation. The game itself is already swimming with particles. In this case, particle effects should have been exclusive to the gameplay itself. Events on the interface should have been indicated in other ways.

Another major improvement in the interface could have been made with some text output. Text is usually a bad idea because it is hard to absorb in large volumes. For limited purposes, however, it can be effective. For example, Baldur’s Gate had a command-line like list of info lines that would scroll up, indicating game events. If a character died, you would get “Bob: Death”. If someone cast a spell, you got “Bob: Magic Missile”. This type of output would have been very useful in Magi, since many spell effects are not obviously, tightly quantified into obvious effects happening at obvious times.

The sound was well done in most cases. I especially appreciated the “ding!” noise shields make when they go down. Even though it really makes little sense, it makes it obvious when you’ve lost your shield – even if it is covered in particle effects from other spells.

ATTACK OF THE TUTORIAL INFORMATION OVERLOAD!

Small games like this thrive on their ease of use. Even more so than AAA games with eight-figure budgets, a game like Magi needs to be playable within a few seconds of starting by a naive user.

Creator TeeGee was kind enough to provide a tutorial for us. The problem is that it gives far too much information at once – many times more than a player can reasonably be expected to assimilate in one burst. In this case, we get a full description of all 5 innate character attributes forced on us. We are then treated to a full explanation of every aspect of the interface. I was scared that I missed something important.
Luckily, most of that information didn’t matter. The tutorial should have glossed over the character attributes and gotten the player into battle faster. Simply drop the player in a battle with a simple default character, and tell him to push a button. Then, as he plays the match, slowly meter out information, instead of blasting it all right at the start.

(I made this same info overload mistake when I designed Elemental Conflict and it killed the game. I think we all do it once.)

The game also lacks tooltips. Help is available simply by right-clicking on any part of the interface, which is awesome. What is not good is that I had to find this out by accident, since it was never indicated.

STRATEGIC DEPTH

As far as I could see, Magi holds strategic depth somewhere on the line with 3D 4x4x4 tic-tac-toe. This isn’t bad, but it isn’t great either.

I think that a lot of game design is about creating a game with as many strategic options as possible, but with as little learning curve as possible. Games like Chess and Go are great examples of this: from a very small rule set emerge countless different strategies. These games are still being explored, centuries after their introduction. Since the challenge of Magi is based on strategic decisions and not hand-eye coordination, it needs to do well in this area. It needs to create a lot of complex, interwoven strategies.

Unfortunately, strategically the game is rather simple. It is not that hard to come up with a close-to-optimal strategy for any situation, and there are really only a few strategies anyways. Most moves have a blindingly obvious counter. Winning becomes not about your grand strategic decisions, but just about doing micro-optimizations on the one macro-strategy which works in your current situation.

What we need are more vastly different strategies. A “rush” strategy. A “builder” strategy. A “turtle” strategy. A “beastmaster” strategy. And every variation and in-between on these and many others.

GET MOVING

Magi’s creator, TeeGee, could have vastly expanded the strategic solution space with the simple, intuitive addition of the ability for the mages and their creations to move around in their halves of the arena. Most people would hae expected this in the first place, and it is a very standard thing to have in top-down games, so it would not have significantly affected the learning curve. The strategic possibilities created by monsters who can move meaningfully, shields which are placed in a specific location, and other targeted spells would be massive. It seems like an obvious design decision which was abandoned due to implementation difficulties.

GOOD STUFF

Magi isn’t bad. The premise, while not shockingly original, has a ton of potential. With some relatively minor design changes, this game could really be an awesome indy. Unfortunately, as it stands, it’s clearly in the middle of the pack. I really hope TeeGee keeps up with the game design, I’d love to see what he comes up with after the lessons he learned on this one.

Combine and Cuckoos

I just realized that the Combine in Half-Life 2 are probably named after an organization from the book One Flew Over the Cuckoo’s Nest. If you only saw the movie you won’t know what I’m taking about.

The novel is narrated by the Chief, a huge Native American man and takes place in a mental institution. The Chief sees people as physical manifestations of their social role – whereas he is 6’6″ in real life, he sees himself as being dwarfed by the tyrannical head nurse. He sees the belligerent hospital orderlies as mindless automatons, and the other patients as helpless rabbits.

He believed that the people in the asylum were not insane, that they just thought differently and were quarantined by a massive organization that ran the world. The patients were simply regarded as machines that had broken down. His name for this world-controlling organization was the Combine.

Flow Design Dogma

This post was inspired by this BU thread.

I’ve noticed a disturbing trend in the mapping community: flow dogma.

There seems to be an almost universal and uncritical acceptance of the self-looping midsize DM flow style. The ‘self-looping midsize’ style is my name for the type of level flow that is based around a series of irregularly shaped interior spaces, all of sizes on the same order of magnitude, which all tend to loop back into themselves. For examples look to DM-Turbine, DM-Tribulation, DM-Rankin, and so on.

I’m not dissing this style in itself. It works and it works well. What I think is wrong is the universal acceptance of it as the be-all and end-all of mapping flow; the belief that it universally beats all other flow styles in every way. This widely held view is so strong that levels which do not follow it tend to be marked down in reviews as ‘gimmicky’ or ‘poorly laid out’ simply because they are different. This is the fault of the reviewers, who tend to judge maps based on their own learned heuristic of what good maps should be, instead of on raw fun value. It also creates a self-reinforcing, homogenizing effect that causes level designers create more maps in this style, because they see that other types of maps review poorly.

There are strong counterexamples to the idea that the prevailing style is the ultimate in level design.

COUNTEREXAMPLE 1 – CTF-Face

ctf-face.jpg

The most familiar to you will probably be CTF-Face. Prevailing dogma states that a map with a single choke point will play poorly. Prevailing dogma states that a map with sniper views on the enemy’s spawn points is downright broken. Strangely enough, however, CTF-Face is the epitome of these ‘mistakes’ and it was the most popular CTF map for UT.

COUNTEREXAMPLE 2 – TO-RapidWaters

rapidwaters1.jpg

Tactical Ops had a map called Rapidwaters. It was the most popular map for this game from its introduction. RapidWaters is almost stupidly small and simple. Unlike Face, it does have multiple routes. Like Face, however, players are all forced into the same general central area, and can all shoot at each other. This level was so popular that even when the map was released in accidentally broken form (a roof beam blocked one of the main attack routes), this map was still incredibly popular. It was so popular that there was actually a little ‘movement’ from the more involved community members to try to force a wider variety maps into circulation. RapidWaters was a map for the proletariat; a hyper-compressed blast-fest that consistently attracted that silent majority of non-hardcore gamers who played TO.

COUNTEREXAMPLE 3 – DM-Liandri

liandrishot.jpg

Liandri had one huge central area and a variety of small hallways surrounding it. It even had teleporters. Liandri is nonstandard because the size difference between different spaces is huge – the central area is much larger than the other areas. This led to some gameplay which would never be seen in the modern mid-size style. For example, Liandri was great for instagib matches with low gravity – it allowed a whole new class of tactics involving sliding on walls in midair, and very long jumps and falls.

SIDE NOTE – COMPRESSION

The reason I think Face and RapidWaters work so well is compression. Forcing 16 players into one region of the map creates a density of action which has a variety of positive effects on the gameplay fun value. Extreme victories, like 8 enemies killed by one grenade, become possible (though appropriately rare). Players are forced to constantly make decisions about their actions because the enemies are so close. There is no empty ‘running time’ where players are running through empty areas looking for an opponent

WISH IN ONE HAND, S**T IN THE OTHER

But I digress. I’m not trying to say what we should be doing. I’m just sure that it’s not what we’re doing right now. There is no one flow style that beats all others. The self-looping midsized style works very well, but it is not the be-all and end-all. There are countless other possibilities that we have yet to explore simply because of the cultural momentum of this dominant method.

I wish we had maps with some areas ten or a hundred times larger than others. I wish we had maps that compressed players to ridiculous densities. I wish we had maps with small areas that are hard to navigate, or huge areas that allow jumps so long that you almost fly. I want a map with one room, or a map that transcends the concept of ‘rooms’.

Let’s go crazy. We can afford to fail.

Structure of Thought: Part 2

This is part of my Structure of Thought series. See also Part 1.

Skillbuilding as Vocabulary Development

Since human intelligence is not strong in computational power, we must rely on our ability to quickly compare current experience with past memories. Thus a large part of skillbuilding is therefore the development of a mental “vocabulary” which can be applied to the subject in question.

When a current situation is observed, it needs to be run through the mind and compared with previously seen situations. Most likely it will not perfectly match something that happened before, but it is likely that various elements of what is currently happening have appeared previously. These elements are part of the mental vocabulary that a skilled person develops in their field.

Skills chess players are known to be able to memorize board positions with incredible speed and accuracy. This seems natural. What is curious is that when shown a board with pieces positioned randomly, novice players and champions score about the same in their memorization ability. With positions from an actual game, however, the masters totally outstrip the novices and show almost total positional recall ability.

It appears that chess master can only memorize boards better than a normal person when the positions of the pieces on the board make sense in the context of an actual chess game. So what does this mean?

The masters already have a chess vocabulary of positions and situations in their heads. Instead of memorizing individual piece locations, they memorize which elements of which previously seen situations are present. By memorizing element-by-element instead of piece-by-piece, they use less conscious brain power.

Consider text. Memorizing a text in your native language allows you to memorize it word by word, which is easier than memorizing a foreign text or a string of random letters. You already have the words in your head, you just need to memorize which word it is, not each letter.

Now consider if you had to memorize a text in a language with a different character set. You would not only not be able to work word by word, but you would not even be able to parse it into letters. You would need to memorize the material by its visual shapes alone.

Consider a visual artist. Sketch artists have a massive visual vocabulary in their heads. They create new visual ideas by remixing elements of other images which they have seen or drawn before. Chess masters have a bank of chess board positions and sequences which they can meld together in their mind. Socialites have seen many different social situations and have an arsenal of responses which can be used to move an interaction in any direction. Musicians have chords, riffs, scales and other patterns which they can recall and mix together to create a new composition.

What a “skill vocabulary” does is allow the conscious mind to work on bigger “chunks” of the problem.

The human conscious mind is known to be able to hold between 5 and 9 items in short-term memory. What is interesting is that these items can be different sizes. One could hold a 10-digit number in their head by breaking it up into pairs of digits. This gives five pairs of digits, thus five objects. Mental vocabularies allow us to work with much larger chunks and thus hold more actual information in our mind. Instead of memorizing letter, we memorize words. Instead of drawing a picture by assembling lines, we draw a picture by assembling architectural elements.

It is also important to note that in most cases, the “vocabulary” learned in any particular field can never be broken into specific elements, each cleanly separated and defined. Instead, it is a shifting mixture of all sorts of different elements, some being variations on others, with different relationships between them.

This makes skill vocabularies difficult to express and teach explicitly, so instead, they are learned obliquely, by each individual, so no artist or musician ever has exactly the same skill vocabulary. This explains why different artists will be known to have different styles. Their vocabularies are different.

This is part of my Structure of Thought series. See also Part 1.

Structure of Thought: Part 1

This is part of my Structure of Thought series. See also Part 2.

Dual-Mind Theory

The mind can be split into two main parts: conscious and unconscious.

The conscious part is tiny and weak. Conscious thoughts are the ones you percieve. They move slowly, and you can generally only have a few of them at a time. Studies show that a person can generally hold between five and nine items in short-term memory at once.

But we are all doing more than 9 things simultaneously most of the time. We may be balancing ourselves as we walk down the street, holding a cellphone to our ear, having a complex conversation, and looking around as we cross the street, all at the same time. Only one part of this scene – the social content of the phone conversation – is likely to actually fill space in our short-term memory. So how are we doing all this at once?

The unconscious part, in contrast, consists of all those computations and thought processes which cannot be consciously percieved. Compared to the conscious mind, it is incredibly powerful.

The unconscious mind takes all the sensory input you recieve, does a massive amount of processing and memory comparison, and then sends the analyzed information to your conscious mind in the forms of feelings, impressions, urges, and emotions. We all feel these emotions and impressions. Most of us do not understand the computation that goes on behind the scenes to generate them.

The unconscious is a fascinating thing. It’s power makes it a necessity in getting anything done. At the same time, it is faulty and biased. In some ways, it could even be said to be insane.

In The Zone

In some sports, there is mention of a player being “in the zone”. Everything he does works. His shots are perfect and his play is brilliant. It is as though his skill level just jumped.

This happens when the player mostly deactivates his conscious mind and allows the much more powerful unconscious to drive his actions. He simply acts “on instinct” – without filtering his decisions using the conscious mind. This improves his performance because he is running on purely unconscious intelligence, which, if properly conditioned, is much more powerful than conscious intelligence.

Calculating Power vs Recall Power

There is more than one way to be intelligent. Intelligence, as we have seen, is at its core the ability to predict the future. On the surface there seems to be only one obvious way to do this: observe the world, model the world in simulation, and then run the simulation into the future, step by step.

This method is similar to basic machine intelligence. A computer program for playing tic-tac-toe, for example, works by taking each possible move at its current position, looking at every possible counter to that move, then every counter to those moves, right down to the end of the game. It then chooses the next move which is knows will lead to an end-state where it does not lose.

This works well for small problems like tic-tac-toe, because there are only thousands of possible moves. Modern computers do millions or billions of operations per second, so this number is manageable.

But consider a game like chess, with thirty to forty possible moves from every position, and tens of moves over the course of the game. The number of board positions is estimated at at least 10^43 – that’s a one with 43 zeroes after it. This is far too much complexity for any existing computer to handle by looking at every possible move and counter-move to the end of the game. Such computations would take so long that the human player would be long dead of old age before the chess computer made its first move.

The solution for computers are complex, but the most essential part is that the computer only looks a set number of moves into the future – usually between 3 and 10. This limits the number of calculations it needs to make. If the game isn’t finished at the end of its searches, the computer evaluates the board position at the end of each of the millions of possible chains of moves and counter-moves. It then makes the move that takes it towards the best final board positions.

This strategy is very workable, but it is not infallible the way that tic-tac-toe programs are. You can never win a game of tic-tac-toe against a computer, but computer chess programs can be beaten.

What about humans? Chess masters have a good record against even the most advanced chess machines. But chess masters are not known for thinking through millions of possible moves and counter-moves consciously.

Humans can compete against computers at chess because, while we are very bad at working through possible moves and counter-moves, we are very good at recalling board positions that we have seen before. This is because organic intelligence is based not on massive calculating power, but on massive recall power.

Whereas machines are designed for massive serial computational ability, organic brains are better adapted to massive parallel recall ability. Computers do difficult calculations lightning fast, one after another after another. They have one processing unit that is incredibly fast.

In contrast, organic intelligence is based on having many slow processing units – brain cells – which work slowly but all at the same time. Instead of looking through our memories one by one using one “chip”, for example, every memory-storing cell in our brains runs its own comparison, all at the same time. Those that find a match light up, setting off a chain reaction of neural activity which eventually propagates up to the neocortex and makes you feel like you were just reminded of something.

As an example, consider an event which happens many times each day to all of us: you see a human face. In an instant and without effort, you know whether you recognize the person or not. If you do recognize the person, you usually know exactly who it is. All your memories concerning that person become instantly available.

This seems easy to us. To today’s computers, this is an impossible feat. A computer attempting this feat would need to take the face it saw, and sequentially search through all the faces in its memory banks one by one, looking for a match among thousands of possibilities. You, however, can do it instantaneously, because althought the brain cells which store your memories are not fast processing units, they all work at the same time. This is the nature of organic intelligence.

This is also why competing with a chess machine requires extensive experience. For recall power to work, a person must have something to recall. This is why humans require practice in order to learn a new skill.
This is part of my Structure of Thought series. See also Part 2.

Learning by Exposure

One of the most important things I have observed in people who get really good at their field, and especially in an artistic field like level design, is who they compare themselves to.

I’ve spent a lot of time in university CG classrooms with people who don’t generally make contact with the global CG community. These students didn’t hang out on CGTalk or NaliCity of BeyondUnreal. They didn’t make contact with the best in their field. That level of art was simply outside their reality.

As a result, they were satisfied when they did well relative to their local peers. This never got them very far. The truth of the matter was that I never met a single student in any of my classes who I thought was good at any form of CG. They simply never had that motivation to do ten more optimization steps after they had already reached parity with their classmates. It was so sad, because they didn’t lack talent. I hate to see such a waste of potential.

There are two main reasons that this local-exposure-only situation crippled my classmates.

The first is motivation. Creating really kickass art or design is generally not about ‘talent’ or the quality of an idea. These things can be important, but what is also required is an almost obsessively repeated iterative process of optimization. People who do really well at these fields are never satisfied. They always know that they can do better, and they always do. They optimize over and over and over. They look at a piece of work that most would think is complete, and then they go over it a few more times because they understand that there is always room for improvement. My classmates were only trying to beat each other, so they barely got past their first draft.

The second reason why my classmates never got that good is that since they only had contact with others who were similar to themselves, they had a rather narrow and paltry set of inspirations to draw from. Nobody works in a vacuum. In any level, most of the elements will have been executed before by yourself or other designers. Level design, like much art, is largely a matter of recombination of visual and design vocabulary. My student friends were hamstringing themselves and they didn’t even know it, because they were denying themselves access to an incredible array of inspiring work, all of which is available for free on the Net.

Part of the insidiousness of this problem lies in the fact that it is totally silent. It is like a disease that hobbles you, but which somehow prevents you from perceiving the symptoms, since it is based on a lack of knowledge.

(Also note that my classmates had other things against them as well – a faculty-indoctrinated love affair with the vacuous concept of ‘high art’ among them)

Learning a field like level design is, for the first long while, based on a 3-step cycle:

1. Exposure to work done by people better or differently than you.

2. Observation of the differences between that work and your own.

3. Practice executing these differences until they become part of your own vocabulary.

So search out people who are better than yourself. Be competitive (in a friendly way of course). Try to see how you might be able to pull ideas or elements from other designs to improve your own. Understand that not having seen the best work out there is a silent handicap that afflicts all of us to a great degree. If you realize how much you don’t know, you are already at a huge advantage.

Practice doesn’t make perfect. Exposure and practice make perfect.