MAP DESCRIPTION: -------------------------- Army2 for Half-Life Deathmatch (HL1) by qUiCkSiLvEr Map Name: Army2.bsp Date: April 15,2006 Author: qUiCkSiLvEr Author's email: ottalini@mindspring.com Homepage: http://qsextreme.com Please refer to the full webpage for this map for version of this readme with pictures and graphs: http://qsextreme.com/army2 ======================================================= LEVEL DESCRIPTION: ---------------------------- Single Player: No Deathmatch: Yes Team Deathmatch: Yes Suggested Players: 4 - 16 recommended New Textures: All custom textures are embedded into the BSP New Sounds: Yes including 5 ambient soundtracks from DOD and 6 music tracks New Models: Yes including a number of models converted over from HL2 Warps: Many! No. of Secrets: a few, there are no hidden sniper spots Deathmatch spawnpoints: 32 Filesize: the map BSP is 5.3 mb unzipped the entire distribution is ~44MB unzipped (28MB zip) Typical download time: ~2 minutes fast HTTP (cable) or ~10 minutes for DSL 768. Minimum recommend hardware/OS/drivers: -------------------------------------- AMD1800+ (1.5GHz) with 1GB of memory running XP with the latest service pack and patches ATI 9600 128MB or Nvidia 5900 128MB with the latest video drivers This map is extremely demanding on CPUs and Graphics cards, if you are unable to run HL2 then you will have a very hard time playing on this map. Observed map r_speeds (worst case): 2953 wpoly 17240 epoly Average leaves visible / audible / total: 928 / 2101 / 3399 ======================================================= Map Detailed Description: --------------------------------- Army2 is basically a very isolated oil refinery under siege, supplies have to be brought in by ship or airlifted in. Facilities: The refinery cracking towers and storage tanks are location in a sandstone valley that has fairly high walls with overlooking gunnery and observation points. The army has established a base camp to guard this very valuable facility but supplies are difficult to bring in and require a supply ship or by helicopter. The oil is shipped out by tanker. Bouncepad: The main play area is above ground with a very strong bouncepad that can be used to reach almost all parts of the map in a single bound, but it will take skill and practice to make the best use of the bouncepad. Cover and Play Styles: Although there are many sniping spots on this map, there are also many places with cover including several large pipes, tents and trucks. The map is designed to promote hiding, sniping, running and gunning with tight connectivity in both upper and lower areas. Crossbows: There are two crossbows on the map, but a special feature will hide the crossbows for the first two minutes of map time and there is a hidden button that will permanently hide the crossbows to promote pure run and gun play if so desired. Map Scale and Size: This map is not a rats scale, but due to the size of the facilites it has a bit of that "rats" feel. All visible areas of the map (except the helicopter) are accessible including the tops of the refinery towers, but the tops are dangerous, look out for flames and gas bursts! Low Gravity: Because the map is extremely tall, I also included a low-gravity suit since the kids think it's so much fun to float around ... this mode can be very useful to to the more skilled players though for noiseless stealth. The water in the two upper storage tanks will reset the gravity back to server normal, as well as descending to either lower area. Lower Areas: There are two lower areas, the green reactor area and the blue sump storage area. Access to both are via a couple of small secrets, and there are many ways out and back to the surface, especially in the green area. There are also a number of spawn points in the lower areas too. Helicopter: The dock and helicopter landing area are visible through the tunnel, with a military chopper that just landed (and very choppy waters from the backwash). That area is not accessible for play. Legacy: Army2 started out as a remake of Wolf's Combat Camp map (also called army) but it quickly took on a life of its own and I ended up with something quite a bit more extensive. There are some familiar things though like the tents and the personnel tank which served such good purpose in the original map. Special Feature: Army2 has a special feature designed to prevent players putting laser tripmines at spawnpoints and warp destinations. When done intentionally, this is an abusive tactic and is a bannable offense on many servers. Because there are so many spawn and warp points on this map, the likelihood of players accidentally putting a tripmine in a spawn or warp destination spot is likely, so this special feature will take care of both intentional and accidental situations. I have no doubt that it will cause abusers a painful surprise or two. ======================================================= CONSTRUCTION: ----------------------- The Army2 concept is completely original but I used many elements that are popular on other maps. The rockwork was inspired by a Quake3 map called tm4 by scampie that he released to the public domain. I had to recreate a great deal of the rockwork due to conversion problems but I tried to keep the basic layout. The large refinery models and the APC up on the ridge are actually HL2 models that I disassembled using Milkshape and quite a bit of sweat and then recompiled for HLDM. Although the refinery and APC models are extremely high polycount, the map just wouldn't be the same without them and are well worth the required horsepower needed to handle them. The tents, APC tank, sandbag barriers (and the flag) are all similar to the ones on the original Army (and other maps). The trucks are in part from the ones in Boot_Camp and the concrete access tunnel to the landing pad / dock is similar to the one in Bounce. The cannon in the APV overlook is similar to the one in First_Arena and the small switchable lights were created like ones I found on Brave. I wanted a map that would lend itself to many different play styles and yet still not be be too big, even two players should find this map a great deal of fun to play. Surprise and the hunt are important parts of this map, but just slugging it out with rpgs is a heck of a lot of fun too! The custom 3Dskybox was brought over from DOD, one of the nicest skyboxes I've seen. I literally built the l ighting of the map around the skybox to fit the mood and time of day. There are 4 additional custom ambient soundtracks included along with the stock HLDM ambient track that I picked. These are actually stock DOD soundtracks that fitted the mood of Army2 so I included them. Because these tracks are looping, they will play forever once started, all the sounds are additive. It's best that only one or two play so things don't get too noisy. With the successful release of Atticrats_2004, the music soundtrack that I included with that map was very well received by everyone so I added 5 additional music tracks that should make playing Army2 a real multimedia experience. The music is low volume and should be unobtrusive for the most part. -------------------------------------------------------------------------------- Tools and Bugs: -------------------- original HLDM map: qUiCkSiLvEr author's email: ottalini@mindspring.com custom models: Refinery towers and APC brought over from HL2 editor used: Hammer 3.5 Beta Build 2363 with my slightly customized FGD Zoner's compile tools V2.5.3 utilities used: Valve SDK, Wally, MilkShape, several image manipulation tools. known bugs: ----------- The refinery towers might momentarily disappear when viewed from the corner sniperspots. I decided to leave this since it helps to reveal campers hiding on the towers. Multiple ambient tracks playing all at the same time is not desirable. Playing more then one music track at a time is difficult but possible and could become quite irritating. All sounds can be stopped immediately by a player (for himself) by entering "stopsound" in the game console. The map may not be playable with older computer systems. Like many maps, sprites and lights may show through func_walls. The map distribution is very large (44MB) and may not be feasible on servers that do not have fast HTTP download capability. In this case, I recommend that the server operator move, rename or delete the 6 music soundtracks on the server (located in valve\sound\music folder. Some other minor things: ------------------------ a few items (tripmines and AR grenades) were observed to fall to a lower level occasionally. There might be a minor catch on the rockface in one or two locations in spite of clip brush in the area, these are not stickponts though. There are a few odd spot highlights on some of the rockface, no good reason. The Heliport area might appear from the main play area if the player is at high elevations. There seems to be a narrow invisible ledge on one small part of the upper rockface behind the APC, there is no reason for it to be there. Compile Information: ==================== Compile machine: Intel 3.0GHz HT with 4GB DDR RAM Worst case compile times: HLCSG: 10.91 seconds elapsed HLBSP: 8.83 seconds elapsed HLVIS: 69991.57 seconds elapsed [19h 26m 31s] (ouch) HLRAD: 1466.66 seconds elapsed [24m 26s] Because of the very long compile time, I was motivated to set up and use 13 additional systems in a distributed compile farm. Using this I was able to get the compile times (occasionally) to: HLCSG: 9.56 seconds elapsed HLBSP: 7.59 seconds elapsed NETVIS: 4611.73 seconds elapsed [1h 16m 51s] (whew!) HLRAD: 1328.88 seconds elapsed [22m 8s]: It's unfortunate, but netvis is quite buggy and would often hang at 99.9% done. map edits: There were more then 300 edits and at least 100 compiles during the 11 months that elapsed from May 5, 2005 through April 15, 2006. ======================================================= SECRETS NOTE: There are several small secrets on this map, mostly added to improve connectivity or a quick escape from a difficult position. The secrets are here specifically to inspire players to explore and learn the map and how it works. There is one slightly hidden (visible and sparking) button that players can use to play music. To prevent songs from overlapping, there is a fixed interval of about 5 minutes each time the button is pressed and a different piece of music will play, eventually starting over at the beginning. ======================================================= INSTALLATION: ---------------------- Army2.zip includes all subfolders. There should be 40 files in the distribution. Place the army2.bsp, army2.res and army2.txt in your valve\maps folder, put the rest of the files into their respective subfolders located in the valve folder. typically: C:\Program files\Valve\Steam\SteamApps\\half-life\valve\ ======================================================= OTHER LEVELS by qUiCkSiLvEr: Please refer to my webpage for my map lists and pictures: http://qsextreme.com ======================================================= BETA TESTERS: --------------------- Team [USA] - Shadow Santa, Rev (Ace Ventura), MrT, X-15, Boo-Hoo, Boogeyman, G-man, Darth Sailor and Seanasty. Team [DS] (Death Stars) especially Wasp **DS** and Rabid Wombat for their continuing encouragement. Hangdog, Rabid Wombat, PeeWee_Hurtin, [WAM]Olrik and Peace-Lights for giving it their all in an incredible 12 hour playtest, as well as for their continued patronage of my server. [RDC]Spook for taking the time to look the map over and for his kind words. DocRock, for taking the time to do an awesome check of the map for me. ======================================================= *SPECIAL THANKS* -------------------------- Many thanks to Valve for many years of committment to great gaming. Thanks to Scampie for his original work on the tm4_scampie rockwork and valley concept. I also want to thank DocRock and BabyKitkat for the years of inspiration and great game play that their maps have provided for the entire HLDM community. ======================================================= COPYRIGHT STUFF ------------------------- Army2.bsp copyright April 15, 2006 by Kevin Ottalini (qUiCkSiLvEr) All Music included is copyright their respective owners. You MUST NOT distribute this level unless you include this text file WITH NO MODIFICATIONS. Please include the .res file as well so the text description file will propagate during map downloads. This map may ONLY be distributed over the Internet. You are NOT authorized to put this map on any CD or distribute it in any way without my written permission. You are NOT authorized to disassemble and use any portion of this map. Please feel free to email me with any comments and thank you for taking the time to read this and for playing on this map. Enjoy and have a safe day! qUiCkSiLvEr . Special Technical Map Detail Summary and Final Comments BSP Detailed Summary: (this summary is generated by ripent): Object names Objects/Maxobjs Memory / Maxmem Fullness ------------ --------------- --------------- -------- models 281/400 17984/25600 (70.3) planes 21132/32767 422640/655340 (64.5) vertexes 16213/65535 194556/786420 (24.7) nodes 7437/32767 178488/786408 (22.7) texinfos 3382/32767 135280/1310680 (10.3) faces 12808/65535 256160/1310700 (19.5) clipnodes 22325/32767 178600/262136 (68.1) leaves 5675/8192 158900/229376 (69.3) marksurfaces 15383/65535 30766/131070 (23.5) surfedges 57317/512000 229268/2048000 (11.2) edges 29625/256000 118500/1024000 (11.6) texdata [variable] 525800/4194304 (12.5) lightdata [variable] 2375970/4194304 (56.6) visdata [variable] 742862/2097152 (35.4) entdata [variable] 90819/524288 (17.3) 204 textures referenced === Total BSP file data space used: 5656593 bytes === Map Creation / Revision / Compile History and Problems: This map has seen quite a dramatic set of changes during its development. Because I keep an extensive version history, the following graph shows how the BSP size and map compile times have changed from the earliest version ... quite interesting: Here are the HLCSG and HLBSP Compile times: Here is the HLVIS time, the large excursions are caused by the faster NETVIS compile time: (The longest compile time was 19+hours for one 3GHz machine which could be reduced to ~1 hour using 13Machines with NETVIS). Here is the HLRAD Compile times: -------------------------------------------------------------------------------- Problems: ========= LEAFSAW (HLVIS): ---------------- One thing that kept recurring was a most irritating leafsaw problem that would crop up randomly from time to time in the rockwork even though there were no changes in that part of the map at all (argh!). I eventually fixed all of them in the final release. Leaf saw into leaf: DEF: a leaf has a bad portal that thinks it can see itself. Solution: go to the area named, look a the walls and floors and see if they can be made more right-angled. Sometimes a HINT/SKIP brush across the area can help (from Tommy of Escondido @ http://www.slackiller.com/tommy14/faq.htm) In fact, there was no problem in the solids themselves, this appeared to be a problem in VIS, perhaps a floating point or roundoff problem. In many cases, just changing the sequence that the solids appeared in the .MAP file would change how many and where the leafsaw appeared (or even make it go away). I had to develop a technique for locating and dealing with then as they occurred. My techniques should be helpful to other mappers if they run across this but unfortunately I was never able to find a real "fix" for it . I suspect that the only fix would be to work on the VIS code itself (I did try more recent versions of VIS but that part of the code basically the same). Step 1: Run hlcsg, hlbsp and then hlvis -fast. If there is a leafsaw this is the fastest way to find it. Be sure to finish the compile and run hlrad so you get a complete BSP. NOTE: don't distribute fast compile maps, they are only useful for testing. Here is what a typical leafsaw report looks like: BasePortalVis: (36.98 seconds) Warning: Leaf portals saw into leaf Problem at portal between leaves 1583 and 1584: (528.000 -744.000 -1240.000) (528.000 -744.000 -1240.000) (606.182 -900.363 -1326.000) (559.273 -931.636 -1326.000) average leafs visible: 2196 g_visdatasize:1129891 compressed from 1423406 37.52 seconds elapsed Step 2: Use ripent (part of the Zoner's distribution) with the -export switch to extract the entities from the BSP. Use Wordpad to edit the entities file (Wordpad will fix the missing carriage returns). At the bottom of the list, add one of the following for each leafsaw (there will be 3 or 4 locations listed, put in a sprite for each one): { "origin" "X Y Z" NOTE: Replace X Y Z with the leafsaw location from the log file "rendercolor" "0 0 0" "scale" "1.0" "model" "sprites/b-tele1.spr" "framerate" "10.0" "renderamt" "200" "rendermode" "5" "angles" "0 0 0" "spawnflags" "1" "classname" "env_sprite" } Step 3: NOTE: save a copy of your unmodified BSP before doing this step! Use ripent with the -import to re-insert the entities plus the marker sprites into the BSP. Step 4: Run the map and look for the sprites. It might make it easier to see what solid has the problem by enabling gl_wireframe 1 Step 5: At this point, you know where they are and what solid has the problem. If this is a new solid that you just created then the solid itself might be offending and might need to be recreated. Try creating the solid in parts instead of one complex piece. You can usually fix the leafsaw immediately by converting the offending solid to a func_wall, but if it touches the outside of the map you'll have a leak and will need to seal the map with a real solid. In my case, I was having a problem with too many entities in the visible field (a common problem on large open maps like this) so converting the solid to an func_wall wasn't a good option. I had previous compiles however where there were no leafsaw problems on the same identical solid, so I tried replacing the offending solid with the known good one. Most of the time, this did not work and the problem was still there. However, if I selected a group of adjacent solids along with the offending solid and copied them over, in many cases this would fix the problem ... at least until some later compile. Step 6: The ultimate fix ended up to be putting one or more 1-unit thick hint/skip solids on the boundaries of the offending solid. Some only required one on one side or the other, but some required two. There is a penalty for this since it causes some additional cuts in the solid. Please see the webpage for pictures that show how I did this. Too Many Direct Light Styles on a face (HLRAD): ----------------------------------------------- When you have a large open map like this, a complex combination of dynamic lighting can cause too many different types of light to fall on a given surface. The Zoner's distribution has a very good description of this problem and what to do to fix it. In my case, I have quite a few switchable and rotating lights in the main area of the map, so the HLRAD compile phase gets spammed with warnings like this: BuildFacelights: Warning: Too many direct light styles on a face (-646.288391,-1003.880188,-304.500000) After looking into this in detail, I decided that this wasn't causing any performance problems and maybe a few small artifacts (odd shadows mostly) so I left the lighting the way I designed it. Too many entities in visible packet list: ----------------------------------------- You might see this in your game console, especially on a full server with lots of players on and things happening. Too many entities in visible packet list. Too many entities in visible packet list. Too many entities in visible packet list There shouldn't be any specific problems with this since although you might see some entities disappearing if it gets too extreme. I saw this happen occasionally while testing the map. NETVIS Problems: ---------------- NETVIS is a version of HLVIS that will allow multiple clients to work on compiling the VIS portion of the BSP. The original code was created by Valve and released as a part of the SDK, and the basic tools were later updated by Zoner. The version I'm currently using is Zoner's compile tools V2.5.3 whch was the last version he worked on. Other folks have done other updates, but nothing that would be useful for HLDM, and they did not include NETVIS in any later releases. The problem that I ran into with NETVIS is that clients would often drop connection and NETVIS was unable to recognize this, so the compile would get close to the end but never finish. Sometimes it was just easier the let one machine compile overnight then it was to restart the compile several times trying to get it to finish. There is a mention of this problem in the Zoner's readme, but it was focused on something to do with Linux machines and whatever the fix was that was put in was not effective. After many hours reading through the code and trying different combinations of systems, I believe that the problem has to do with NAT translation through a router ... in my case through a Linksys BEFSR41 router. Of the 13 machines I use here, most are NAT but I have several that have their own Static IP address, and the NETVIS server was running on one of the Static IPs. As a result, NETVIS was seeing connections from clients that were both internal to the router ( and so were NAT to the Server) as well as external to the router (which were not NAT). I finally changed the compile topology so that one of the internal NAT machines was the NETVIS server and ran the entire compile, then I restricted all clients connections to also be internal machines on the same subnet, and voila, at least for the last few compiles I was able to get it all done without it hanging. Obviously there needs to be some code changes to fix the sensitivity to combinations of NAT/Static connections as well as to have the server check that a client is still alive and working, and if unresponsive then the server needs to recover gracefully.