Localizing High-End Games for Low-End Machines
CowboyRobot writes "Intel engineer Dean Macri has an article at ACM Queue listing the challenges in designing PC games that will run on very different processors.
PCs vary widely in their performance, and if game developers design only for the high-end, they limit their market.
The article lists specific tips on how to guarantee that even old slow machine can run new games, such as 'the number of triangles used to create the trunks and branches could vary based on the available processor and graphics hardware performance', 'replace the clothing on characters in a game with actual geometry that separates the clothes from the underlying character model', and for simulating ocean waves, having low-end systems rely on basic sine waves while higher-end machines use more sophisticated methods."
As a game programmer and developer http://igerard.com, I have worked with a number of systems that scale to the specs of the system. Most recently I have worked with the Torque Engine, which has some scaling capability, and with my own engines (although they usually dont require so much processing power).
As a gamer, I have always had a laptop, as I move around so much, and I am very impressed by the scaling capability I have seen in recent games (Medal of Honor: Call of Duty, Morrowind) which have worked fine on my meager 32mb Mobility Radeon graphics card)
Post apocalyptic gaming goodness
There will be a software renderer built into UT2004. This means you don't need a 3D capable video card installed to play UT2004. It does help if you have beefy CPU if you use this mode, since that will be doing all the work. It isn't pretty, but at least you can play.
Journal
Increasingly I've seen the reliance on a better graphics card to significantly improve frame-rates the most. Take my current box, in the past few months I just upgraded my PIII 450 from '99 to a P4 2.6 800Mhz FSB. RAM went from an initial 128MB to 320 MB SDRAM last year into 512 MB DDR dual-channel now. The overall improvement in gaming has been limited though. Yes, things do run much better than they did in the past. Massive numbers of units and other computationally intensive tasks have obviously seen the most improvment, but the graphics card is holding everything back.
I'm using a GeForce2 GTS from '00 at present and I certainly feel it. Vice City can drop to a crawl at times and other games need the graphics options knocked back quite a bit in some cases. While the $300 I spent on motherboard and processor upgrades are noticed the same amount of money needs to be put into a graphics card to really notice an improvement in frame rate and for almost all intents and purposes, actual improved performance.
The graphics card is increasingly becoming a major (not to mention expensive) bottleneck that needs to be upgraded on a much faster path than the rest of the system to stay competitive. The only advantage here is that in many cases a weak processor can be enormously helped in some cases by a cutting-edge graphics card.
While the article has a lot to say on this topic and it's certainly one of the easiest changes to implement scalability in it can still be a problem in many cases and should perhaps be addressed more seriously. Graphics technology, moreso than any other part of the computer is really what's driving gaming these days and should be watched closely to keep it in check.
Not bad for a game by Microsoft (and Big Huge Games.)
Might be moderated as funny, but a 64MB Pentium III box with some old NVidia 3D chip is fairly low end these days. The difference is the games are optimised for that CPU and 3D chip.
> I generally loath the idea of gridcomputing, but rendering is one of the areas it is good at.
Yes, but not real time rendering!
The unofficial
A fractal is defined as whole from the very beginning. Pick a set of parameters, apply to equation, you have whole fractal. Change one parameter, whole fractal is changed. Unlike mgreat most of objects in game, where they are defined point by point, changing one of them changes a single piece of the object. You can't apply the same simplifications to koch's snowflake and to human's head, just because human's head isn't a fractal. True you can drop points, but then results suddenly become really awful. Drop every fourth point and suddenly teeth become random sharp spikes, nose becomes a pinokio'ish point, ears get asymmetric... It's not math, it's art. Get an artist miss out every fourth note in a song and you get about the same result.
And don't mention MP3. MP3 optimizes for size, not for simplicity, eating up way more CPU time than uncompressed WAV.
45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B2
You just answered your own question without realizing it. They program scalability in games so that someone with a slow computer can still play it, and then turn up all the graphics options and see how very beautiful it was on a high end machine. Consumer will then want said high end machine to play said game with all options turned on at more than slideshow rates. Think about when quake3 came out and most people could play the game at it's minimum requirements fairly well, but then you bought new hardware to take advantage of the rest of the special FX. I know I did.
cheese logs keep my wang warm at night.
That bug remained in the final game I believe. I guess it was suppose to be a "feature".
No sig for you!!
The first one does not allow you to take advantage of many new techniques. You have one version of everything, and takes advantage of a few 'eye candy' features, if present. The second one, which is what many games already do, is have many performance classes. For example, the machine falls into a bin of "Base Requirements Version (bad graphics, slow CPU)", "Version 1 (3-year old expensive system)", "Version 2 (1-year old expensive system)", and "Version 3 (today's $4000 system)". They then develop between two to four different algorithms, and a *LOT* of glue code so the displays don't look too different. The third option is to have both of the above options, plus global CLOD, procedural and implicit surfaces, and more advanced processing that takes so much math that a 3-year-old CPU can't handle it.
For example, page 6 discusses using high-quality water on faster machines, and low quality water on slower machines. They only touch on why it might be a problem, stating "fluid simulation will have to be either devoted entirely to ambient game effects or simple enough to run on the minimum system specs without any scalability to higher systems. Most likely, the introduction of fluid simulation to actual game-play, not just ambient effects, will require the combination of both, so the visual quality may be scalable but the simulation quality will be fixed."
Let's try to consider what the article REALLY means for this type of case.
First, we'll assume that water is critical to the game, and not just some fancy external thing. Maybe players are all riding around on jet-ski's or moterboats or battleships or something. The developer now has a choice. They can either:
This isn't just an issue of adaptive level of detail or swaping algorithms. Because this represents basic game states, it must be kept in sync on all clients, meaning it's an all-or-nothing decision. Do you want realistic ocean waves in your water game, or do you just want waves?
Let's look at another issue they bring up on page 1 -- Integrated Graphics Cards. (just typing that makes me shudder.)
Many integrated graphics cards don't have dedicated memory. Just looking through a Dell catalog will have little footnotes next to laptop and 'economy' computer memory numbers, system memory will be shared with graphics and audio processing. The board might have a fancy nvidia or ATI processor on it, and the card might be able to do all of the algorithms just fine; but the moment you run some combination of algorithms at the same time, they fight for the same CPU and memory spaces, and grind to a halt. In this case, the system stats themselves could be more than enough for the game, it's the motherboard or some other component that's the bottleneck.
In that case, dynamic algorithm selection is basically required, and is something many games already do.
But how long can we keep it up? Right now we already have to code for:
When is it too much? Already, we have to test dozens of different configurations.
That's what the article was asking. How can we have the third option (infinite scalability) without ignoring all the lower-end 'budget' PCs?
The question is still open.
frob
//TODO: Think of witty sig statement
Games for PS2 render to a 640x240 pixel frame buffer at 60fps. This results in jagged edges. Games for GameCube and Xbox, on the other hand, typically render to a 640x480 pixel frame buffer and try for 60fps. For an interlaced display, they do a simple comb filter on the scanlines. This results in smoother edges.
Fun with Anagarams! LADS HOST, SHALT DOS. HAS DOLTS. AD SLOTHS, HATS SOLD. ASS HO, LTD.
Beg to differ. Businesses buy expensive systems to use as servers. The only reason you'd use that much money is top-flight hard disks, gigs of RAM, RAID arrays, etc. (See ArsTechnica's insane "God" Box ($10k!))
It's eminently possible to put together the hardware for a very good gaming box for under a thousand, and an excellent one can be had with $1500-$2000.
Just as an example:
There, that's about $850. I said "under a thousand" for the hardware, right? That's lots of wiggle room for a second drive or better video card or whatever you feel the need for.
Now, given that this is a gaming box, and the best OS for gaming on this hardware is Windows, I'm not going to zealot around and scream "Linux! Linux! Linux!" at you, but figure in an extra $200 even for XP Home non-update; Professional is $300. (But just because you run Windows doesn't mean you have to run Office - take a look at OpenOffice.) Add to that an antivirus program (NAV 2004 is $50 or so) and whatever else you consider necessary, and you're looking at about $1100-1200 done. A far far cry from $5000.
And as a final point, I get plenty of games where my broadband connection doesn't matter. Some people still play singleplayer / offline games, and when I play MP, it's usually LAN.
[0] The last one I saw was 2600 & board for $90.
[1] Hell, a combo DVD-ROM/CD-RW runs about $60, if you have a minitower case.
[2] Do not skimp on the case. Cheap ones both cut corners (I did a build the other week where the motherboard just barely fit in past the optidrives - there was less than a cm of room. $15 case, I should have known.) and have corners that cut. (/me shows off scars on hands from cheap cases)
[3] Case fans, good cpuhsf, floppy drive if you want it, mouse, keyboard, etc.
if the answer isn't violence, neither is your silence / freedom of expression doesn't make it alright