The Ice Axe Cometh: Custom Weapon Post-Mortem

On December 7th 2009, Kotaku posted an article titled “Get Ready for Even Freakier L4D2 Mods.” I had picked up Left 4 Dead 2 a few days before. While I would normally spend my first few weeks of a Valve-released game perusing its development kit, the Left 4 Dead 2 Authoring Tools wouldn’t be released until December 23rd. With school work slowing down and free time building up, I spent quite a few hours playing Scavenge mode late into the night. As I skimmed the article on Kotaku, I was amazed at the depth of the discoveries of the community at L4Dmods. Their findings substantiated that Left 4 Dead 2’s code allowed for customization that would make the mouths of zombie-killing enthusiasts’ water. Custom survivors? Check. Custom zombies? Check. Custom weapons? Oh baby, we got it all.

In a few short months, I was throwing my hat into the ring for L4Dmaps’ Winter Mapping Challenge. Because both Left 4 Dead games lacked winter environments, the mapping community certainly felt compelled to remedy the issue. I began with simple things; I set up custom ice and snow textures in the engine and got the normal maps to create a good amount of depth in the snow itself. I began working on custom models in order to make the cold, desolate environment of Antarctica believable (although the presence of the Survivors in the “deep” south was impossible to reconcile, as was their lack of clothing). Throughout my time mapping, I kept coming back to one thought over and over again: while creating a believable environment lends the most credibility to the setting of a game, it isn’t the only factor. While I certainly did not have the time to reskin every single zombie and survivor character to match their new arctic locale, I could certainly create a custom weapon in that time. In fact, one modder already had, although he wasn’t releasing any substantial information to the community as to how he did it, leaving all other potential modders in the dark. I began coming up with concepts of weapons that would fit both the Left 4 Dead universe and the arctic environment the survivors would be exploring. I decided to go with an ice axe. My inspiration probably stemmed from Modern Warfare 2’s amazing level Cliffhanger.

The ice axe fit my goals quite well: it would be easily to model within a short time frame; it would easily match up with the animations of the crowbar, thus saving me the process of making custom animations; and it would match my environment perfectly. I could go on about its potential greatness as a zombie killing tool, but I digress.

Unfortunately, there is a severe lack of documentation covering Left 4 Dead 2’s new features. This has forced many to simply stop mapping for the game, and has surely turned away less-skilled mappers. The game often fails to load custom maps in multiplayer, which is the bread and butter of Left 4 Dead: working with a team of individuals to overcome seemingly impossible odds. I could barely get a functional map to run under the new settings. Issues that had never proved to be a problem with the original game were now insurmountable challenges in its sequel. While bug testing may be a reasonable cost of business for Valve, having a map work on one person’s system but not another’s is like the kiss of death. I cannot travel the globe to personally inspect the other player’s computer and find the issue. Nor can I have 30 people on-site play and test my map in order to replicate his issue. With me unable to even get my map fully playable on other computers due to errors with lobbies, navigation mesh issues, and a slew of other problems, I decided to simply ignore the problems I was facing with my map and sacrifice my chance at winning the mapping contest in order to help the community. Counterstrike is well renowned as being customizable – players may create new skins and models for weapons…but never new weapons. I was, like many others who were as equally stuck as me, treading new ground.

After decompiling the crowbar models from Left 4 Dead 2, I was able to replace the crowbar in 3D Studio Max with a model made by Mark Sneddon, a freelance 3D artist who had worked on Zombie Panic: Source, a Half-Life 2 modification. Mark turned out a really great model within a few days, and I got it into 3D Studio Max and set it up to match the crowbar. As I recompiled the .qc file using Valve’s studiomdl program, I began getting errors. At first, studiomdl simply failed to cooperate, not even returning a model. Suddenly, it decided to work, but it began dropping my files inside the model folder of Half-Life 2: Episode 2. Despite the strangeness of what is basically a harmless bug, I moved the files over to my Left 4 Dead 2 directory and began arranging them into a .VPK. This was a month ago. I have messed with the files on occasion, changing various values inside the .QC with the blind hope that issues and errors will be resolved by my futile tampering. Currently, the ice axe works – in 3rd person. Valve’s system for weapon models in Left 4 Dead and other Source engine games requires there to be two version of the model – one which is the view model, or the one you see in 3rd person or as an object in the environment, and one which is what you see in 1st person when aiming your gun or swinging your machete. Because the 3rd person model requires no attachments to bones, it loads into the game just fine as a replacement for the crowbar. While in 3rd person, the ice axe acts as a normal weapon would in the game: its animations are perfect. Blood and guts soar through the air as it tears and claws at the flesh of zombies. But in 1st person? It is a little harder to explain.

Initially, the camera becomes detached in game and rotates 90 degrees to the side, creating a very strange view of the game world indeed. There are two bones in the crowbar file that have rotated when it was decompiled. However, no matter which way I rotate these bones, the camera rotates in game and floats. Logically, the camera rotation would mean that the direction you are aiming, determined by your control your mouse, would rotate as well. Strangely, it stays the same, making it impossible to aim at a door and open it, or aim at a new weapon to pick it up. The only solution is to switch to 3rd person mode or to give yourself a new weapon using the sv_cheats command. And thus, I have a pretty disappointing post-mortem for you. Sorry, guys.

Obviously though, there are important lessons to take away from this, and it is not all negative. And it definitely isn’t impossible to get a weapon working, as it certainly works in 3rd person and NPC survivors used the weapon correctly. I think it simply requires one of the members of the Left 4 Dead team to swoop in and give us a little documentation, or a correctly rigged model as a base, in order for the modding community to move forward.

Of course, Valve is very busy at the moment in order to the “The Passing” released on time, on top of getting both Left 4 Dead games working on Mac OS X. Once they do, hopefully they can provide us with the help we need. Once they have free time, helping us would certainly benefit them as well. Look at how popular Team Fortress 2 remains to this day, with its constant patches and new content (much of it made by the community). It has become increasingly hard to find people online in Left 4 Dead 2: with the new campaign, and a smattering of new, custom weapons, Valve may see a resurgence of players in their game…and that’s just weapons. Imagine the community growth if we had templates for survivors and zombies as well?