Archive for November, 2005
I am the proud owner of an Xbox 360

I am the proud owner of an Xbox 360… Play and Charge kit. Yay! I’ve got a rechargeable battery, and the cable to charge it! So exciting! :) GameCrazy was holding these peripherals for those who had pre-ordered them. I guess they had enough to go around.

Hey, does anyone have any information on how many wireless controllers you’e seen around? Halo requires four, and I’ll have one (someday). Is it going to be hard to get the four we all need for our next Halo party?

UPDATE: I just got a second wireless controller from Fred Meyer here in Corvallis - they’ve got a whole stack of ‘em. Ok, so I’m still missing the actual console with the first wireless controller… :)

When anti-aliasing hurts

Bungie posted their follow-up to the bombshell that Halo and Halo 2 output HD video signals when played on the Xbox 360. This Q/A was included:

How is the resolution change achieved technically?

For Halo and Halo 2, it happens in the “frame buffer� where Full Scene Anti Aliasing is applied. That image is then scaled for the best mix of image quality and compatibility.

I aim to show that, while this information is (unfortunately) expected, it means that you will theoretically NOT want to use the 720p output signal! Based on the results of a subjective, yet-to-be-run image-comparison experiment, we may be able to move this assertion from theory to fact.

First of all, what’s actually happening inside the Xbox 360 with Halo 2? When Halo 2 is running, the original Xbox creates the current image, or frame, based on the internal state of the game world, and the direction your camera is pointed (aimed out the eyes of the Master Chief). Once each frame of the video signal is created, it is stored in the “frame buffer”; a buffer is a temporary storage location in memory, this one intended for storing finished frames.

Next, the image is written from the frame buffer to the screen. Remember, the original image is 576 x 480 pixels - the standard dimensions of a NTSC TV image. High Definition TVs, however, have far more than 576 x 480 pixels: 720p signals require 1280 x 720 pixels. Therefore, to display this lower quality image, a HD TV upscales the image to fill up the space. Imagine taking a four-by-four pixel image and expanding it to fill an eight-by-eight screen - each original pixel would be blown up to be two pixels square. No additional data has been added; the image has simply been expanded to fit in the screen space. If a HD TV couldn’t do this, the image would be displayed in its original size in the middle of the screen, surrounded by black borders.

A game outputs the highest resolution it can, based on the the speed of its underlying program. For Halo 2, native 720p was originally planned, but was not possible due to it lowering the frame rate to an undesirable level. 480p thus became the maximum video output, regardless of what you did to the video signal once it left the Xbox. Once data hits the frame buffer, it is “finished” and ready for display. Any further image processing from here is necessarily defined as “lossy”, which means that you are losing some of the orignal data.

As a side note, upscaling is considered lossy if the frame is being scaled to a resolution that isn’t bigger by a whole integer factor, such as two times bigger, three times bigger, etc. Thus, the next truly lossless upscaling of a 576 x 480 pixel image should be to 1152 x 960. Do you see how this doesn’t fit in a screen that only goes up to 720p resolution = 1280 x 720? Some of the pixels in this scaling will have to be combined with their neighbors, in order to fill the entire screen. Combining pixels means that you are trying to get one pixel to hold the data that two held before. Imagine one was black, and the other white. Is the new pixel black, white, or grey? Data is thus lost. This upscaling is done by your TV - it is throwing away data to expand the signal, if it can’t natively support the upscaled resolution. Generally, we accept this loss, because the alternative is displaying the video on only a small section of our HD TVs. Upscaling algorithms also do a pretty good job in this conversion, so the loss is typically very small. To summarize upscaling, note that no new data is added, and that data is usually lost. Here’s an example:

anti-alias example

Now, with Halo 2 loaded and outputting 720p, the Xbox 360 performs a lossy editing routine on the image before it leaves the machine. Upscaling is done in the frame buffer (after the image is stored there) to get the frame into 720p, so that it won’t have to be upscaled by the TV. Fine and dandy, right? The signal has to be upscaled somewhere, after all. However, before the signal is upscaled, the 360 runs an anti-aliasing pass over it (I discussed anti-aliasing in my previous post). In the same way that combining pixels during upscaling loses data, smoothing out stair-step artifacts due to diagonal lines loses data, as well. Essentially, features that are only a few pixels in size can be effectively smoothed into nothingness by anti-aliasing. Look at one of the comparison pictures. Sure, the curves are rounder, but they’re rounder because the jaggy data around the edges has been altered. It actually looks very slightly bleary - the entire scene appears softened. This is a known side effect of anti-aliasing.

What is especially confusing to me is why they are running the anti-aliasing pass before they upscale. Imagine a 3 x 3 grid, with a diagonal line from the lower left corner to the upper right. According to the anti-aliasing algorithm I’m using, pixels above and below this line will be altered, which means that all of the pixels are changed. In a 6 x 6 grid, the line only affects ~67% of the pixels. Here’s an example, showing the difference between upscaling versus anti-aliasing first:

anti-alias example

The point is that anti-aliasing before the upscale means that you are editing a greater percentage of the frame, and the new jaggies that result from the upscale (jaggies are always born when you upscale) will be untouched. If the image had been anti-aliased after the upscale, then the jaggies that result from the upscale would have been cleaned up. Now, one possible reason Bungie might not have done this is because the duration of anti-alising algorithms is based on the number of pixels being edited. Increase the number, and you slow down the frame rate. However, I do not believe that was a problem here. Upscaling is rather fast, and I believe there was certinaly power to spare in the Xbox 360 to upscale first, and then anti-alias.

In addition, remember that there is no new data being created. This was confirmed by Bungie when they said the image was upscaled, above. If you take nothing away from this article other than the following, I will be happy: There is a difference between outputting native 720p, and upscaling a lower quality signal to fill a 720p screen. As stated, however, this is not unexpected in the case of emulation by the Xbox 360. Emulated games that can’t output in HD still won’t be able to, and no emulation profile is going to change the code to enable them to. The emulation profiles “fake” the game into thinking it’s being run on different hardware than it really is, but the game is not being changed at all. No bug fixes or additional game content are possible.

So here is our conumdrum. The Xbox 360’s video signal would have been exactly the same on my giant HDTV whether upscaled by the 360, or my TV. The size of the picture is the same. However, because of the anti-aliasing, the image will be (theoretically) slightly degraded when output in 720p mode. Thus, I claim that you will receive slightly more jaggy, but more detailed images if you use standard 480p mode. I recommend not setting your Xbox 360 to 720p mode for Halo 2.

Is this actually true in practice, though? Certainly, some amount of bleariness accompanies all anti-aliasing, but will the anti-aliasing actually be so severe that we can no longer discern some small objects? To measure this, we need to run an experiment. We need to capture video coming from the Xbox 360 in 720p mode, and video leaving my HDTV in 720p that originally came from an Xbox 360’s 480p widescreen signal. We’ll take still shots, and examine subtle and/or small features to see if they remain discernable. If they are, then Bungie has tuned the AA correctly. If not, then we’ll have another reason to look forward to Halo 3: true 720p video.

Footnote: At least one other game being readied for the Xbox 360 uses upscaled HD trickery. It’s not true 720p, folks. However, this is HD - High Def is anything over 576 x 480, in progressive scan mode. It’s still gonna be the prettiest racing game ever.

Gentlemen…I give you, the future.

This idea came to me last night and I wanted to run it by some peeps to make sure I actually have something here.

Ok so picture this…

A game that will completely change the way people view FPSers and RPGs. Ok so it’s been said before but hear this one out, I think it has merit and only now that we’re moving into the next-gen era will it even be possible.

You have been given orders by a secret operations subcommittee of the US Senate to execute a black ops mission in a foreign country. Your assignment is to eliminate (read assassinate) a dangerous cadre of terrorist funders before they can organize and execute a massive attack on US soil. (Pick whatever interesting, exotic country you want at this point–I haven’t thought that far yet.)

To complete this mission you have access to the best of the best of the US government: CIA, NSA, Navy, Army, Marines, Air Force, Special Forces. You name it, you’ve got it. You must assemble and equip a team depending on what kind of approach you decide to use to take out your targets. Will you go in with a crack team of military special ops? Will you infiltrate the country with the best spooks the CIA has to offer? Will you follow the trail of crumbs as NSA agents and then send in the cavalry? It’s all up to you. Everything from team members, to weapons, gadgets, transportation, even what languages they speak and clothes they wear. It’s a completely dynamic system much like an RPG would have before you begin a game.

Next you must enter the country. But how? Insertion via submarine? Halo drop? Border run? Or maybe with a plethora of passports, identities, and spy tricks you enter the country via legitimate means. Anything goes because you are the commander, you assembled your team, and now the mission’s success or failure is soely your responsibility.

So how do you complete your mission? Well first things first, you have to find these terrorist guys. Inteligence knows who they are but they don’t know exactly where they are or who they might be working with or who they might be disguised as. They could be holed up in a military bunker somewhere. Or maybe kickin’ it in their highly secure penthouse suite. Either way, they definitely won’t be all traveling together so you’ll have to track them down and then decide how to take them out quickly, efficiently and without causing too much of a stir with the local authorities.

So you ask, how does one go about accomplishing this? Through a series of scripted, linear, predictable missions?? No! Think Bethesda and you’ll begin to glimpse the extent of my vision. A massive, completely open map that contains countless NPCs, (both friendly, neutral, and hostile), numerous cities, sprawling wilderness…absolutely endless opportunities and replayability. The country you play in would be comparable to the size of a Bethesda game world and definitely more detailed and packed with stuff.

The main mission story will be laid out, ready to be played (obviously with numerous plot twists and turns like any good sophisticated thriller story) but the way you approach this mission is completely open ended. You don’t even have to follow the mission–you could go rogue and follow your own agenda (just be sure your team mates feel the same way). Plus there will be numerous targets of opportunity and other various side missions.

The game could be played as a cutting edge first person shooter, a mind-numbing thinker/mystery, a heart pounding third-person spy adventure, or countless combinations of all three. The possibilities are staggering. This would be the first 21st century action RPG, the first truly replayable military FPS. Throw in a HL2 physics engine and true high def next-gen graphics and your looking at a game that could finally break an out-dated mold that has held strong for more than a decade.

So….comments? Insults? Sarcasm? Cheap shots? I welcome all.

A Real Reason For High-Definition

I will sleep happy tonight. HD support comes automatic on Xbox 360 for Halo and Halo 2. Can you say, 720 p, and anti-aliasing?

~720p means that the resolution is much higher - 720p has 920,000 pixels, while standard old 480i (what you’ve got on your normal TV) has only 307,200 pixels. That’s about three times as many!

Thus, split-screen is now much more useful. For example, split-screen in 720p means that, for a two-way split, each half of the screen has more pixels than a standard TV has for the entire screen! If you split it in four, each screen has 75% of the pixels of the entire 480i screen.

The point is that things that used to be only a few pixels in size (far away objects, small objects) will now be drawn with many more pixels - thus they will look more realistic, and will be easier to differentiate. Immersion will be more complete.

~720p is a widescreen mode. The actual resolution is 1280 x 720. 480i is 480 x 640. See how the aspect ratio has changed to 16:9 from 4:3? The screen has increased in pixel count vertically by 33%, but horizontally by 50%.

The upshot of widescreen mode is that you’ll have better peripheral vision when you have the screen to yourself. Did you know that, right before Halo 2 shipped, they narrowed the field of view? I imagine they did it for frame rate reasons - if you reduce the number of pixels being drawn, by putting blinders on the view, you speed up the frame rate. It has always felt like tunnel vision. Well, widescreen fixes that, as you can now see to your sides. Imagine walking around all day with your hands cupped on the sides of your head, blocking your vision, and then taking them off again and getting a new glasses prescription. Kinda like that.

~720p is progressive scan. That’s what the little ‘p’ means. Normal TV’s at 480i only draw half of the lines for every pass the electron gun makes across the screen. Even, then odd, then even, etc. In progressive scan mode, every line is drawn for each pass of the gun. Essentially, the screen is drawn twice as many times per second. It actually appears to have greater visual resolution than 1080i (even with 1080i’s increased resolution), because all of those lines are being drawn. Also, undesirable flickering around narrow, horizontal images is eliminated.

~Anti-aliasing means that jaggies are reduced. If you draw a diagonal line on a raster (pixels made of squares) screen, you have to draw a stair-step looking pattern. It’s quite noticeable if the image is not moving, Anti-aliasing adds pixels to the side of that line that fill out the line, making it seem, well, more like a line.

All of this takes serious muscle. Tripling the number of pixels being drawn, and anit-aliasing the screen (which involves going over the entire image, after it’s been created, and smoothing out lines), requires a much better graphics card than the Xbox has. Originally, Halo 2 was supposed to be 720p. Shortly before the game out, however, it was down-graded to 480p due to frame-rate issues.

Enter the Xbox 360. It has graphics horsepower coming out it’s ba-shnozzig. If you’ve got the Harddrive peripheral (you did get the Premium version… right?), it’s got the emulation profiles for Halo and Halo 2 factory-installed. All you have to do is pop the game in, and blammo, you’ve got graphics coming out the ba-shnozzig.

It will interesting to see, now that the gauntlet has been thrown down, to see if other game manufacturers will upgrade the emulation profiles for their original Xbox games, as well. Are there any games out there that we’re actually going to play on the Xbox 360 that weren’t made for it? Other than Halo 2? Well, at least until Halo 3 comes out?

P.s. - Bungie said that they will reveal more about this resolution enhancement at bungie.net on Friday. Watch for it!