Archive for June, 1997

New Processors Running

Wednesday, June 25th, 1997

We got the new processors running in our big compute server today. We are now running 16 180mhz r10000 processors in an origin2000. Six months ago, that would have been on the list of the top 500 supercomputing systems in the world. I bet they weren’t expecting many game companies. :)

Some comparative timings (in seconds):

mips = 180 mhz R10000, 1meg secondary cache
intel = 200 mhz ppro, 512k secondary cache
alpha = 433 mhz 21164a, 2meg secondary cache

qvis3 on cashspace:

cpus mips intel alpha
—- —- —- —-
1 608 905 470
2 309 459
3 208 308
4 158 233
8 81
12 57
16 43

(14 to 1 scalability on 16 cpus, and that’s including the IO!)

The timings vary somewhat on other tools — qrad3 stresses the main memory a lot harder, and the intel system doesn’t scale as well, but I have found these times to be fairly representative. Alpha is almost twice as fast as intel, and mips is in between.

None of these processors are absolutely top of the line — you can get 195 mhz r10k with 4meg L2, 300 mhz PII, and 600 mhz 21164a. Because my codes are highly scalable, we were better off buing more processors at a lower price, rather than the absolute fastest available.

Some comments on the cost of speed:

A 4 cpu pentium pro with plenty of memory can be had for around $20k from bargain integrators. Most of our Quake licensees have one of these.

For about $60k you can get a 4 cpu, 466 mhz alphaserver 4100. Ion Storm has one of these, and it is twice as fast as a quad intel, and a bit faster than six of our mips processors.

That level of performance is where you run into a wall in terms of cost.

To go beyond that with intel processors, you need to go to one of the “enterprise” systems from sequent, data general, ncr, tandem, etc. There are several 8 and 16 processor systems available, and the NUMA systems from sequent and DG theoretically scale to very large numbers of CPUS (32+). The prices are totally fucked. Up to $40k PER CPU! Absolutely stupid.

The only larger alpha systems are the 8200/8400 series from dec, which go up to 12 processors at around $30k per cpu. We almost bought an 8400 over a year ago when there was talk of being able to run NT on it.

Other options are the high end sun servers (but sparc’s aren’t much faster than intel) and the convex/hp systems (which wasn’t shipping when we purchased).

We settled on the SGI origin systems because it ran my codes well, is scalable to very large numbers of processors (128), and the cost was only about $20k per cpu. We can also add Infinite Reality graphics systems if we want to.

Within a couple years, I’m sure that someone will make a plug-in SCI board for intel systems, and you will be able to cobble together NUMA systems for under $10k a cpu, but right now the SGI is the most suitable thing for us.

I have been asked a few times if Quake will ever use multiple processors. You can allways run a dedicated server on one cpu and connect to it to gain some benefit, but that’s not very convenient, doesn’t help much, and is useless for internet play.

It’s waaaay down on the priority list, but I have a cool scheme that would let me make multiple copies of the software rendering dll and frame pipeline the renderers. Response is cut by half and the frame rate would double for two cpus, but pipelining more than a frame would be a bad idea (you would get lag on your own system).

I wouldn’t count on it, but some day I might take a break from serious work and hack it in.

There is no convenient way to use multiple processors with the hardware accelerated versions, accept to run the server on a seperate cpu.

That will probably be an issue that needs to be addressed in the lifespan of the next generation technology. Eventually people are going to start sticking multiple cpus (or multiple thread issue systems sharing resources) on a single chip, and it will become a consumer level item. I’m looking forward to it.

Updating .plans at the Top like Everyone Else

Sunday, June 22nd, 1997

Ok, I’m finally updating my .plans at the top like everyone else…

E3 was interesting, and the tournement went extremely well.

You would think that the top deathmatchers would be an evenly matched group, seperated by mere milliseconds of response time, and the matches would be close.

Its not like that at all. There are master players. And there is Thresh.

We were watching him play with our jaws hanging open. I don’t think he was killed a single time in the finals. He did things we had never seen before. It was amazing to watch.

I feel a lot better about the contest now, because even if the sixteen finalists weren’t necessarily the sixteen best players due to internet issues, I do think that the grand prize winner IS the best single player.

The level of sportsmanship was gratifying, especially given the stakes. No sore losers, no tantrums. Everyone was cool.

After the finals, a japanese champion (highroller) asked for a match with Thresh. I expected him to pass, considering the pressure of the tournement, but he happily accepted, and delivered an eighty-something to negative-three beating (which was accepted with good grace).

I don’t see much point to any more big tournements until a few more of these mutant superpowered deathmatchers show up…

As far as everything else at E3 goes, I saw a bunch of good looking games, but I am fairly confidant of two things:

Nobody is going to eclipse Quake 2 this christmas. Different tradeoffs are being made that will appeal to different people, and there are going to be other products that are at least playing in the same league, but Q2 should be at the top of the pile, at least by the standards we judge games. Several licensees will be picking up all the Q2 features for their early ‘98 products, so games should get even better then. (ok, I guess that is just my cautious, long-winded way of saying Q2 will rule…)

Some notable companies are going to ship longer after us than they are expecting to, or make severe compromises. I wouldn’t advise holding your breath waiting for the quoted release dates. Relax, and let the developers get things out in due time.

Ugh. I haven’t coded in three days. Withdrawal.

Pleased with Things

Thursday, June 19th, 1997

I’m pretty damn pleased with things right now.

We are just buttoning up the E3 demo stuff, and it looks really good. It is clearly way alpha meterial, but people should be able to project where it is going.

The timing is a bit inconvenient for us, because we still aren’t quite through with converting all the .qc work that Cash did over to straight C code in the new engine. The monsters are just barely functional enough to show, with none of the new behavior in. If E3 was a week or two later, the demos would almost be real playtesting.

Q2 is going to be far and away the highest quality product id has ever done. There are new engine features, but the strength of the product is going to be how everything is fitted together with great care. (don’t worry, next year will be radical new technology all over again)

—-

Sound is being improved in a number of ways.

All source samples are 22 khz / 16 bit, and you can restart the sound system for different quality levels without exiting the game. high quality sound will require more memory than the base 16 meg system. The system can automatically convert to 11 khz / 8 bit sounds, but we are probably going to include a seperate directory with offline converted versions, which should be slightly higher quality. Homebrew paatches don’t need to bother.

Sounds can now travel with a moving object. No dopler effects, but it positions properly. (well, spatialization is a bit fucked this very instant, but not for long)

I finally got around to tracking down the little bug with looping sounds causing pops.

I have intentions to do three more things with the sound engine, but the realistic odds are that they won’t all make it in:

Voice over network. I definately don’t have time to do a super-compressed version, but I can probably hack something in that the T1 players would have fun with.

Radiosity sound solution. Its obvious in retrospect, but it was a “eureka!” thought for me when I realized that the same functions that govern the transport of light for radiosity also apply to sound. I have research plans for next-generation technology that include surface reflection spectrums and modeling the speed of sound waves, but I think I can get a simplified solution into Q2 to provide an ambient soundscape with the same level of detail as the lightmaps. I’m a little concerned about the memory footprint of it, but I’m going to give it a shot.

Syncronized, streaming sound from disk. Special events and movie demos won’t need to precache gigantic sounds, and they can rely on the timing.

—-

Q2 has a generalized inventory structure and status display that should be adaptable to just about anything anyone wants to do in a TC.

—-

On saturday, I give my 328 away at E3. I know that there were lots of issues with the contest, and to be honest, I probably wouldn’t have done the nationwide contest if I could have forseen all the hassle (I could have just given it away at #quakecon…), but the finals should still be really cool. It just wasn’t possible to make the contest “completely fair”. Not possible at all. In any case, I don’t think anyone will deny that the finalists are some of the best quake players around.

—-

I doubt I can convey just how well things are going here. Things probably look a little odd from the outside, but our work should speak for itself. I have been breaking into spontanious smiles lately just thinking about how cool things are (of course, that could just be a sleep deprivation effect…).

We have a totally kick-ass team here.

We are on schedule. (no shit!)

We are doing a great product.

Everyone watch out!