[Babylon 5]

Nathan Mates' Personal Info Pages

Nathan Mates's .plan Archives

Plan Archives from April 1999.

Login name: nathan    			In real life: Nathan Mates
Directory: /home/nathan             	Shell: /bin/tcsh
Job: Network Programmer, Battlezone 2, developed by Pandemic Studios http://www.pandemicstudios.com , published by Activision http://www.activision.com [Note: in this, I am *NOT* speaking officially for either of those, I'm only speaking for myself.]

4/29/99, Later: Just had a multiplayer deathmatch going on in the office for about 20-30 minutes (time flies when you're having fun), and things were nicely in sync for a darn long time in a release build. [Game ended after one machine with a cruddy video board really did NOT like staring into a screenful of transparencies caused by weapon efx and went down to 0.25fps or so. Need to implement the graphic options, aka disabling some of them for such cards.]

We were also pretty pleased with the fps we were getting on the slower machines, but a lot of that seems to be more dependent on video board than CPU-- a slower machine with a very nice video board was way faster than a moderately faster machine with the cruddy video board. [Sorry, I'll get in trouble if I name names as to what's good and bad, so I won't.]

4/29/99: Ok, this problem's been bugging me for a while at home and work, and I was wondering if anyone has a good solution. Basically, the problem can be characterized as 'terminal slowdown' of Win98, and is characterized by things acting sluggishly, and the clock in the taskbar getting behind. Normally, my computers keep pretty accurate time compared to my wristwatch and everything else. However, once this slowdown starts, the system clock starts falling minutes to hours behind. I use 'NISTime' to resynch my computers to atomic clocks, but sometimes, even after just a few minutes, the taskbar clock is slow. And, apps start running slower, as if something was chewing up massive amounts of CPU time.

This has been seen with at least 3 different processor families, running radically different MBs, video boards, etc. All are on Win98 with latest patches applied. Rebooting tends to fix things, but only temporarily. Anyone ever seen this, and have a fix?

4/24/99: Win98 machine at home now has an uptime of 30.5 days. [And main Linux box next to it (P166 oc'd to P200) has 103.5 days :]

Sorry for not talking too much about BZ2 in recent .plan updates-- been a bit busy at work nailing sync bugs in the combat AI. I've been stresstesting the combat system by having battles with X AI units vs Y AI units (for large X and Y), and testing how they run. With our distrubuted system, all machines must calculate the battle identically, so we've got a boatload of internal tools to make sure everything is perfectly in sync and stop immediately on differences.

I'm also tweaking the Bomber and APC behavior/movement code; very neat stuff. [Whether you can "fly" them is a design decision and not my call; in any case, do NOT expect Tribes-like flight.]

Also, I've tracking down a floating point calculation difference between 2 different processor "types." CPUs need to be bug-for-bug compatible with each other, and we've got a few tweaks already to ensure sync despite running on some rather different HW setups.

4/21/99: Interview with me is up on Pandemic's website. See http://www.pandemicstudios.com/bzii/bzii_inside_reports_body.htm

[Oh, and a bit of explanation for the "caffeine shortages" mentioned at the bottom of the interview-- whenever the company fridge runs out of Coca-Cola, I bug Joseph Donaldson (the interviewer) to get more. Even though I only buy about 6 cokes per week, he blames the messenger (me) for the company going through several cases of coke per week. So, that's a bit of an in-joke that should be a bit clearer now. :]

4/19/99, Later: As a head's up, this week's interview on the official BZ2 website (on www.pandemicstudios.com if you didn't know already) will be with me. Check back by midday Wednesday on there for the full scoop.

4/19/99: Oh yeah, E3 is coming up. I should be showing up. So should BZ2, and DR2, but I don't know if it's been announced as to how they'll be shown, so I can't say for now. Hope to see you all there, though I can't get anyone a free pass, so please don't ask. :)

4/18/99: First, a cool link: http://www.cluetrain.com. Dilbert hasn't quite yet caught onto this, but it will soon, I bet.

And, another rant or few about LA drivers. Some weeks ago in the LA Times, one darn useful invention was proposed by some schoolkid: a device that prevents cars from turning without using the turn signal first. It'd be a pain to implement that well, but I think it'd force a whole lot of folks to THINK first.

Another device that needs inventing for LA drivers: a "committment barrier" between lanes. There's been a lot of times when there's a slow turn to the right or left, and people are backed up for a quarter mile or more. But, some stupid jerks who never learned how things work in kindergarten seem to insist that it's their right to speed ahead in the next lane, and then cut in line. The slow lines would go MUCH faster if people didn't have to make room for these twits, so I'd like to see a committment barrier: 6-12 inches of concrete between lanes, normally retracted, but if the slow lane is going under 10 mph, then those barriers pop up to prevent cutting in line. In the meantime, until such a thing is deployed on streets, DON'T LET OTHERS CUT IN LINE! Thank you.

4/15/99: In between testing for network sync bugs, I've taken the job of optimizing some parts of the BZ2 code. Yesterday, I yanked a lot of old, dead code from about 140+ files-- stuff that wsa littered all over the place, but had pretty much no use. [Just about no profiler's going to catch such things, as they point out hotspots, not endemic problems, though I'm going to pull out the profiler over the next few days to find the next things to look into.]

The result of all my changes seem to have been a definite, measurable increase in framerate on the slower box on my desk. Yay. Coming from programming on 8-bit, 16-bit, and consoles, I have a definite aversion to useless code splattered all over the place, and definitely want to see BZ2 running as fast as possible.

Also, for those of you (especially overtaxed Canadians) wondering why I'm complaining about the cost of gas out here, when it seems "low" to you, here's some background: about 6-8 weeks ago, regular unleaded was about $1.20/gal. Now, it's over $1.65 at most places. Basically, gas prices are at a 10-year high, just weeks after being at very nice and low levels, and there's no "good" reason for such a thing-- crude oil isn't 40% costlier, etc. I only need to buy gas about every 2 weeks, so it isn't a huge factor in my budget, but it's still dang annoying.

4/12/99: News websites are reporting that the average cost of regular (basic) unleaded gas in California is now $1.63/gal or so. Man, I'm glad my 96 Saturn SL2 gets over 30mpg on average, instead of some pointless SUV getting well under 12mpg. To most SoCal SUV owners, driving over a pothole is about as "offroad" as they'll ever get. Having seen all sorts of dumb driver stunts done by SUVs recently, I think that anyone wanting to buy one should immediately be re-tested for a driver's license, and take courses on how a SUV is *not* a regular car.

[Just had a lot of rain over the past week, and saw a lot of dumb stunts by SUV drivers, such as going 10-15mph over the speed limit on rain-slicked streets, turning/lane changing w/o signaling, and the like. I didn't see any accidents, but that just means the schmucks are still in the gene pool... this has been yet another rant brought to you by me.]

4/9/99: Following Will Stahl's comments on the official BZ2 network board, I present some of my own minor ramblings/dilemmas, on the subject of auto-downloads:

The 'problem' with BZ2 is that we use a very extensible architecture. Through an .ODF file (Object Definition File, yes, I know it's redundant), a designer can tweak things to their liking. The ODF sets the speed, initial ammo, health, etc of an object, and can refer to other ODFs-- your recycler has a list of things they can build, crafts refer to weapons, which can refer to weapon efx and the like.

Right now, there's no good way of taking a .bzn "map" (though there's other files needed) and determining all ODFs and any other file that'll get loaded without actually loading the thing. So, if custom map X refers to other stuff XYZ, which refers to ABC, the client'll take forever to "get" all of the files from the server.

So, some possible alternatives:

1. No autodownloading at all. This is the tried-and-true method BZ1 uses. :)

2. Autodownloading only of .bzn, .trn, .wat, and "map"-only files. This'll shaft any "custom" units or the like.

3. Autodownloading of the works referenced in a map. Definitely the most work involved, and would drastically up network traffic to query the server for every file not locally found.

Further, for anything downloaded, does it get saved in the addon folder, RAM-only, or what? I'm wary of dumping files on a user's HD without too much "permission," and I can see tons of security problems possible with getting (and possibly executing, if .DLL code is involved) files from J.Random server on the net. At least I think about security upfront, so this would be limited (as much as possible w/o a unix-like chroot jail) to *only* files within the addon folder, etc.

[I'd also like to possibly restrict auto-downloads to (1) Within game if server on ISDN or better, or (2) Server in shell (i.e. not playing game) only if server on 28.8 modem or so, just to keep downloads (A) fairly fast, and (B) not disrupt the game, but that isn't fully my call.]

4/6/99: APC code looking pretty good in debug builds; something's fubar'd in a release build that I need to look into.

Also got a replacement video board for my primary machine at work. The old board (sorry, I get in trouble when I name names, and as several others around work had identical models w/o problems, I think I just had a bad one) would totally flake out on launching BZ2 about once a day-- I had spontaneous reboots, total snowcrashes (haven't seen those since my Apple II days), black vertical stripes, and others where the vertical edges of all windows on the desktop weren't vertical, but oscillating back and forth like a sine wave. [And yes, I did have latest drivers and BIOS installed. Didn't help.] New board (still can't say what it is) seems happier.

While my computers at home are pretty darn good on the stability front, my PCs at work (Pandemic and previous employers) tend to flake out like mad. I've got a tally of HW that's been swapped out, and since last August (my time at Pandemic), I'd had 1 ethernet board, and 2 video board swapped out. I guess I'm just the bugmagnet.

4/4/99: Happy Easter to all! This day is not about chocolate and eggs, it's got a real meaning that some would rather try and avoid: Jesus Christ was raised from the dead as the firstfruits of God's promise to give eternal life to all who believe in him. Jesus paid the price for everyone's sins by dying in the crucifixion, yet God raised him to demonstrate exactly who's in control-- and what he'll do later for everyone.

Everyone will eventually be raised from the dead, and be forced to acknowledge that Jesus is Lord (Romans 14:11). Would you rather do that with Jesus as your friend, or as your enemy? Heaven is real. Hell is real. As one quote says it: Do you want to spend eternity smoking or nonsmoking? It's not that hard to accept Jesus as your savior, and afterwards, you'll wonder why you waited so long for such a great gift.

4/3/99: Gas prices in SoCal are getting more insane... every gas station I drove by today was over $1.50/gal for basic unleaded. Blech. Someone's laughing all the way to the bank, and it sure ain't me. [Though times like this make me glad my Saturn SL2 averages 30mpg, and I can go for 2+ weeks on 1 tank of gas with my normal driving patterns. Beat that, all you annoying Los Angeles SUV drivers :P ]

And another off-topic rant by me (hey, it's the weekend, I'll speak about other topics when I'm not on company time :)... I really HATE daylight savings time. The whole point of DST is to get more sunlight in the evening by doing what? Getting up earlier. Duuuh. As if the government has to think for us, and bring that important fact to us-- something we'd be incapable of realizing on our own.

But, some of us (me) DON'T CARE FOR EXTRA SUNLIGHT! The windows of my area at Pandemic face west, and most of the windows on that side of the building are blocked, to reduce glare on monitor screens. At night, we turn on the lights. Not exactly rocket science here. I'm an intelligent adult, and more than capable of realizing that I could get up earlier for more sunlight after work, but I'm NOT a morning person. I don't want to get up earlier, dangit! Lemme sleep in, and I'm far more productive.

I remember reading somewhere that the rate of traffic accidents (in Los Angeles? Or nationwide?) goes up 4% the week after DST kicks in, because drivers aren't adapted to their loss of an hour of sleep or so. If true, some lawyers should be suing the government for causing needless extra pain and suffering-- without involving the military, or Bill Clinton.

Daylight savings time should be optional, not mandatory-- who wants to get semi-jetlag without any work? And, having grown up in Pakistan (parents had jobs there), I've racked up more time in airplanes than most-- ever done two 11-hour flights back to back? (Los Angeles or Seattle to London, wait a few hours, then London to Islamabad, Pakistan) I know how to avoid jetlag pretty well by experience (1st day at destination: stay awake and crash at 8PM or later), but most others don't. Why should I lose an hour of sleep simply for something I don't want? Tell the government to get their meddling hands off our clocks, dangit.

4/2/99: I'm temporarily on AI/movement behavior for various vehicles right now-- working on the APC and then Bomber's behavior. [See the screenshot released earlier this week for how the ISDF APC looks like on Pluto]

Some other tests have been completed in the early compatability checks. Can't quite yet say what they were-- but thanks for sending the hardware here, [Company Name Censored].

4/1/99: IT WAS AN APRIL FOOL'S DAY JOKE! Here's the full text of the "announcement" of Battlezone 8x8 as posted on my webpages:

--- snip
At the height of the cold war, a battle was fought between the US and USSR forces. Not just the secret history of the war in outer space, but also the other war: between Bob Fischer and Bo Spasky. The battleground was an 8x8 grid, tiled black and white. Instead of scavengers, pawns. Instead of gun towers, castles. And, like a missing recycler, there was no way to regain another king if you lost one. The game was Chess, and the US won.

In a press release dated 4.1.99, Pandomic Studios announced Battlezone 8x8: the Chess Zone. Step into the shoes of Bob Fischer, Kenneth Millers, or Andy Goldberger and relive the famous battles. Or, switch sides for Bo Spasky, Georg Collinski, and Wilhelm Roslaus-- the Russian and East German experts. Beyond just the most famous battles fought over these grounds that the public saw, the heroes on each side have their own campaigns, each consisting of many missions leading to the ultimate showdown.

Building on the world-renown Battlezone 2 engine, this Chess title is sure to amaze every gameplayer and chess grandmaster alike. Fully 3D models are used with the Right Mesh Resolution(tm), also known as RMR technology. Players will be able to see the battlefield from any angle, while distant units are dynamically polygon reduced to keep the framerate high from any angle. The same intuitive interface is brought into the BZ:8x8 universe-- command any unit at any time through a set of quick keystrokes, and pointing at the destination they should attack. What's more, you can take full control of any unit of yours, and drive it around the fully 3D battlefield at will.

"BZ:8x8 breaks new ground by marrying the Action/Strategy game with the classic franchise of chess, which everyone knows how to play" said the president of Pandomic. "We feel that we will be able to reach a huge audience by uniting the well-praised interface, action, and destruction found in Battlezone with the name recognition and unit names of the Chess franchise."

Gamers should be able to send pawns out to gather scrap, drive the rook, bishop, knight, or mighty queen around the battlefield, looking to destroy enemies. High resolution textures (4096x4096) bring the squares of the battlefield to life, beyond the simple black and white. Fully 3D terrain can be used to hide attacks from the enemy, while long range death can be inflicted upon the enemy's pawns with the rave gun.

"We felt that with Deep Blues able to beat up on Kasparoff at will, most humans would be intimidated playing the computer at chess" said BZ:8x8's lead AI programmer. "We've made BZ:8x8 more forgiving of the novice player-- opponent scavengers, err pawns, are still unable to maneuver around anything in their path, heading straight to their destruction at the hands of enemy. In fact, we had to lobotomize our AI to produce such simplistic behavior."

When contacted with design specs for BZ:8x8, the reigning world chess champion, Deep Blues, running on a modified RISC/4000 box spat out a few lines of text to its console. We have it on good authority that Deep Blues said something to the lines of "You puny humans want to challenge WOPPR again? I'll crush you again, *AND* obliterate the Balkans in an all-out nuclear war before you can blink." Kasparoff, Deep Blues' latest victim responded to that saying "Uncultured piece of junk! You won by putting a rave gun on your Queen. You have no honor, no decency, and I demand a rematch! It is a good day to die!"

Up to 64 players at once will be able to take to the BZ:8x8 battlefield at once in network games, with such variants on gameplay as 'Capture the Rook', Strategic command, Kings of the Stalemate, and the ever popular Deathmatch of the Queens.

System requirements listed as the box specs are as follows: Pentium 166Mhz, 32MB RAM, 56.6K Modem, and a 3D accelerator card recommended for maximum carnage. No word yet on whether a Minix port is in the works, but such a thing has not yet been denied by press reports.

The game is also reported to be gold mastered, and simply waiting for the official stamp of approval by the US Chess & Tanks Federation before shipping to stores. Expect to see it soon-- the president of the Chess & Tanks Federation, Don Clancy, has been absorbed for hours playing it, and is giving it his highest rating, after writing a 1500 page novel as the manual.

--- snip

This 'announcement' conceived, written, and produced by me, Nathan Mates. Any possible connection to reality is purely an accident, and shouldn't have happened. Not a single word of it is true; the truth is out there, and this wasn't it. Move along now, there's nothing else you should be seeing. :)

3/31/99: 11PM Pacific Time-- big news! See the top of my webmirror of this page, or my homepage at http://www.matesfamily.org/ [And remember, visi.com is in the central timezone, so do the math from my time above :]

The full text of the Battlezone:8x8 announcement can be found at http://www.matesfamily.org/bz8x8.html if the link above seems hidden to you.