Call of Duty : A Study on FPS

From COD Modding & Mapping Wiki
Share/Save/Bookmark
Jump to: navigation, search

Nutshell.png The following article has been wwritten by Gagarin, it is a study with tests and results of the influence that Frame per Seconds (FPS) can have while playing COD series PC games.

Presentation

As most of you know, the Call of Duty game series uses a quake 3 engine. That's partially right. Call of Duty uses the ID TECH 3 engine."Tree of engines" must be something like that:

ID TECH 3 ---> Quake 3 ---> RTCW ---> Call of Duty
  • Here is an illustration of the ramification from the original Quake engine:


Quake family tree.png


  • So, all Call of Duty "specifics" is taken from RTCW. You can ask about specifics ? I've had a look only on one mostly interesting thing - a FPS bug. I mean effect of some FPS value's to game specific. More correctly sound like "effect FPS values on a character movement".

FPS (frame per second) bug - firstly took a place in quake 3. May be in q1 or q2 too, I didn't reseach them. Character with 333 FPS can jump higher than others. They can move more "silent" than others. And more other stuff

First FPS test

Influence FPS on ping ( cl_maxpackets )

This research is common for any part of Call of Duty game series

  • Go to This link and you will see the FPS Calculator
  • Enter your FPS value and cl_maxpackets value and press "calculate"


  • Now we have a jump height (True for Quake 3 only, for CoD it's false) and we've got a real number of packets.
  • Also we have a suggested number of cl_maxpackets.
So, for example, if you have permanent 125 fps, just type into console ""cl_maxpackets 63"" which mean 2 requests per packet.
  • If you want to identify FPS number which can be used for com_maxfps, just use formula ""1000/x"". Where is X - any positive integer number.

FPS effect on jump height

For this research I've created custom map which contains many walls with different height. And I set many different values of com_maxfps

Height measured in units. 1 unit = 1 inch. 1 inch = 2.5 cm (real-life 1 inch = 2.54 cm, but in q3 world "accepted" 2.5 cm)

Results for Call of Duty 2

100 FPS or less - no much different. Jump to 39 units (inclusive) very easy. Just step closly and jump
111 fps - jump inclusively to 40 units. But with my count jump is about 40.1 or 40.2 units, so jump is hard to do
125 fps - most wide-used FPS setting. Jump to 40 units inclusively ( most modules have walls of this height) ). Jumps highter then 111 FPS (about 40.5 units)
142 FPS - fall again. 39 units max
167 FPS - 39 units again
200 FPS - 39 units anew
250 FPS  - with this FPS value you can jump to 41 unit without any specific movement.
333 FPS - value is was most impressed. With this FPS your life should be very easily. With 333 FPS possible jump height is about 46.1 units. 
  • Result at 500 FPS doesn't confirm my assumption. With this value you can jump only at 38 units. I don't know why.

Information.png When you do those jump, you dont need any hard movement or something else. Just stay close and jump.

Nuances

Only in CoD 2 I've found interesting feature - collision bug. Point of bug was the fact that if you stand close to object which you need to jump over, your character jumps lower than if going back and trying jump smoothly like strafe jump. There are my result values :

With 125 fps you can jump to 41 unit wall . 
With 77 fps you can jump to 40 unit wall. 

I dont doubt that with other FPS value and with strafe using you can jump highter than assumed from beginning. This is a feature of CoD 2 engine.

Results for Call of Duty 4

For call of duty 4 I have another facts. And i should mention that it's possible to set 0.5 units to radiant in cod, so results are more accurate
My results :

63 FPS or lesser-  jump only to 39.5 units max (exception are 52 and 55 FPS. Those values can used like analog of 71 FPS)
71 FPS.  Character jump to 40 units stably.  40.5 units is impossible for this value. Same results for 76 FPS
83 FPS, 90 FPS and 100 FPS are bad again - 39.5 units max
111 FPS - 40 and 40.5 units are overcame
125 FPS - 41 height unit overcame
142, 166 and 200 FPS - strange fall again. Character overcame 39.5 units max
250 FPS - 42 units line overcame
333 FPS - same is for cod 2, with 333 fps you can jump at 46 units.
500 FPS - bugged value again. Character runs silently and jumping only at 35 units if you stay close and jump.  But If u go back and jump, your jump will be about 39 units
1000 FPS - fully similar with 500 fps 

Results for Call of Duty : World at War

Treyarch's Radiant can create brushes not 0.5 unit only, but a 0.25 units. That fact give a possibility to create mostly full and accurate system of height jumping. And it's really very strange...

  • Maximum height at 38.75 units is achievable at those fps : 0-11; 13; 15; 18; 20; 21; 31; 500 (this bug is really existed \jump_height default is 39 units, but...).
  • Maximum height of 39 units overcame : 12; 16; 17; 19; 22-28; 30; 32; 33; 36; 37; 38; 40; 42; 44; 45; 47; 50; 59; 62; 66; 82; 90; 100; 142; 166; 200 FPS
Line in 39.25 : 29; 34; 41; 43 FPS
Line in 39.5 units: 52; 56
Line in 39.75 units : 71 FPS
Height up 40 units: 76; 111
With 125 FPS you can jump at 41 unit
With 250 FPS - 41.75 units
And 333 FPS overcomed 46.25 units

Partially edited CoD: WaW engine, which must be fully identical CoD 4, now is extremely unstable. Look like character jumping every time with different height. I don't know reason.

Anyway , CoD: WW results are more accurate and it will be used for CoD 2 and CoD 4

Effect FPS to fall damage

Results for Call of Duty 4

My next FPS reseach, which is quite logical goes after previous reseach. Some guys from CODJumper give me an idea and I made my reseach.
Ok, we have 4 walls with 4 different heights. 140, 200, 300 and 350. And different FPS values
Results : (first is FPS value, then in brackets wall height and last - taken damage)

71 (140) - 4
91 (140) - 8
100 (140) - 6
110 (140) - 4
125 (140) - 2
200 (140) - 6
250 (140) - 1
333 (140) - 0
71 (200) - 39 
91 (200) - 44
100 (200) - 41
110 (200) - 38
125 (200) - 35
200 (200) - 41
250 (200) - 34
333 (200) - 22
71 (300) - 96
91 (300) - dead
100 (300) - 98
110 (300) - 94
125 (300) - 91
200 (300) - 98
250 (300) - 88
333 (300) - 72
71 (350) - dead
91 (350) - dead
100 (350) - dead
110 (350) - dead
125 (350) - dead
200 (350) - dead
250 (350) - dead
333 (350) - 97
  • I'd put fps values in a following order , from best to worst (by usefulness):

333, 250, 125, 110, 76, 71 (FPS analogs are 34,42,52,55), 100 (FPS analogs are 10,17,20-23,25,36,40,41,50,67 and 200), 15 (FPS analogs are 24, 31,32,37,38,45,48,63), 59 (strange value, taken damage is more highter than other damage), 91,83 (FPS analog 166), 142. Hardest is 500 FPS (character takes damage which greater at many, many times :D - just look on CoD: WaW results).

Results for Call of Duty 2

I've took one wall with height 360 units ( 9 meters). In cod 2 a fall damage DVAR more greater than in cod4/cod:ww. So for example If in cod 4 character dies after falling from 300 units that in cod 2 he takes a half damage. There are the results. First is a FPS value and then a damage

333 - 21
250 - 36
200 - 45
166 - 52
142 - 55
125 - 38
111 - 42
100 - 45
90 - 50
83 - 50
76 - 42
71 - 42
67 - 45
62 - 48
59 - 48
56 - 42
53 - 44
50 - 45
48 - 48
45 - 48
43 - 45
41 - 44
39 - 45
38 - 48
37 - 47
35 - 45
34 - 45
33 - 45
32 - 47
31 - 45
30 - 45
29 - 45
27 - 45
26 - 45
25 - 45
24 - 47
23 - 45
22 - 45
21 - 45
20 - 45

FPS order:

333 ; 250 ; 125 ; 111 (FPS analogs 76, 71, 56) ; 53 (FPS analog 41) ; 200 (FPS analogs 100; 67; 50; 43; 39; 35; 34; 33; 31-25; 23-20 ); 37 (FPS analogs 32; 24) ; 62 (FPS analogs 59; 48 ; 45; 38); 90 (FPS analog 83); 166; 142;

At 500 FPS fall damage is 85 hit points. Nice :D

Results for Call of Duty : World at War

Took a wall with 200 units height ( 5 meters). My results again. First is a FPS value and then a damage

500-57
333-22
250-34
200-41
166-45
142-48
125-36
111-38
100-41
90-44
83-45
76-38
71-39
67-41
62-42
58-44
56-39
52-39
50-41
48-42
45-42
43-39
41-39
40-41
38-42
37-42
35-41
33-41
32-42
31-42
30-41
29-41
27-41
26-41
25-41
24-42
23-41
22-41
21-41
20-41

Order of useful FPS values same is for cod 4. It's 333 ; 250; 125; 111 (FPS analog 76); 71 (FPS analog 56; 52; 43; 41); 200 (FPS analogs 100; 67; 50; 40; 35; 33; 30-25; 23-20); 62 ( FPS analogs 48; 45; 38; 37; 32; 31; 24); 90 (FPS analog 58); 166 (FPS analog 83); 142; 500

FPS effect on character's rate of silent run

This research was aimed to get a formula for ms/fps dependancy. IE - we need to write a script to make char move forward for 30 ms - but at different fps char moves for different distance. So at 333 fps and 30 ms char would move only 3 units, but with 125 fps - 20 units (results may not be accurate being from memory). I was unable to get my formula - but i've got another thought. I've wrote already about different step rate at different fps - so i've got an idea about calculating max distance of silent run - and done them thx to mod by sERGE-002
In cod2 char speed is based on currently equipped weapon

Results for Call of Duty 2

  • Pistols and m1a1carbine
    • 209 max. speed (moving forward)
333 FPS - 83 (82 silent) 230 ms
250 FPS - 89 (88 silent) 183 ms
200 FPS - 94 (93 silent) 158 ms
167 FPS - 76 (75 silent) 101 ms
142 FPS - 79 (78 silent) 90 ms
125 FPS - 79 (78 silent) 80 ms
111 FPS - 79 (78 silent) 65 ms
100 FPS - 73 (72 silent) 60 ms
90 FPS - 69 (68 silent)  50 ms
83 FPS - 69 (68 silent)  47 ms
77 FPS - 70 (69 silent)  43 ms
71 FPS - 66 (65 silent)  37 ms
    • 167 max. speed (strafe left/right)
333 FPS - 67 (66 silent) 245 ms
250 FPS - 71 (70 silent) 190 ms
200 FPS - 75 (74 silent) 164 ms
167 FPS - 61 (60 silent) 106 ms
142 FPS - 62 (61 silent) 94 ms
125 FPS - 62 (61 silent) 82 ms
111 FPS - 57 (56 silent) 65 ms
100 FPS - 57 (56 silent) 60 ms
90 FPS -  58 (57 silent) 55 ms
83 FPS -  55 (54 silent) 48 ms
77 FPS -  55 (54 silent) 46 ms
71 FPS -  56 (55 silent) 43 ms
    • 146 max. speed (moving backward)
333 FPS - 55 (54 silent) 250 ms
250 FPS - 59 (58 silent) 188 ms
200 FPS - 63 (62 silent) 164 ms
167 FPS - 50 (49 silent) 102 ms
142 FPS - 51 (50 silent) 93 ms
125 FPS - 47 (46 silent) 74 ms
111 FPS - 47 (46 silent) 66 ms
100 FPS - 47 (46 silent) 60 ms
90 FPS -  44 (43 silent) 52 ms
83 FPS -  43 (42 silent) 45 ms
77 FPS -  43 (42 silent) 41 ms
71 FPS -  42 (41 silent) 38 ms
  • SMG
    • 199 max. speed (moving forward)
333 FPS - 80 (79 silent) 236 ms
250 FPS - 85 (84 silent) 184 ms
200 FPS - 91 (90 silent) 163 ms
167 FPS - 73 (72 silent) 105 ms
142 FPS - 74 (73 silent) 90 ms
125 FPS - 77 (76 silent) 83 ms
111 FPS - 69 (68 silent) 66 ms
100 FPS - 67 (66 silent) 60 ms
90 FPS -  71 (70 silent) 56 ms
83 FPS -  67 (66 silent) 48 ms
77 FPS -  67 (66 silent) 43 ms
71 FPS -  67 (66 silent) 42 ms
    • 159 max. speed (strafe left/right)
333 FPS - runs silently
250 FPS - 69 (68 silent) 193 ms 
200 FPS - 73 (72 silent) 174 ms 
167 FPS - 77 (76 silent) 149 ms
142 FPS - 60 (59 silent) 98 ms
125 FPS - 62 (61 silent) 87 ms
111 FPS - 63 (62 silent) 80 ms
100 FPS - 55 (54 silent) 64 ms
90 FPS -  56 (55 silent) 58 ms
83 FPS -  57 (56 silent) 54 ms
77 FPS -  54 (53 silent) 45 ms
71 FPS -  54 (53 silent) 43 ms
    • 139 max. speed (moving backward)
333 FPS - 53 (52 silent) 248 ms
250 FPS - 57 (56 silent) 188 ms
200 FPS - 60 (59 silent) 164 ms
167 FPS - 48 (47 silent) 109 ms
142 FPS - 48 (47 silent) 93 ms
125 FPS - 45 (44 silent) 74 ms
111 FPS - 45 (44 silent) 66 ms
100 FPS - 46 (45 silent) 60 ms
90 FPS -  43 (42 silent) 52 ms
83 FPS -  43 (42 silent) 50 ms
77 FPS -  43 (42 silent) 45 ms
71 FPS -  41 (40 silent) 40 ms
  • Rifles, trench guns and semi-automatic rifles

Information.png Max. speed forward is 190 units per second. Look at the Call of Duty 4 results

  • Heavy guns (LMG, BAR, MP-44)
    • 171 max. speed (moving forward)
333 FPS - runs silently
250 FPS - 78 (77 silent) 202 ms
200 FPS - 80 (79 silent) 171 ms
167 FPS - 86 (85 silent) 152 ms
142 FPS - 67 (66 silent) 100 ms
125 FPS - 69 (68 silent) 90 ms
111 FPS - 70 (69 silent) 82 ms
100 FPS - 62 (61 silent) 66 ms
90 FPS -  62 (61 silent) 59 ms
83 FPS -  66 (65 silent) 58 ms
77 FPS -  66 (65 silent) 53 ms
71 FPS -  61 (60 silent) 46 ms
    • 136 max. speed (strafe left/right)
333 FPS - runs silently
250 FPS - 69 (68 silent) 215 ms
200 FPS - 75 (74 silent) 164 ms
167 FPS - 61 (60 silent) 106 ms
142 FPS - 61 (60 silent) 93 ms
125 FPS - 63 (62 silent) 84 ms
111 FPS - 58 (57 silent) 68 ms
100 FPS - 58 (57 silent) 62 ms
90 FPS -  58 (57 silent) 65 ms
83 FPS -  56 (55 silent) 50 ms
77 FPS -  56 (55 silent) 45 ms
71 FPS -  56 (55 silent) 43 ms
    • 119 max. speed (moving backward)
333 FPS - runs silently
250 FPS - 52 (51 silent) 220 ms
200 FPS - 53 (52 silent) 176 ms
167 FPS - 58 (57 silent) 163 ms
142 FPS - 43 (42 silent) 103 ms
125 FPS - 45 (44 silent) 95 ms
111 FPS - 45 (44 silent) 84 ms
100 FPS - 40 (39 silent) 70 ms
90 FPS -  41 (40 silent) 61 ms
83 FPS -  41 (40 silent) 58 ms
77 FPS -  40 (39 silent) 52 ms
71 FPS -  40 (39 silent) 47 ms
Information.png In cod4 char speed is based on weapon chosen as main at character creation.

Results for Call of Duty 4

  • If you choose SMG, trench or sniper

Information.png moving forward ( max. speed 190 units per second)

333 FPS - 80 (79 silent) (264 ms)
250 FPS - 81 (81 silent) (186 ms)
200 FPS - 87 (87 silent) (167 ms)
167 FPS - 70 (70 silent) (107 ms)
142 FPS - 70  (70 silent) (92 ms)
125 FPS - 73  (72 silent) (84 ms)
111 FPS - 66  (65 silent) (68 ms)
100 FPS - 67  (66 silent) (61 ms)
90 FPS -  69  (68 silent) (58 ms)
83 FPS -  63  (62 silent) (48 ms)
77 FPS -  65  (64 silent) (46 ms)
71 FPS - 66   (65 silent) (43 ms)
    • strafe left/right (152 units per second)
333 FPS - runs silently
250 FPS - 68 (68 silent) 210 ms
200 FPS - 68  (68 silent) 171 ms
167 FPS - 75  (75 silent) 155 ms
142 FPS - 56  (56 silent)  99 ms
125 FPS  - 58 (57 silent) 91 ms
111 FPS  - 60 (59 silent) 81 ms
100 FPS  - 54 (53 silent) 66 ms
90 FPS   - 54 (53 silent) 60 ms
83 FPS    - 57 (57 silent) 57 ms
77 FPS    - 52 (51 silent) 47 ms
71 FPS    - 52 (51 silent) 46 ms
    • moving backward (133 units per second)
333 FPS - 50 (49 silent)
250 FPS - 54  (53 silent)
200 FPS - 58  (57 silent)
167 FPS - 46  (45 silent)
142 FPS - 46  (46 silent)
125 FPS - 49  (48 silent)
111 FPS - 44  (43 silent)
100 FPS - 44  (43 silent)
90 FPS - 44  (43 silent)
83 FPS - 42   ( 41 silent)
77 FPS - 42   ( 41 silent)
71 FPS - 41   (40 silent)
  • If you choose automat (Assault class)
    • moving forward (180 units per second)
333 FPS - runs silently
250 FPS - 81 (80 silent) 202 ms
200 FPS - 84 (83 silent) 171 ms
167 FPS - 90 (89 silent) 151 ms
142 FPS - 69 (68 silent) 96 ms
125 FPS - 73 (72 silent) 88 ms
111 FPS - 73 (72 silent) 80 ms
100 FPS - 64 (63 silent) 62 ms
90 FPS -  68 (67 silent) 60 ms
83 FPS -  66 (66 silent) 54 ms
77 FPS -  64 (63 silent) 47 ms
71 FPS - 63 (62 silent)  44 ms
    • strafe left/right (144 units per second)
333 FPS - runs silently
250 FPS - 65 (64 silent) 212 ms
200 FPS - 66 (65 silent) 174 ms
167 FPS - 72 (71 silent) 160 ms 
142 FPS - 56 (55 silent) 106 ms
125 FPS - 58 (57 silent) 92 ms
111 FPS - 59 (58 silent) 86 ms
100 FPS - 61 (60 silent) 80 ms
90 FPS - 54 (53 silent) 64 ms	
83 FPS - 53 (53 silent) 59 ms	
77 FPS - 54 (53 silent) 55 ms
71 FPS - 51 (50 silent) 48 ms
    • moving backward (126 units per second)
333 FPS - 49 (48 silent) 257 ms
250 FPS - 54 (53 silent) 216 ms
200 FPS - 55 (54 silent) 175 ms
167 FPS - 45 (44 silent) 112 ms
142 FPS - 44 (43 silent) 100 ms
125 FPS - 46 (45 ????????) 87 ms 
111 FPS - 41 (40 silent) 73 ms
100 FPS - 41 (42 silent) 65 ms
90 FPS - 43  (42 silent) 62 ms
83 FPS - 40 (39 silent)  52 ms
77 FPS - 40 (39 silent)  47 ms
71 FPS - 41 (40 silent)  46 ms
  • Heavy Gunner class (MG is main weapon)
    • moving forward (166 units per second max speed)
333 FPS - runs silently
250 FPS - 75 (74 silent) 206 ms	
200 FPS - 77 (77 silent) 171 ms
167 FPS - 84 (83 silent) 154 ms
142 FPS - 65 (64 silent) 100 ms
125 FPS - 66 (65 silent) 90 ms
111 FPS - 70 (70 silent) 85 ms
100 FPS - 71 (70 silent) 80 ms
90 FPS -  63 (63 silent) 61 ms
83 FPS -  63 (63 silent) 58 ms
77 FPS -  65 (65 silent) 55 ms
71 FPS -  58 (57 silent) 45 ms
    • strafe left/right (133 units per second)
333 FPS - runs silently
250 FPS - 64 (63 silent) 218 ms
200 FPS - 64 (63 silent) 189 ms
167 FPS - 69 (68 silent) 167 ms
142 FPS - 71 (70 silent) 147 ms
125 FPS - 55 (54 silent) 100 ms
111 FPS - 54 (53 silent) 86 ms
100 FPS - 55 (54 silent) 83 ms
90 FPS -  50 (49 silent) 66 ms
83 FPS -  51 (50 silent) 62 ms
77 FPS -  51 (50 silent) 58 ms
71 FPS -  52 (51 silent) 54 ms
    • moving backward (116 units per second)
333 FPS - runs silently
250 FPS - 51 (50 silent) 225 ms
200 FPS - 53 (52 silent) 196 ms
167 FPS - 56 955 silent) 165 ms
142 FPS - 44 (43 silent) 116 ms
125 FPS - 44 (43 silent) 95 ms
111 FPS - 44 (43 silent) 87 ms
100 FPS - 39 (38 silent) 70 ms
90 FPS - 41 (40 silent) 65 ms
83 FPS - 40 (39 silent) 60 ms
77 FPS - 40 (39 silent) 54 ms
71 FPS - 38 (37 silent) 48 ms

Information.png It's possible that all of this is hard to understand. Here's the explanation. 142 FPS - 44 (43 silent) 116 ms - means that at 142 fps and scrpit-based movement time 116 ms char moves 43 units silently - and noisely starting with 44th unit. Sometimes (if u get lucky) - "silent limit" is same as "noisy limit", but that doesnt happen often - and looks like an engine bug.
So, as a bottom note. I didnt understand why at 333 fps char moves silently. Mabye silent distance at 333 is so high that it is greater than max speed itself. But - chars with assault rifles strafe silently, but backwards - they move with noise.
Make ur own conclusions on other numbers. Personally i think that optimal fps is one that is custom shot glasses close to a char speed (ex. 200 fps at 190 spd make for 87 units of silent run. at 166 fps and 180 units - 90 units). I havent tested at less than 71 fps because it is too long - and slightest change in movement time (1ms) make for a lot of difference: at 50 fps and 50 ms "silent distance" is 50 units. And at 51ms - 54 units. Anyway, "silent distance" goes down with fps. Lowest one for any class is approx 45 units per second

Results for Call of Duty: World At War

So, what we can to say. Results fully identical same is for Call of Duty 4. Treyarch didn't change controls system. All is same (A little different with a ms quantity but the number of steps with and without noise doesn't change) Call of Duty 4 with only one exception. No more Assault class and now germans/russians can't shooting from AK/M16, this class changes to rifles . Any rifles ( Single shot (mosin) and semi-authomatic ( mp-44 (STG) too) have speed like Assault class in CoD 4 - 180 units per second. Smg and TrenchGun have a 190 speed. And Machinegunners have a 166 speed. Moving forward, surely.

Special research to effecting FPS on character movement

When researching FPS/movement problem a thought occured to me - to count a limit which may be used to define why character is silent at given FPS value and why not. As a base I took strafe run for smg and pistol user (cod 2 ofc. Noise didn't change despite cod 4 IW being 2 years in development). Those values are 159 and 167. (btw strafe speed is 20% lower than forward spd, and backwards spd is 30% lower - 190*0.8=159). As for an example i've picked STAN and tried to changes it's speed in game files (changed weight, so speed changed accordingly). I've found a constant number/speed 160 units/sec. If u take spd 161 and fps 333 - char wont do a strafe run, and at 159 and 160 - will do. Then I thought if it works only for 333 fps - and decided to get some other number out of it. I've divided oakley 160 by 333, got 0.48048(048). Approximated to 0.48. Then i've multiplied next FPS value (250) by 0.48, got 120 units/sec. Next i've calculated weapon weight needed to get that speed, set it and checked - and it worked! At 250 FPS and speed lower than 120 units char does a silent strafe run. Next - do some math. 200 fps * 0.48 = 95 etc etc.

  • For a forward run at 333 FPS max speed is 188 units/sec. Constant is 188/333 = 0.564564, so for 250 FPS max silent spd is 250* 0.564564 = 141 unit/sec
  • For a backwards running max spd is 122 units with a 0.366366 const.




Author of all FPS research - Vsevolod "Gagarin" Vinogradov