Cool article on how they are tackling lag.http://community.rockband.com/index....g/view/id_497/
The bad news: I'm on blog hiatus for a fortnight after this while I go galavanting around the world. I'll be back in October!
The good news: Finally, the first in-depth article about something in Rock Band! Since this I can feel people's eyes preemptively glossing over, I'm going to do a short summary, then something with a few more details. Let's talk about the Calibrate System feature in Rock Band.
Calibrate System in Rock Band - The Summary:
We did a lot of research, and have a new way to make sure that everyone can play Rock Band without different combinations of TVs and Stereos screwing everything up. It's a lot better than our previous games, and we've calibrated on setups from laggy LCDs to massive theaters with video splitters with no problems.
Calibrate System in Rock Band - The Whole Thing:
In previous games, we had functionality that let people set their HDTV lag'. This worked great for a bunch of people, but also produced some weird results for others - some people had unusually high numbers, and some people found themselves unable to play on some HDTVs. What made it weirder was that other people on the same TVs would be able to calibrate fine!
Obviously, this sucks. So, we decided to disassemble everything and analyze every single variable that could possibly influence lag. Meet James and the Lagpwnerer 2000:
James spent weeks with different TV and stereo types, light guns, oscilloscopes, and hacked-apart controllers, and found something that caught a bunch of us by surprise - and became the basis for our Calibrate System flow.
Let's imagine that you're looking at a timeline of when various events happen. For lag calibration in previous titles, we've only cared about two things - when the controller input arrives (like, when you strum), and when the audio and video are being shown on the screen. On a CRT, we assume that these are always in-sync, but on an LCD there can be a delay between input and output.
So, in previous titles, we had a Calibrate HDTV Lag option that told the game to play the A/V earlier, and calculate hit detection later, so that notes showed up at the same time you'd expect to play it.
This should cover everything!, we thought. Then, we started reading emails and forum threads about people not being able to get their system to be calibrated correctly. We were confused because it worked fine on our setups at Harmonix HQ! Then, for some reason a lot of us upgraded our TVs to HDTVs around October of last year, and one or two of us started noticing it too. If we're already compensating for the lag beween when a TV receives a signal and when it displays it, then what else is left to adjust?
James leapt into action, and found some very surprising things:
The biggest was one that we weren't expecting - not only does the audio play at a different time to the video on most HDTVs, but the gap between them increases depending on your display type, sometimes as bad as the audio and video being 110ms apart!
This gets even worse if you run your audio through an amplifier, since it doesn't know how much your video is being delayed by.
This gets worse again if you're sending a 5.1 signal, since creating and sending the signal adds even more audio latency
Gadzooks!, Zut Alors! and Crikey!'s were exclaimed, and James and I bunkered down to work out how we could not only get all of these new variables to line up, but also make it even easier than it has been to do in our other titles. Here's what we came up with:
Yep - one button calibration. We tested a wide range of TVs and came up with presets for all of the most common sets on the market. For most people, this is the only calibration screen you'll ever see - just choose your TV type and your calibration will be all set.
Naturally though, this isn't right 100% of the time. What if you have a very slow LCD TV, or if you have an amplifier hooked up to do audio work? Or if you just don't trust our awesome presets and want to fine tune it down to the millisecond? Well, that's where we provide a new multiple-step process in manual calibration. Step 1 is A/V Syncronization:
The aim of this screen is to make sure that the audio and video are sync'd up and not out of sync like they are on most HDTV sets. It's a pretty simple test - a circle moves from left to right, and you need to move the target so that the click sound happens when the circle passes the target.
With this test and an external amplifier, you can also eliminate a lot of lag from what are traditionally high-lag sets like DLP or Rear Projection HD sets, since you can now move the video all the way back to the now-instant audio. This is how we achieved zero perceivable lag on the Omegathon stage at PAX, even though there was 200ms between the audio coming out of the speakers and the video that was being split to three screens and two massive projectors.
The second part takes care of the difference between the input and the now-syncronized audio and video:
One of the nice things here is as well as the strum or hit calibration test to determine the difference between input and A/V, we also allow you to manually input the difference! This is handy if you know how bad the lag is already, or if you just want to nudge the current value without taking a whole new test.
We also allow you to turn on Overscan.
Most people will leave this alone, but if you're playing on a monitor or through a VGA cable it means that the image you see will fit the screen better instead of being weird around the edges.
So, that's what we've been doing to make sure that everyone can play lag free. We've yet to come up with a situation where there's unsolvable lag, and we've been field testing it in the most demanding conditions, like E3, GC and PAX media setups (yes, calibrating an entire system in the 30 seconds before you're playing for Gamespot Live *is* possible) as well as the wide variety of TV's we specially ordered to make sure we covered everything.