Nathan Mates's .plan ArchivesPlan Archives from April 1999.
[visi.com] Login name: nathan In real life: Nathan Mates Directory: /home/nathan Shell: /bin/tcsh Plan: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.]
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.]
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?
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.
[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. :]
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.
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.
[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.]
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.]
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.
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.
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.
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].
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.
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.