原创 2004年08月30日 01:23:00
"Quake III is perfect" said David King on all the three occasions that I met him

What is this about?

Before I go on to say any further, I must own that I subscribe to David King's point of view. There must already be a zillion reviews of the game. I will not do yet another review of it. Neither will I try to think out aloud about how wonderfully optimised the Quake III Arena Engine is. What I will, however, try and do is share my thoughts on what makes this game so much fun. Let us look at one aspect of this game: the "Free For All Deathmatch" mode (a.k.a "shoot anything that moves" mode).

Whenever we look at games that are fun, balanced, have good replay value and are made by the best people in the industry, we can not afford to forget how they got their gameplay right. No one dreams up certain values for the weapon damages or projectile speeds or reload times which turn out to be just right. They spend a significant fraction of the development time just testing gameplay, tweaking it and fixing it until they are satisfied. I will try to point out a few things that come out as a result of this. Some of which you already may have noticed and some which you perhaps have not.

Easy to Start

One thing common to many good games is that they are easy to pick up and start playing. Quake III Arena fares quite well in this area. All you have to do to start is have four navigation keys, mouse look and click to fire. Your goal is to shoot your opponents down and the one who can do it fastest wins. If you pick up a weapon, it is made the current weapon by default. This is not an accident. It is out of choice. To use a new weapon, just walk over it. The player doesn't need to have more than one weapon in mind. This makes it simpler for players new to the game. In fact, during my course at the University, I noticed that Quake III Arena was the most popular game there. People who were not gamers earlier actually tried out the game and became regular Q3 players (In the rest of this article, I'll refer to Quake III Arena as Q3). That would never have happened if it were not such a simple game to pick up and play.

What about the expert players?

What about players who want to have complete control on the weapon they are using? What about the intermediate and expert players? Like any good game, Q3 lets the expert players configure it to their hearts' content. You can have a separate key assigned for each weapon. You can have the mouse sensitivity and FOV (field of view) altered for each weapon. In fact you can have keys assigned to anything you can do in the game. There are scripts that let you bind keys for rocket jumps too. You can spend a while configuring the graphics settings and have a configuration which makes it almost impossible for the opponents to be camouflaged against anything else. While the new players can move around the maps using just the four navigation keys most of the times, the expert player has much more at his/her disposal: bunny-hopping, strafe-jumping, rocket-jumping, plasma climbs, grenade jumps and probably a few things that I haven't yet come to know of. In fact the physics of the game allows for so much that we have dedicated trick jumping tournaments.

Giving feedback to the player

It is unlikely that a game can be good if the outcome of most of the actions is not immediately apparent to the player. In Q3, fire any weapon, and if the opponent is hit, you hear a beep. Pick up a weapon or ammo and you hear a sound. Pick up any powerup and you hear an announcement. Pick up megahealth or an armour and you hear a different sound. You hear a different kind of sound when you hit someone who has very low health to the sound when you hit someone who has a lot of health. When a player switches a weapon, it becomes quite evident to the player and to the opponents because of the way it is depicted in the game (the animation and the sound). When a player is fragged, the weapon drops to the ground, a message is displayed on the screen and there remains no ambiguity. This is important because of the fast paced nature of the game. At such speeds, the flow of the game is lost if a player has to spend any time or energy into figuring out whether the player has to move on or to fight a player who has just crouched. Whenever the status of the players' lead has changed, you hear messages. I am sure these would be familiar:

"You have lost the lead."
"You are tied for the lead."
"You have taken the lead."

Here, I did not talk about the most basic things like sounds being played whenever a weapon is fired because they have to be done by any decent game.

Do not make the player guess

In the first few days that I saw Q3, I often wondered why some things from Quake II were not present in it. I thought the armours in Quake II were modelled better. The models for the armours in Q3 may have higher polygon counts but they looked bland. The red armour is just a big red blob seen from a distance.

"How could this be? Aren't they supposed to improve things with newer versions?"

was what I was thinking to myself. In fact the yellow armour was made along the same lines except that it was a yellow one and was smaller than the red one.

Many months later, the principle behind this dawned on me. I realised that it was indeed an improvement and I was being overly cynical about the masterpiece that I had before me. The reason the new models were made so, was out of choice. There is no way you can mistake a bright red armour for anything else even if you only had a fleeting glance in that direction. Ditto for the yellow one. Also, the yellow one is smaller and therefore it becomes immediately obvious which one gives you more armour. The megahealth is basically a blue sphere. We can see that the significance of the "blue" part is to enable it to be easily recognised and spotted but is there any significance to the "sphere" part of it? There definitely is. Every health object is a sphere. From the ones that give five health, to the mega health, all "health"s placed in the map are spheres. Again, note that there are no other objects which look like them.

Similarly, all ammo is in the shape of a box. Any ammo you pick up is always in that shape and it easily can be recognised from a distance. Needless to say, they also have a distinct colour coding. A box that looks red must be rockets, a box that looks white must be lightning cells a box that looks yellow must be machine gun bullets and so on. Each weapon also has a distinct colour (or pair of colours) associated with it. The silhouette of any weapon is quite unique to it. So, to identify a weapon, you don't really have to look at it and make any effort, you unconsciously make note of facts on the lines of: the lightning gun has a bluish-green and white appearance, the rocket launcher has a red and white appearance, the grenade launcher looks like a slim aluminium box.

All items that a player can pick up have the same bobbing and rotation. If it can be picked up, you know it instantly from the way it bobs and rotates slowly. Every major powerup, like quad damage, speed and regeneration has a loop around it with a motion that is characteristic to these powerups. It makes them look like they are significant objects for picking up. The armour models are big and show a sense of power in them. The mega health is the only health object with a look that is quite different from the other "health"s. Here, I have deliberately ignored the personal teleporter and the medikit because they are rarely used.

This philosophy of making the basic parts of the game obvious to the player can be seen in many other contexts too. The teleporter looks the same in all the maps. Wherever a weapon spawns, the ground is marked with a different texture. Also, you can see that any map that has a quad damage in it, has the same pentacle like marking on the ground where it spawns. The jump pads and the accelerator pads carry the same look in all the maps.

Even in the heat of a battle, you can not miss the player who has quad damage. If a player with the quad damage powerup is nearby, it is easily known by the amplified sounds of the weapon when fired.

Significant events like the quad damage damage being picked up are announced for all the players in the match. Infact even when the quad damage spawns, there is a sound played that can be heard by all players. For items which are not as significant as the quad damage like the mega health, the sound when it spawns can be heard if the player is close to it.

Let it flow

Another thing that I wondered about when I had newly seen Q3 was why it did not have any lifts and ladders like Quake II did. This too, I realised later. It was actually quite simple. The game is meant to be a fast paced shooter. Consequently, the good folks at id software decided to get rid of all things that hampered the flow of the game. The ladders and the elevators were trashed and the level designer had jump pads and accelerator pads at their disposal. These served the same purpose and at the same time didn't lead to the break in flow of the game as did the elevators or ladders of Quake II.

So far, so good. So what?

What does all this really mean? The game has all the basic things done right as we can expect from any game that id software makes. The little things go beyond those basic things. They help make the gaming experience be so much better. We do not usually notice all these little things while playing the game. In fact that is precisely why we should have a special respect for the developers. They have made these things so well that we pick up the patterns behind them effortlessly and can focus solely on the goal of the game which is to frag opponents as quickly as possible.

I will explain that using an example that I came across recently. Say our task was to move to the room behind a door that stands before us. Naturally we would walk up to it and try to pull it open and if it doesn't open, we try to push it open (or the other way around). Things could be made easier. The door could have "push" written on it. You would walk upto it and try pulling it anyway (in most cases) and notice that it says "push" and push it open and walk in. In rare cases, you would walk up to it, read "push" and push it open and go in. Now imagine this: The door had no handle on your side. You would walk up to it and without thinking, push it open and walk in. That is how humans work. It is this very principle in the context of games that folks at id software have demonstrated a mastery of, through Quake III Arena. Let the player focus on what he/she intends to do in the game.

I am sure there is much more that I have not yet noticed and I also know that there is a lot that I have not mentioned. An example would be the way the opponent's body explodes and the gibs fly out, the sound it creates. These give the player gratification for the kill but all these are things that any decent game would do and if I were to talk about all such things too, then the article would have been ten times bigger.

I think we should learn from this that making a game that turns out to be a masterpiece means going beyond what most games do. It means taking the pains to ensure that the player enjoys the experience to the fullest and that nothing gets in the way of what the player has to do.

Author's note:

  • "Perfect" is a reward in the game. The word is announced and a special icon is shown over the player model if the player wins without getting fragged even once.
  • There are exceptions to many patterns that I have used as examples above but that is what they are: exceptions and they are rare. So, don't hasten to point that out. One such thing would be that the ammo boxes for the railgun and the grenade launcher look the same from a distance. I know this but I also know that this is an exception and that the general rules still remain the same.
  • For those who haven't played this game much, rocket-jumps, plasma climbs, grenade jumps are special navigational manoeuvres that involve using a weapons knockback to give oneself extra momentum. Strafe jumping helps the player jump larger distances than normal jumps and bunny hopping helps the player move around the map faster. Both are ways of navigating that take a lot of practise to master.

Project Perfect让Swift在服务器端跑起来-让Perfect更Rails (五)

let Perfect like more Rails
  • u014388424
  • u014388424
  • 2016年02月27日 15:08
  • 6819

leetcode 279: Perfect Squares

Perfect Squares Total Accepted: 605 Total Submissions: 1956 Given a positive ...
  • xudli
  • xudli
  • 2015年09月10日 06:03
  • 8373

perfect shuffle 完美洗牌算法

完美洗牌问题:给定一个数组a1,a2,a3,...an,b1,b2,b3..bn,把它最终设置为b1,a1,b2,a2,...bn,an这样的。   perfect shuffle实质是一个...
  • ae5555
  • ae5555
  • 2014年12月06日 00:20
  • 804

Android Performance(6) Pixel Perfect

概述 Pixel Perfect用来检测UI布局。他会显示当前屏幕的一个放大的图片, l   你可以从像素级别来检查你的排版布局。 l   你也可以根据一个设计好的布局文件图片来排版布局。点击l...
  • liaoqianchuan00
  • liaoqianchuan00
  • 2014年04月12日 19:42
  • 2333

LeetCode(279)Perfect Squares

题目Given a positive integer n, find the least number of perfect square numbers (for example, 1, 4, 9,...
  • fly_yr
  • fly_yr
  • 2015年11月29日 14:50
  • 1812

Perfect-Swift Mac环境下的常用指令

Perfect-Swift Mac环境下的常用指令
  • phyky
  • phyky
  • 2017年04月24日 16:17
  • 450

pat 1085. Perfect Sequence (25)

pat 1085. Perfect Sequence (25)
  • nan327347465
  • nan327347465
  • 2014年09月06日 21:58
  • 1894

[leetcode-279]Perfect Squares(java)

问题描述: Given a positive integer n, find the least number of perfect square numbers (for example, 1, ...
  • zdavb
  • zdavb
  • 2015年09月25日 08:16
  • 994

LeetCode Valid Perfect Square(是否是平方数)

题意:给出一正整数,不用 sqrt函数,判断该数是否是平方数 思路: 第一种,连续奇数和为平方数 代码如下: public class Solution { public boolean is...
  • wuli2496
  • wuli2496
  • 2016年06月29日 12:03
  • 1224

Codeforces Round #460 (Div. 2)-B. Perfect Number

B. Perfect Numbertime limit per test2 seconds memory limit per test256 megabytesProblem Description...
  • yopilipala
  • yopilipala
  • 2018年02月01日 14:27
  • 263