Nathan Mates's .plan ArchivesPlan Archives from July 2001.
[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.]
7/25/01: Natty Bumpo caught some bugs in what I previously posted (it compiled, ship it! :) so I fixed those, and better documented the whole mess. To download, grab http://www.matesfamily.org/BZ2_MPDLLs.zip , which is the DM, Strat, MPI, and the MPI-Scavcleaning source code. MPI's in there twice so that you can either get the BZ2 1.2 MPI DLL source, or the Scav-cleaning source; to see precisely what changed, use Windiff or your other favorite file-compare tools.
7/23/01: One further comment on the scav-killing: just to keep the AI from trying to build scavs to pick up the remains of thir brethren that had the Monty Python Foot of Doom(tm) hit them, I'd recommend flagging them so they create no scrap. [Once again, see the deathmatch DLL source] I did also fix a slight bug in my code from last Friday where it could miscount scavs remaining after a cleanup; a new .zip is in the same place as before.
7/20/01: Sorry for the tone of the below-- it's been a long week. The solution isn't a perfect fix to the problem, but it should point out how much you *can* do from DLLs, without a new bzone.exe.
7/20/01: I've commented several times on the scarcity of work on the BZ2 source that has been handed out, namely the MP DLLs. [See my 1/29/01 update below.] One of the unfixed problems in BZ2 1.2 is that the computer team can get busy building millions of scavs, which is a huge framerate hit-- the CPU's got to calculate collisions, etc. Some have even whined that Pandemic isn't releasing a new bzone.exe that fixes this.
Let me point out this: the Deathmatch DLL contains code that tracks a list of vehicles, and kills some off when that list becomes too big. I hate to be sarcastic, but does this sound remotely like the problem listed above?
Just so you don't completely accuse me only talking and not doing anything, I've added in some code to mpinstant.cpp that should clean up the CPU scavs when too many are created. Took me maybe half an hour, tops. Here's my comments added to mpinstant.cpp:
// Errant scav-cleaning code. Added by Nathan Mates 7/20/01. // // WARNING: This code is NOT compatible with the stock MPInstant.dll // release as part of the 1.2 patch. You *WILL* get crashes on joining // if everyone playing the game is not using this DLL. Rename the // DevStudio project file to create a different DLL name on disk, and // duplicate the stock MPI*.bzn files to reference the new DLL // instead. // // This is UNtested, UNsupported code. These changes are not // guaranteed to work, but hopefully those who've tweaked DLLs should // be able to figure out what I'm trying to do and make it work. //That file is in http://www.matesfamily.org/mpinstantS.zip . It requires the rest of the MP DLLs package, released earlier, as it only includes some changed files. It's up to the community to compile up some new DLLs, test these changes, and see if my ranges for Min/Max scavs are appropriate. And, release new BZNs-- maybe the community project or something else can do that.
These changes are free for anyone in the BZ2 community to use in any DLLs they may develop. Maybe now that I've pointed out what can be done from a DLL, there'll be less whining about bugs, and more workarounds developed by the community.
7/13/01: In doing some websurfing today, I checked www.crucial.com for an idea of what memory costs these days. Wow. $43.19 for a 256MB PC133 DIMM. Or, half a gig of RAM for under $90. I can remember paying $400 for one megabyte a decade ago...
Quite frankly, if you're still at 64MB RAM, or maybe even 128MB, I'd almost say you owe it to yourself to pick up some more RAM at these prices. [From anywhere, not just crucial-- I've never bought anything from them, just that I use their front page as a price guide.] $43 is about what most PC games cost new in stores, and 256+MB of RAM will tend to make Windows far happier. Any self-respecting gamer shouldn't be caught dead at 64MB ram these days.