id Says 60fps Is Enough For Doom III
Dot.Com.CEO writes "IGN PC reports that the final version of Doom III will be capped at 60fps, quoting John Carmack as saying 'A fixed tic rate removes issues like Quake 3 had, where some jumps could only be made at certain framerates'. Will this put a stop to fans arguing whether there is a tangible benefit for frame rates over 60fps? What do Slashdot Games readers think about id's decision?" Elsewhere, there's a new preview of Doom III at C+VG, including a mini-interview with Carmack in which he comments: "Now's where it goes from being an interesting demonstration of all the technologies to being a fabulous game, and that really does all happen at the end."
...if this will make my old g400 play Doom III "better" than Quake III. I guess it all depends on whether or not this relic of the 90's will still be able to play it. I hope so, g400's are still really nice (albeit low-end) cards.
Slashdot: Where people pretend to be twice as smart as they really are by behaving like children.
This will definitely eliminate or hinder using Doom3 as a benchmarking tool.
I can HONESTLY say I can notice a difference up to 100fps framerate differences. I am not kidding. We have been playing games like this so long, it is only natural for people to adapt and get "used" to higher framerates.
IDs games have been used for years as a benchmark, and a basis for purchasing beter hardware, and continue to support their game. They can throw that out the window now.
I think if they MUST cap the framerate, then at least try to put it around 85. I understand the reasoning, I just wish there was a workaround.
However, from my understanding, this is NOT a "twitch" shooter, so it probably really doesn't make that much of a difference.
if the engine was capped at 2fps...
Mother is the best bet and don't let Satan draw you too fast.
Yet another way to feel inadequate... insufficient horsepower to make the framerate cap...
anyway... what the heck... this 850MHz Duron box runs SuSE 8.2 perfectly well... s'pose I'll have to save up for a big box just to play the new games on...
Donald 'Duck' Dunn: We had a band powerful enough to turn goat piss into gasoline.
You have enemies? Good. That means you've stood up for something, sometime in your life. --Winston Churchill
No problems here. I don't think that I can differentiate between 60 FPS and 120 FPS...although I'm no expert.
It seems like this will fix the issue addressed in the post, and it may mess with some benchmarks that will use Doom III (anandtech, tomshardware, etc)...however, I'll bet that you will be able to turn the rate-limiting off for benchmarking purposes. Otherwise, there will most likely be no noticable effect.
-Turkey
Just wondering if this makes Nvidia happy, since both highend cards can push 60FPS. Cant really use Doom3 as a benchmark, unless you can override the 60FPS cap.
And after reading the Q3 Tic, info about jumps, wouldnt that be bad code design that causes the jump distance to alter with higher FPS? Wheres a good FPS Engine coder to coment on this...
c+vg requires blood samples and your first born to read
any mirrors ??
it's ab00t fscking time they got some sense into them. nobody needs 300 fps on quake 3, not that any computer in existence could get close to that in doom 3 =D
I wonder if it'll be anything like the original Doom's deathmatch - one guy wearing bright, glowing green, with three in dark colours. That was fun, as long as you weren't player 1.
I can't say that I don't give a fuck. I've just run out of fuck to give.
Even as an individual who benefitted from the 90+fps bug, I like this idea. It really levels the playing field. Now, I just hope Doom3 plays nicely with my Dual 3200+/9700Pro or Dual 2GHz G5/9600 Pro at something close to 1280x1024(LCD).
John Carmack just scored more points in my book. Now if only we could force everyone to use full shadows...
Does this mean that the display will also be set to a 60 Hz vertical refresh, which causes "flicker" with 60 cycle per second light sources, like some flourescent lighting? I think I would very much prefer they cap it at 72 FPS, or at least set the vertical refresh higher than 60.
Ouch! The truth hurts!
Quake 1 NetQuake (not quakeworld) was capped at 72 fps. Since QW, Q2 and up does client-side movement/prediction, this has been an issue on the client.
The thing that players need to worry about is MINIMUM FPS. During a firefight, there will be more elements to draw, and hence a longer render time. Having this drop below your framerate cap is a bad thing.
The issue with jumps being variable depending on ticrate has been a problem in Quake1 days too. In NetQuake, it was only the server ticrate which mattered. Today with client-side prediction, its the clients too.
This just makes me say to id: fix your damn physics model! Why should the jump distance be dependant on ticrate?! Some weird quantization errors you have there.
-molo
Using your sig line to advertise for friends is lame.
Right Here
now, some say THG is bias towards nvida. Others will probably say that this is just a 'special preview' and therefore blah blah blah
either way, unless Doom III finds itself faster than this skimmed down release, most of the current cards can't acheive 60FPS anyway
I fear nothing but my government. Vote Libertarian.
Now's where it goes from being an interesting demonstration of all the technologies to being a fabulous game, and that really does all happen at the end.
Is it just me or does that sound horribly wrong? Actually, we also enjoy good plots, character design, thoughtful level layout, adequate difficulty, intuitive user menus, goodies to unlock...
High fps's and good looking exploding heads don't give us a good argument when the Moms with homicidal moron children come a' suin'.
I seem to remember that even in the old Doom days, if you looked at the raw realtics and gametics you could come up with numbers higher than 35fps, even though the original engine was capped there. It still supplied some sort of benchmark data above the cap rate.
Besides, when Doom frame rates started going up too far they simply used more stressful levels for better benchmarks.
I've no doubt that some sort of many-monsters, many-colored-light-sources, many-other-things-too levels can be built that will stress today's fastest systems well under 60fps. (probably unplayable on my fastest system)
The living have better things to do than to continue hating the dead.
Now that he is "standarizing" the framerate, what features do you think will be turned by defualt on and stress the graphics engine the most? You know he will think of something.
Hopefully, it would be a shame for id to lose their standing as the default benchmark for x86 PCs.
Sticking feathers up your butt does not make you a chicken - Tyler Durden
I wonder which dumba^H^H^H^H^Hmathematical specialist chose to use the framerate as timeunit for all the calculations. That's highly unfair. After all, I want things to happen - even if I don't see them on my 200MHz MMX ATI Radeon. ;-)
;)
And actually, this timeunit problem is quite old: Remeber all those funny M$-DOS-games that you liked to play on your 8086? And then you had to switch this "TURBO" button on your 80286 to be able to play them again.
OK, guys, to troll a little bit:
1) Amiga programmers used to use the time.device.
2) One poster told you Hz (or 1/s) stands for Hurtz. Never heard about Hurtz, but Heinrich Hertz is supposedly upset that someone stole his idea...
Far be it for a lowly coder to question Mr. Carmack, but this seems like a hack. The analysis Slashdot linked to indicates that the problem is caused by a series of errors:
.5*a*t^2. Instead of computing a delta-y at each frame, you should recompute the entire equation each frame, and offset it again from the original point. This means that anything from 1fps to infinite FPS will be accurate, limited only by the accuracy of the FPU.
1) Rounding to integer units in the computations
2) Rounding to milliseconds in frame-rate-control
3) Using frame-dependent computations
These aren't new problems, they are 3 no-nos in game design. Locking the frame rate has many disadvantages (pointed out in other posts). By doing this, it implies that Doom III is still using flawed calculations. How long before somebody decides to create a mod unlocks the frame-rate without fixing the problem? Maybe the timeline is the issue, so I hope it is something addressed in a future patch.
Let me clarify:
1) Most calculations moved from fixed-point integer math to floating-point math in Q1. Integer positions may be okay, if the number is large enough (64-bit?).
2) Timings are accurate enough now that this should not be an issue. Many engines keep values such as the # of ms for the last frame, and the rolling average in floating-point units.
3) This is one of the most common mistakes in game coding and demo coding. Take falling as an example:
y1 = y0 -
Some people will argue that these approaches are slower. But for most games, only about 20% of the time is spent doing calculations for positioning, AI, etc. Most of it is rendering. So a few extra floating-point multiplications per frame is not an issue, even on a slow PC.
Translation:
Our engine is wicked fast because we calculate everything with integer math. Our physics engine runs at a rate fixed according to time, not machine cycles, so that any computer fast enough for the game will run the physics exactly the same as any other machine, and so integer math round-off errors will be consistant, and can be made up for in the map design.
We chose to fix the frame rate to the same rate as the physics engine so that video cards will not be re-rendering the same frame twice. If they did, then the game would appear jumpy.
If you run at 72fps, and the engine runs at 60, then you'd get a duplicate frame every 5 real frames. Since the controls are tied to the physics engine, the controls would feel laggy 12 times a second, until the frame rate again caught up with the engine.
The optimal setup will have the monitor set to 60Hz, or perhaps a higher frequency that is some multiple of 60Hz, but will result in quick beats: rather than 1 in 5, choose 90Hz so every third frame is a duplicate, or best choose 120Hz.
Or just turn off the flourescent lights. You want a terrifying experience anyway - who wants to play with the lights on?
-Adam
Oh no, not a cap at 60! I would lucky to get beyond 30 FPS.
This page was generated by a Barrel of Circus Midgets, and that is the way I like it!!!
You can probably see 120 FPS pretty easily, though you might not conciously notice a difference. To test that you would need to have an image flashed at you at 1/120th of a second.
Why doesn't he just fix the code? I can tell a difference between 60 fps and higher. It's easy to test, just set your refresh rate to 60 Hz and see if you can see nice flickering.
Or they can run them in rooms with such complicated surfaces and lighting that even the newest graphics cards won't maintain 60fps.
Slashdot: Where people pretend to be twice as smart as they really are by behaving like children.
I can notice a difference between a 60 and 120Hz refresh rate on a monitor -- but this is mostly the "flashiness" they produce out of the corner of my eye. I think that if the refresh rate is set properly, it will be hard to notice (although I can see what you mean by higher framerates being registering unconciously). However, there has to be some kind of threshold where you really can't notice. I'll dig around for published studies...I'm sure they're out there.
FWIW, I have a friend who is a coder for Bungie -- he's been into realtime 3D coding for years and he swears by the 60 FPH benchmark for 3D gaming. He says that there's not much reason to have any more (or any less).
-Turkey
I think that keeping it at 60 fps wil help the game run smoother an better than if the rate is all over the place
We all have heard of power-ups. What about power-downs? If you accidentally run over a certain "orb," your character glows in the dark, making you stand out really well within the doom3 shadows.
Yeah, I can tell the difference between 60fps and 75fps. 60fps gives me a headache after ten minutes.
...you'll notice the benchmarking paradigm is shifting away from max fps, and on to much more useful 'time spent in an unplayable fps' or similar.
So fear not! It will still be great to use as a benchmark, just not in the more useless max fps sense.
On perception, studies from the visual simulation field showed that 60HZ is plenty. In fact, having a solid 60HZ is inordinately better than a variable framerate, even if it was often higher. Motion seems smoother, temporal artifacts go away, and our brains can better predict motion, which leads to more of a feeling of "presence."
I wholly support locking the framerate, but I'd prefer if rendering locked to my actual monitor refresh rate, not only 60HZ. That's a bit too monolithic, especially when the problem of special jumps only working at 105fps or whatever is a problem of _simulation_ framerate, not rendering.
On simulation, 60HZ is not the gold standard. Physical simulations are often run higher for various reasons. Positions can be interpolated when graphics and simulation are not integer multiples. Not a problem. But locking the two makes some design issues simpler. Id may have some better way to do all this with a locked 60HZ. I don't know how dynamic their world will be.
On benchmarking, my attitude is this whols FPS benchmark crap was always a mistake. The only useful benchmarks for any video card IMO are how many sustained verts, triangles and pixels per second they can do under a variety of conditions. FPS can be tricked up in so many ways it's not at all useful as a benchmark.
much easier to just scale everything by the time it took to compose and draw the last frame. Unfortunately, it produces weird artifacts that in id's case translated to slight gameplay advantages for higher-framerate users.
I'm glad they're capping it. 60 fps is plenty -- most users don't even realize how hard it is to tell the difference between framerates over 40 or so (possible, certainly, but it's more subliminal than anything). If I have to read one more console game review that claims a game runs at 60 fps (it's always 60 with them) when they're playing it on an NTSC television, I am gonna go nuts.
WHAT, you mean they wont let my ultrafast 200mhz with 32megs of ram get above 60fps? and I just upgraded it too!!
+-+-+-The folowing statement is true. The previous statement is false.-+-+-+
Finally, we can get rid of the biggest limitation today in gaming: Rich gamers.
By capping the frame rate at 60fps, gamers with insanely fast computers will no longer be put at an unfair advantage. This will also (finally) end the gaming age of machosim - yes, people STILL buy faster PCs to get more FPS on Quake3.
Honestly, I find that any game above 30fps is perfectly playable. Any more than 60 seems silly. Aside from that, there are few monitors that can draw so many frames per second... I actually find that once my FPS exceeds my refresh rate, the game begins to look worse, and other factors come into play. I perfer a good-looking game with a lower frame rate.
In addition, this may promote the revival of Motion-blur which seemed to die with 3dfx (those who used the technology claimed it to be awesome). Who knows?
-- If you try to fail and succeed, which have you done? - Uli's moose
Okaaaaaaaaayyy...maybe hertz?
Normally hackers have to get their hands on the game before they figure out what exactly they want to hack, but Carmack just threw them a big fat one to start thinking about.
Somebody (The miltary?) did tests with fighter pilots, and the max rate seemed to be 1/200th of a second for maybe the image of a black plane on a blue sky. Hope that helps if you really decide to find a study. I searched the "Academic Search Elite" database but couldn't find anything.
I would agree that there probably is little reason to go higher than 60 fps. I've limited half-life to that and I don't think I could tell when it was increased later.
60 FPS should be enough for anyone. ~John Carmack
Can't they make this optional, like, for example, in GTA? GTA was a lousy PS2 port and was programmed for a fixed framerate (30FPS). When ran with a variable frame rate the speed of certain in-game events changed (!), but the programmers still left the option to play with uncapped framerate. Why should Doom 3 be different, especially if variable framerate is not a problem for the engine?
:)
BTW, Doom3 will become irrelevant much sooner with this framerate cap. Do you think any game site would still use Quake3 in video-card benchmarks today if it was capped at 60FPS?
Future Wiki -- If you don't think about the future, you cannot have one.
Here's the thing: The "refresh rate" of the human eye is about 15Hz. It's not really fair to call it a refresh rate since different parts of the eye transmit light level changes at different rates (faster in your periphial vision). It's just that on average, the cones and rods in your eyes take about 60ms to "settle".
Of course, the eye isn't taking snapshots, over this 60ms you're sort of summing the incoming light over the entire period, and transmitting the "average".
Thus, we see everything with motion blur pre-attached. Our brains and optical centers are wired to use that blurring to reconstruct the missing motion. Also used in the reconstruction: the fact that different parts of your eye can update independantly, so you have this distributed stream of information coming in whenever, and your brain is assimilating all of it and using all of it (including differences in timing) possible to get the best representation.
Okay, so then clearly, we need really high framerates because our eyes are not cameras telesynced to the monitor... we need to have the pixels as accurate as possible at every time because we never know when a cells in a region will want to transmit. We "figure out" that we are seeing stop frame animation, even if you saw the "snapshots" of the eye, it still would look somewhat blurred and layered. This is the brain postprocessing outsmarting our technology.
Easy fix? You can use a lower framerate if you add the blur. This is why we can sit through movies at 24 FPS, or TV at 30, since the recording equipment is averaging it for us. Of course, we can still sense the "syncronous" nature of the screen updating, especially when comparing camcoder stock at 60fps and movie stock at 24.
But you don't need to update the screen nearly as fast. 60fps with motion blur is about as realistic as one could ever hope for. Have you seen HDTV football broadcasts! My god!
So if Doom supports capping the output framerate at 60fps, but internally allows motion blurring by rendering at twice that followed averaging, I don't think you'll notice it at all. As far as your eyes are concerned, you're screaming at 120.
The one thing I think is a bad thing is that they chose 60. If this is vsynced on an analog monitor (necessitating a 60Hz vert refresh), it kind of sucks. I can "see" the refresh on lots of monitors at 60, but it goes away at 70. I'm sure many of you know what I mean.
I'd rather them cap it at 70, or 72. With 72 v. ref. you could update the screen at 24fps, tripling each frame, but rendering 3-6 frames when possible to create the blur.... LIKE WATCHING A REALTIME MOVIE. When it gets busy, just cut the number of frames you average.
That would be fricking cool.
THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON
A polygon ray intersect calculation takes fewer calculations than a ray/box intersect.
Considering the rendering engine can pick out which polygons are even visible... and where they are... couple that with the known "crosshair" location and you can have polygon accurate hit detection. You might have on average a few more checks with this method than the previous single bounding box check, but it's better than having to check a bunch of invisible virtual polygons or smaller boxes individually.
THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON
Raise your hands if you upgraded your machine solely so that you could run this game at a million frames per second. I know I'm not the only one
Look it's a joke about my sig IN MY SIG! LOL!
it has no impact to the benchmarking, you can still use the engine to determine how fast a video card is, say 354fps or 432fps, but you'll only get 60 different frames in 1 second. that's what JC said.
no need for cheat-protected cvars, methinks.
The other two things, the simulation rate and the rendering rate are both going to be locked at 60hz/FPS.
No, according to what Carmack said, the rendering rate can be higher than 60, say, 120, but half of the 120 frames are identical with the other half.
Yes, simulation rate is capped, if the rendering rate is 120, then, the [user input] and [world entities] will only be processed once per two frames. that's the difference with the existing Quake3 engine, which will check the [user input] exactly per frame, depends on your com_maxfps and your machine's power, and [world entities] will be updated according to sv_fps
I don't see what all the fuss is all about? Sure, the game engine runs at 60Hz.. so? YES, I can see the difference between 60, 75, 85, 100, 120Hz .. I even love seeing 160Hz refresh rates.. we can still use 100Hz monitor refresh even if the game runs on 60Hz internally.
It would only redraw the same picture a few times BUT, you would be able to get rid of the flickering.
About the mouse running 125Hz .. atleast that's what everybody says.. pfft, I only know about 3 people who were ever able to master the mouse in fps games so scary good that they could acuratly shoot of heads in a reflex.. i'm quite sure all of you won't have a disadvantage so stop complaining :)
got to compensate for any physical "SHORTfalls" or what? what a pathetic wimp...
That's actually utterly false.
You don't use a 2-D check to determine the ray intersection with the polygon, that would be useless. By the time the rendering is complete (and assuming you lock the back-buffer, which *very* few games do other than for screen-shot purposes), you don't know where a given pixel on-screen came from.
Sure, a line-box intersection is slower than a line-polygon intersection, but you're assuming that they already know which polygon to test. In order to do that, you have to iterate over the polygons through some method (usually not brute force, usually bounding boxes or spheres).
The way this sort of thing usually works (and its really not anything new, just new for iD), is to have the model broken into pieces, the model, head, arms, legs, torso, etc. You test the model through the hierarchy.
First you see if the ray intersects with the model at all (usually ray-box or ray-sphere). If it does, you test the next piece in the hierarchy (usually left/right or along the biped object). Once you've narrowed down your search to a single piece in the hierarchy, usually you just brute force walk through the polys in that section.
I currently have no clever signature witicism to add here.
Many quake derivatives have solved it. (BF1942, for instance?)
I currently have no clever signature witicism to add here.
Here it is
Luck favors the prepared, darling.
Well, I play Counterstrike. I have my fps in game set to 100, I have my monitor running at 100hz and I have v-synched enabled (windows xp, refresh fix). As I understand (and experience) it, everything is in synch. I have an extremely smooth gaming experience with no screen-tearing (thanks to the v-synch). You CAN easily tell the difference in an fps game when you play with lower frame rates. It's that simple, you easily can. Carmack did state a few years ago that a semi-serious gamer would want 60fps and that's true, but it's really the minimum you want for competitive gaming. Any less and things just aren't smooth enough. However, for a single player experience we can deal with a lower fps - I seem to recall that when Quake 2 was released people were reasonably happy getting 30+ fps for the single player experience.
Well, no shit, Sherlock.
A stable framerate is soo much more pleasing aesthetically. Variable framerates are really distracting and make me think about the engine and the software and the hardware, instead of being immersed in the game.
-josh
Thank you for telling us your full computer specs, they definitely helped out the post. I don't think you could have made an effective post without them!
The FFT (flicker fusion threshold) of the human eye varies between 15 and 20Hz (depending on light level and subject age). This is the minimum framerate that appears as multiple still images as opposed to reconstructed motion.
Your eyes also have a secondary process called saccadic movement. It has a varying frequency (4-5 times per second), where the eye makes sudden jerks and focus across your vision. You only see during intervals when the eye stops moving, the periods in between are blanked out by lower brain functions (which controls the eye movement).
Since there are multiple processes and response patterns involved, low framerates are detectable even if they appear to be moving.
But such lower framerates coupled with appropriate blurring and progressive-scan displays or LCDs can eliminate nearly all such senstations.
And citing that your statement was "proved" wrong on slashdot is not lending it much credibility.
THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON
USE COMMON SENSE!
When an object moves in front of our eyes or on the screen, yeah we might not need 100 frames per second. Move your outstretched hand left to right really fast in front of your eyes, and you will notice that you see a blurr of a mix of colors. This is what you guys keep talking about. Well, you guys are WRONG for focusing on the WRONG thing.
What you guys are talking about is MOVEMENT, but you should be talking about EYE SCANNING. Yes, our eyes aren't fast enough to see individual frames of fast movement very well, but that is irrelevant. WHAT MATTERS IS WHEN YOU ARE *NOT* MOVING but instead only USING YOUR EYES to look around you. AHA! Here is where you understand my point. Although eyes can't separate frames of fast movement, *when our eyes are the ones moving, we can.* We have a big peripheral vision and we use our eyes to look around, while the big picture of what's in front of us remains the same, causing no frame difference. But on the computer screen, you have NO peripheral vision, so when you turn your character, it's as if his eyes are fixed to the center and you have to turn your NECK to look around, thus causing movement. And with movement, comes the price. If you have a sensitive mouse and you move it up quick, that might last 1/6th of a second. That means in that time, there were updates 6 times. Your eyes can definitely see the difference OF a 17" VIEW MOVING from point a to point b. There is nothing wrong with that, but motion blur needs to exist to make this real.
However, if the screen was infinitely tall and wide to fill up your peripheral vision, you could just use your eyes to look around your peripheral vision isntead of having to MOVE the character's head. Of course, games don't allow peripheral vision, as if you buy a bigger LCD you will only get the same exact image, just scaled bigger. What games need to do is simulate peripheral vision so that on the bottom of the screen, you can see your legs as if you were looking down with peripheral vision. On the top inch of the screen should be displayed what is almost at the top of you, as if you were using peripheral vision to look up. the left inch should try to simulate what you would see if you moved your eyes left, like any monsters coming at you from the left. That way, the world won't be a flat PHOTOGRAPH of the camera, but a simulated person's view of a world in peripheral vision, with everything a normal person would see be somehow displayed on the monitor like I said. Maybe by trying to draw a curved sphere of vision or something.
Cover your eyes and click this link!