Slashdot Mirror


Unreal Tournament 2K3 Gets Software Renderer

Thanks to an anonymous reader for pointing out that the official Unreal Technology page has been updated with a software renderer for Unreal Tournament 2K3. This is an interesting step for those gamers with fast CPUs but inadequate 3D cards. The Pixomatic technology powering it was co-developed by Michael Abrash, John Carmack's right-hand man during the development of Quake, and a famous programmer and writer (at Microsoft and elsewhere) way before then.

47 comments

  1. Huh? by RaboKrabekian · · Score: 4, Insightful

    Who has a fast enough CPU to run this game, but *doesn't* have any kind of 3d accelerated video card. That kind of userbase must be incredibly small. I'm struggling to come up with any kind of user who would want to play this that wouldn't have at LEAST a TNT2 or GeForce. And a GeForce2 can be had for what, $20? Less than the price of the game. Please tell me who this is for.

    Of course maybe there's a more important reason for the software renderer, but I'm not going to read the article for fear of being proven wrong.

    --
    "Moderate drinking can help prevent amputated limbs" -- Abigail Zuger, NYTimes, 12/31/02
    1. Re:Huh? by questionlp · · Score: 4, Informative

      Where this could come into play are corporate desktops that have 2+ GHz P4 or Celeron's using Intel's Extreme Graphics integrated video (which is a wee bit better than the poor i740/i81x stuff).

      Also, look at some of the eMachines and el cheapo systems that have decent processors (1.6+ GHz is fast in most cases) but use integrated graphic too.

    2. Re:Huh? by TimeTrip · · Score: 4, Interesting

      Maybe for people with pretty powerful laptops, but with a horrible graphics chip. Obviously they're not going to be able to get even basic 640x480 OpenGL quality.. but they at least be able to play it.... hopefully?

      --

      You crazy man? You piss off supahfly!
    3. Re:Huh? by bigman2003 · · Score: 1, Insightful

      Exactly- the user base would be very small, and the game would still be crap to run. How many people *who want to play this game* have a 2.5ghz+ CPU, but don't have a decent 3d accelerator?

      UT2k3 is not a game for the 'casual' game. They would crap their pants after 2 or 3 'die bitch' and 'you whore's. (Not because of the language, but the impossible to track, fast action)

      But hey- there are people out there who don't think they should need to buy a decent 3d card, I guess this is more of a proof of concept, than something that would actually be useful.

      --
      No reason to lie.
    4. Re:Huh? by RaboKrabekian · · Score: 1

      But don't most integrated graphics chips these days have at least some sort of 3d acceleration?

      That's the impression I was under - and even that meager amount of 3d acceleration would be better than offloading all of the graphics rendering to the CPU, right? right?

      --
      "Moderate drinking can help prevent amputated limbs" -- Abigail Zuger, NYTimes, 12/31/02
    5. Re:Huh? by Anonvmous+Coward · · Score: 1

      "But don't most integrated graphics chips these days have at least some sort of 3d acceleration?"

      Sometimes the processor's faster than the graphics card. A lot of it really depends on what you're doing with it.

    6. Re:Huh? by questionlp · · Score: 1

      That may be the case, but the other issue is what kind of 3D acceleration can't the integrated graphics do and how much more memory bandwidth will it soak up compared to if the processor were to handle much, if not all, of the processing.

      Most if the 3D-capable integrated graphics chips are really meant for mostly 2D graphics with some, and I mean some, 3D... maybe enough to render 3D Window screensavers, handle basic shapes and transitions. But I doubt if they can handle lighting or transformations at anywhere the speed that a 1.8Ghz Celeron can do.

    7. Re:Huh? by SoVeryWrong · · Score: 0, Redundant

      Uh, easy, Laptops.
      There are a lot more laptops with fast CPUs than laptops with high end 3D chipsets.

    8. Re:Huh? by sporty · · Score: 1
      any kind of 3d accelerated video card


      Note. If you have an SMP system, and your cpu is faster than your geforce... why shell out for a new video card. :)
      --

      -
      ping -f 255.255.255.255 # if only

    9. Re:Huh? by darkov · · Score: 3, Interesting

      UT2k3 is not a game for the 'casual' game.

      Well that's how I play it. You don't have too play it like you're a sad geek with no life but practising your UT. For some people (like me) who get lousy pings, there isn't much choice. It doesn't matter how quick you are with a 300ms delay before your shot is registered. You can play defensive or with a bit of strategy to make up for it. It's actually lots of fun frustrating dextrous kiddies who know where all the powerups are (and who cheat) with a bit of stategy. The BR patterns are best for this.

    10. Re:Huh? by Gadzinka · · Score: 5, Insightful

      And a GeForce2 can be had for what, $20? Less than the price of the game. Please tell me who this is for.

      For anyone who has video card, not the game card.

      My matrox g450 has perfect picture quality in 1600x1200@70Hz, very good Backend Scaller for video and very poor performance in 3D. While it can't compete in 3d speed even with TNT2 it's got better picture quality than several times more expensive GF cards.

      If you spend 10+ hrs a day in front of the monitor you do care more about picture quality than 3D speed.

      Robert

      PS. ATI has much better picture quality than nvidia, but still loses with Matrox.

      --
      Bastard Operator From 193.219.28.162
    11. Re:Huh? by Mikey-San · · Score: 1

      Here's your answer:

      Dude: "Hey, I'm thinking of upgrading my rig for some of these new games, and I want to make sure I'll like 'em first."

      Guy: "Well, run the demo in software mode and see if you like it. It won't be as nice, but you'll get a good idea of whether or not you'd be justified in buying a new graphics card."

      Dude is happy.

      Sound good?

      --
      Mikey-San
      Karma: +Eleventy billion (mostly affected by watching Celebrity Jeopardy)
    12. Re:Huh? by (H)elix1 · · Score: 1

      Who has a fast enough CPU to run this game, but *doesn't* have any kind of 3d accelerated video card.

      How about those of us using VMWare - no native 3D card when running in a VMWare session, but more CPU/Ram than you can shake a stick at.... Not that it matters for ut3k - they _have_ a linux client.

    13. Re:Huh? by PurpleFloyd · · Score: 1
      Your CPU probably isn't faster than your video card, unless you're using some sort of awful onboard graphics (and not an Nforce, either). Remember that GPUs are designed with 3D graphics in mind; they have all sorts of complicated math accelerated in hardware that would be near-useless in a CPU. Also, having ridiculously fast on-card RAM doesn't hurt either, while your CPU's memory architecture isn't designed to cope with massive amounts of textures. Just having lots of fairly fast memory is better for 3D graphics than having a blazing cache and comparatively slow main memory.

      Besides, why worry about the price of a new video card? Unless it's a server, $40 US for an older Geforce2 or a Geforce4MX isn't much compared to the money you're dropping on a SMP motherboard and two top-of-the-line CPUs.

      --

      That's it. I'm no longer part of Team Sanity.
  2. Doom III is not going to run in its full glory on by flabbergast · · Score: 1

    "If you need six passes per light with four lights at a time, or if you need 30 million triangles a second, or if you have multiple layers of alpha everywhere on the screen - in short, if you need anything like the power of the latest GeForce or Radeon - then Pixomatic is not for you."

    Gee...and here I was thinking that I could get my PIII to run DoomIII like a champ... *sigh*

    Sarcasm aside, I think this is pretty cool: "In fact, Pixomatic would have worked well for at least 17 and possibly as many as 19 of the top 20 PC games of 2001." For stuff that doesn't need the latest and greatest, this is nice.

  3. pixomatic? by joFFeman · · Score: 3, Funny

    buzzwords are fun. does it also have BLAST PROCESSING?

    --
    "Life is great; without it, you'd be dead." -Harmony Korine
    1. Re:pixomatic? by NanoGator · · Score: 1

      "buzzwords are fun. does it also have BLAST PROCESSING? "

      heheheh oh my I remember those ads. There was one game... ugh I can't remember which one it was, but it was for the Super Nintendo. On the box it said "featuring Blaze Processing! Gee...

      --
      "Derp de derp."
    2. Re:pixomatic? by neostorm · · Score: 1

      Blast Processing = Sega + Sonic 2.

  4. Useful for conservation by WolfWithoutAClause · · Score: 4, Insightful
    In 15 years time, who will have a GeForce card of the right vintage anyway?

    A software renderer means that the software will still run, whereas the hardware we have right now will be gone.

    --

    -WolfWithoutAClause

    "Gravity is only a theory, not a fact!"
    1. Re:Useful for conservation by ComputerSlicer23 · · Score: 1
      In 15 years, how many people will still have an OS that will reliable play it? I'm sure hoping you'll have to have an emulator, or a compatability layer around, and that the emulator/compatibility layer will present to the standard holographic projector to the DX8 layer as the output device...

      This would be a cooler technology if they just presented the game with a DirectX 3D driver. I'm not much of a D3D API expert (never having seen it). I'm guessing this is doable given all the technology they have. D3D is supposed to abstract everything away from the hardware, but be a very thin layer to the hardware. I'm guessing a guy could take their technology and the sample Direct3D driver that the MSDN library should have, and turn out a workable D3D driver. However, then they'd sell the technology to gamers, and not to game companies (I supposed they could still sell it to game companies to bundle into the disks). However, if there is a market for it, I'm guessing MS will buy them, and ship it as a stock portion of D3D.

      :-)

      Kirby

    2. Re:Useful for conservation by Anonymous Coward · · Score: 1, Informative

      Brute force APIs (OpenGL, D3D) are not easy to implement with reasonable performance in software. In software, overdraw (drawing primitives several times over the same pixel) kills you. In hardware, overdraw is not that much of an issue until scene complexity starts climbing beyond 10 or 20 -- that's how many times the same pixel has been repainted for a single frame. That basically means your GPU can draw polygons on the screen 20x faster than your CPU. Not bad for something that's 10x slower on paper (MHz vs MHz).

      Plus, the GPU can do texture mapping and projections and nowadays can run short programs for each pixel. All that is gone with the CPU if you want something that performs half-decently in terms of FPS (you want something over 30 to call it interactive and over 50 to make it playable without problems for most people).

      End effect: a pure software renderer has to use a different renderer. One that is a bit smarter about overdraw. And that's not your out-of-the-box OpenGL game renderer. Games have better things to worry about than reducing overdraw.

    3. Re:Useful for conservation by gl4ss · · Score: 1

      you will _probably_ have an emulator by then(theres pretty portable ones in development/running already).

      like bochs or dosbox, dosbox feels faster and is easier to get games running(it was made for that), bochs is more complete though..

      --
      world was created 5 seconds before this post as it is.
  5. Good for my laptop by Smack · · Score: 3, Insightful

    Despite the claims this has no use, my work laptop has a nice fast Pentium 3 in it, and a crap vidcard. I'm sure I'm not alone.

    1. Re:Good for my laptop by Bastian · · Score: 1

      Ditto. My desktop has a nice P3, but the vidcard is a Voodoo3, which won't cut it for most modern games since it's a 16bit video card.

      However, I'm not going to upgrade my card just so I can play more games. I realize a decent GeForce or Radeon is only 40bucksblahblahblahblahblah. Whatever. I don't particularly care about supernice graphics in my games (I still prefer Quake to Q3) Even I were willing to buy a card, I'd want to play the demo before I buy the game, and I am sure as hell not going to buy a video card just so I can play a demo.

    2. Re:Good for my laptop by Anonymous Coward · · Score: 0

      Better than those of us with crappy i810 boards that don't have an AGP slot at all... Sucks, since the board and CPU and everything's just fine for everything but games.

      I didn't know it was possible to castrate a Geforce4 MX 420 any more. Then I got the PCI version.

  6. Unsupported cards by CAPSLOCK2000 · · Score: 1

    I'd use it. I have a speady computer with a fast ATI Radeon 9700. Unfortunatly the drivers do not support UT2K3. I get 20 FPS which sucks bigtime. I guess even the software renderer will do better.

    1. Re:Unsupported cards by Toraz+Chryx · · Score: 1

      You mean you "didn't install the drivers properly" ?
      'Cause this guy doesn't seem to be stuck at 20fps

  7. Good for benchmarks... by Joseph+Wharton · · Score: 2, Interesting

    I'd really like to see an Athlon XP 3200+ go up against a Pentium 4 3.06GHz in software rendering. Usually, when a new proc comes out, everyone benchmarks it combined with a top-of-the-line video card. I've never seen the point of that. Why not use a software renderer to see how truly fast the CPU is?

    --
    Quality or Quantity, don't tell me they're the same.
    1. Re:Good for benchmarks... by flabbergast · · Score: 1

      Check out this Anandtech article about the Opteron. Since none of the current Opteron MBs have AGP, Anandtech used a PCI GeForce4 and left resolution at 640x480. Further, "If you remember, up until the release of the GeForce4 Ti 4600 and the Radeon 9700 Pro, almost all of our gaming tests for CPU reviews were conducted at 640x480." So, there are people out there are doing CPU Reviews and doing what you requested.

  8. What's far more exciting to me by rhakka · · Score: 3, Informative

    is that the UTV client will be done in a couple of weeks allowing virtually unlimited spectation of matches with only one "cameraman" in the server.

    also Epic has said the next patch will break network compatibility with older servers/clients, but will also reduce client bandwidth requirements by 40% and server CPU utilization by as much as 50%... pretty crazy if true. Interesting they would break network compatability given that they are releasing the next iteration (UT2004) this fall, but if we get those kinds of benefits it would be well worth it. Good servers are in short supply unfortunately, in part because of their high requirements.

    The Epic boys have been quite busy. I have to say I was extremely dissapointed with the buggy nature of UT2003 at release, but they have truly gone above and beyond the call of duty with these mega beefy patches and free content and extras like software rendering for example. Hopefully the 2004 release (backwards compatible with 2003 servers) will reinvigorate the online community for this franchise...

  9. Why not Mesa? by SeanAhern · · Score: 2, Interesting
    Considering that ID likes using OpenGL, I'm a bit surprised they aren't using Mesa, a free implementation of the OpenGL pipeline in software. Everyone who has XFree86 has it on their machine. It's reasonably fast, and gives you flexibility on platforms that either have no 3D accelerator, or have a much faster CPU.

    The only reasons I could think of that they'd want to write their own would be:
    • They wanted to optimize for the only the operations they use. Their renderer performs no lighting calculations, for instance.
    • They can optimize for a specific operating system and processor. They use MMX instructions, for instance.
    But that's about all I can come up with. And the compiler should optimize things for a given processor.

    Anyone have any other ideas why they decided not to go with Mesa?
    1. Re:Why not Mesa? by netfunk · · Score: 3, Informative

      Mesa is not anywhere near "reasonably fast" without hardware support. Software Mesa renders a frame every few seconds. Pixomatic can get 70 to 100 fps in many scenes. Then again, Mesa is meant to be a correct OpenGL implementation, whereas Pixomatic is concerned with speed over quality (and isn't an OpenGL API at all).

      --ryan.

      --
      Don't say, "don't quote me," because if no one quotes you, you probably haven't said a thing worth saying.
    2. Re:Why not Mesa? by GoRK · · Score: 1

      Because Mesa's software rendering is SLOW as HELL. Ever load up Quake3 using Mesa? The fastest machines can't keep a good framerate in 640x480 with most of the options tuned way down, much less UT2003. Mesa is nice enough, but is almost more of a reference iplementation created for apps other than games.

      Another thing that software rendering could do is more easily thwart cheats, since there's fewer ways to get in-between the game and the onscreen graphics.

      Anyway, writing really good, fast rendering engines for 3d stuff like this will always continue to be very impressive to me.

    3. Re:Why not Mesa? by Bishop923 · · Score: 1

      Possibly because ID didn't produce the Unreal series?

      As for why Epic didn't... who knows.

    4. Re:Why not Mesa? by SeanAhern · · Score: 1

      Oops! Duh.

    5. Re:Why not Mesa? by Bastian · · Score: 1

      I can think of some more reasons why they'd want to write their own:

      1) Mesa is SLOW. REALLY SLOW. It's fine as far as general purpose 3D rasterizers go, but it's not nearly up to par for gaming. (Just try playing Tux Racer without DRI. I dare you.)
      2) ID likes using OpenGL for their 3D cards because they like to release on multiple platforms. However, their software rasterizers have always been homebuilt. I'm sure part of this is that the rasterizer can be customized for the game. Given that the guy who wrote this one, Michael Abrash, is the same guy who wrote the graphics engine for Quake, I'm sure that is still the case.

    6. Re:Why not Mesa? by idries · · Score: 2, Informative
      They didn't write their own. Pixomatic is a commercial product from RAD (the makers of BINK and MILES) http://www.radgametools.com/pixomain.htm.

      The reasons for going with a commercial product aimed specifically at games, rather than an open source (or whatever Mesa is licensed as - I think it's MIT or similar) more generic software renderer should be obvious.

      >And the compiler should optimize things for a given processor.

      1. Certain compilers (Intel for example) will allow you to use MMX, SSE and SSE2 compiler intrinsics without going to asm.
      2. Doing it by hand will still beat the compiler (although the gap is always closing). If you get the Quake source from id, you can see Mr. Abrash's real-life demonstration of this. The hand-optimised asm runs faster (only a couple of frames, but still noticeable) than the compiled optimised C version even today (on processors that didn't exist when the asm was written with very different performance profiles). I didn't know that he was involved in the pixomatic thing, it's nice to see that he's still putting all those asm skills to good use :)

  10. this is retarded =/ by Alpha_Nerd · · Score: 1

    Regardless of how fast your processor is, this game will still run SLOW with software rendering. Even on my ahtlon 1800+, half-life get's TERRIBLE FPS in software rendering mode. I can't imagine that you'd be a able to play this with acceptable framerate in any resolution over 640x480 even if you're on a 3.06ghz P4.


    Of course there might be people out there willing to play with 5-50 FPS, but I'm not one of them.

    1. Re:this is retarded =/ by Mikey-San · · Score: 2, Insightful

      50 FPS is bad somehow? You're a liar if you say that 50 FPS is either unplayable or noticeably flicker- or stutter-ridden. This is terrible FPS? (Five, yeah, but anything over 30 or 40 isn't unplayable, and 50 is definitely playable.)

      Go back to your bridge, troll.

      --
      Mikey-San
      Karma: +Eleventy billion (mostly affected by watching Celebrity Jeopardy)
    2. Re:this is retarded =/ by angle_slam · · Score: 1

      I get about 30 fps from the Benchmark.exe program during the botmatch portion. The game is still playable against the computer (though not online).

  11. Business machines by bobm17ch · · Score: 1


    There are plenty of hefty business machines out there in offices everywhere, which have nice cpu's (2ghz+) but no directx8 3d compatible gfx hardware.

    Sure, not every business looks favourably on gaming at work, but hey, if it helps sell a couple of thousand more copies, it can only be a good thing.

    --
    \\ Mitch
  12. Correctness not performance. by Anonymous Coward · · Score: 1, Interesting

    Mesa is something of a reference implementation. As such it's mostly designed for pixel-perfect accuracy in software mode. Performance is a secondary consideration.

    You make an assumption about compilers: they aren't very good at optimizing when it comes to low-level graphics work - they can be amazingly dumb. You can expect a 2 or 3x performance gain by rewriting just a few very tiny sections in assembler.

    An OpenGL-alike API is also not the most ideal for a software renderer - it makes assumptions that only 3D hardware can benefit from. A specilised API can be tuned to the task at hand - in this case software rendering. I'm sure there are going to be shortcuts it's taking that you wouldn't dream of using with a hardware rendering solution. At the very least:

    (1) Sharing verticies across polygons in the transform pipeline. This greatly reduces the number of verticies that have to be transformed. On hardware, verticies generally have to be duplicated because the rasteriser can't use separate sources for UV texture and XYZ position at each vertex (and this tends to not matter given the speed of the hardware geometry transform engine).

    (2) Not bothering to clear the back buffer - this is important to do with a hardware Z-buffer (unless you use the cunning Z-flip trick), but completely irrelevant with software. The screen only contains color information that you're going to completely overwrite anyway.

    (3) Decreased accuracy. There are all sorts of tricks you can do - from using low precision floating point, to fixed point integer math (less useful these days), to making assumptions about upper texture size limits in your rasteriser.

    1. Re:Correctness not performance. by SeanAhern · · Score: 1

      Interesting points, thanks for posting.

      Incidentally, why are you posting as an AC, rather than attach a name? Attaching a name would allow me to find other posts of yours that might be similarly clueful.

  13. PCs without AGP slots by vogel · · Score: 2, Informative

    Most cheap PCs available at Dell or BestBuy come without an AGP slot and with Intel integrated graphics though have extremely powerful CPUs. The software renderer is aimed for folks with those machines.

    -- Daniel, Epic Games Inc.

  14. Mesa works with Q3 by Anonymous Coward · · Score: 0
    Just try it w/o 3D acceleration. You have to set r_allowsoftware 1
    ./quake3 +set r_allowsoftware 1
  15. Business, Schools, libraries, offices by Anonymous Coward · · Score: 0

    Business, Schools, libraries, offices; places where you are suppose to work... usually have powerful computer and relatively shitty GPU.