Building a Popular Half-Life Mod During the Rise of Counter-Strike

My personal account of building “Cold Ice”, an underground Half-Life mod

Doug Arcuri
Dec 18, 2020 · 19 min read

hen we purchased a home computer in 1998, I was consumed by PC video games. Particularly first-person shooters Quake II, SiN, and Unreal Tournament. Out of all of them, my favorite was Half-Life. The gameplay felt solid. The ambiance of the environment was immersive. The weapons felt heavy and responsive. The cast was engaging — Marc Laidlaw’s plausible scenario where theoretical scientists open a portal to an alien universe.

Half-Life, with its silent protagonist Gordon Freeman.

In my opinion, Half-Life’s online multiplayer battle mode felt realistic and fast-paced. HLDM (Half-Life Deathmatch) was a place where online strangers compete to obtain “frags.”

Original deathmatch for Half-Life in a map called boot_camp.

At about the same time I engaged with others in these online matches, the company that developed the game, Valve, released an SDK (software development kit) in April 1999. The SDK enabled the community to modify the game to their liking. This helped the game’s popularity surge.

“My first memory of HLDM was joining a server running a map called “Stalkyard”. The things that sucked were the dial-up connection… and the game’s awful netcode.”

Origins of Cold Ice.

Before discovering Half-Life, I dabbled in custom configuration changes in games like Red Alert and Rainbow Six. But Half-Life was my gateway to real customization with computer programming — modding to a community.

“I remember Dad buying a copy of Microsoft Visual Studio Professional from Circuit City. He looked at me, “What is this for?” I shrugged, “I want to mod games.””

My curiosity engaged. How could I modify the weapons in the game to play differently? Then, without any prior programming knowledge, I started a modification later to be called Cold Ice.

Cold Ice Original Logo in Spring 1999.

Cold Ice was fueled by changing the mechanics and “skins” (textures) of the weapons. I harnessed the digital echo-chamber of a clan — a group of people playing on the same team. The experience overtook my game consumption into a leading mod maker, an accidental producer/creator.

Bitmap texture “skin” example.

“Cold Ice was unique, immature, violent, provocative, and rather…odd. But I didn’t care.”

Over time, Cold Ice became popular. Its concept was simple. Fast play, lots of explosions, unearth unused weapons, a unique winter ambiance, and a good time.

The original inverted texture on Gordon Freeman.

The mod’s origin was discovered by accident. I found the “invert” functionality of Paint Shop Pro. After extracting the player’s texture, Gordon Freeman, I recompiled it and placed it back into the pack file (a zip file the game uses to load resources).

It just so happen that the inverted texture looked cold. And hence, the mod name was born.

Examples of early versions of Cold Ice. Note the chumtoads. Sting was one of our original beta testers.

Curiosity on how things work drives determination.

From Quake II, and one patron’s perspective.

When I first picked up the SDK, I knew nothing about game concepts and how to produce results. With research, I found the instruments to make the modifications. This included a toolchain of applications and 3D modeling software. What assisted discovery was the investigation of other’s modification project structures. I would download, unpack, and review their materials.

“And in some cases, creative liberty was taken to “borrow” others project artifacts. In fact, I borrowed everything.”

Cold Ice was well known for extreme explosive environments during play.

Tools like Microsoft Visual Studio Professional 6.0, Paint Shop Pro 5.0, 3D Studio Max, and Valve’s Hammer were learning curves for me. Still, I was determined to deliver an experience.

The explosive vest device.

“That experience was a crazy good time with lots of explosive devices. And those sound effects were hot as they were lifted from other pak0 files.”

Valve’s Hammer and mapping tools, and my first map attempt, Training Facility. I remember thinking, “this place needs a swimming pool.” And so, I created one.

Experimenting with how the game was modified exposed me to wear many different “hats.” One day I would be working on developing a webpage to market the modification, the following day, I would be plugging a vbsp ray trace “leak” on compiling a map. The next day I would be editing the game mechanics. The intensity of the exploration sapped a majority of hours away from socializing in High School.

Half-Life model viewer, .pak explorer, and sprite mapping tools. USAS-12 Shotgun model by Coconutmonkey28.
The original iceman model by SSJ_Microhack.

“I stayed up late for many nights at a time. The grit to discover was immensely awesome. Nothing else mattered.“

The original and popular training facility map from Cold Ice. I remember spending hours tinkering with the urinals in the basement restroom.
Wally, a texture exploration/editor from the Quake mod community. Textures are what are bonded to brushes (polygon surfaces) to give a visual appearance.

The tooling for Half-Life was a disparate toolchain. It was a grab-bag from various companies and modding teams. Since Half-Life’s tech incremented off John Carmack’s (inventor of the base technology for Half-Life) brilliance in design decisions and logical organization, Quake's tools were useful. They were implements to look deeper in detail.

I was driven by the discovery of making things different. At that time, I was involved online with a team of players who wanted to see what we could do. This is what fueled me to keep going.

Compiling code in Microsoft Visual Studio from Cold Ice’s rocket attack mode — seen animated.

Determination develops skills to glue things together.

Understanding how to build things that were required at the time was intense. Building websites, modeling new weapons, coding game logic, 2D art, finding and creating sound effects, and building levels were unique challenges to be discovered.

“It was a vast playground of learning while being surrounded by invisible nerds doing the same.”

Websites built in FrontPage (then hand-rolled HTML/CSS later on), we built and promoted Cold Ice.

As time went by, I learned of community resources that healed my knowledge gaps. Conversations happened through forums and mailing lists. The best example was the Wavelength board, pictured below. Wavelength was a community watering hole, a place where we ask questions and got correct answers.

“There were absolutely no wikis at that time, and no Lycos or Excite search worth its salt in finding what needed to be found. Everything was bookmarked in the mind.”

The Wavelength community in 2001.

Players of Cold Ice highly appreciated the sound effects. The explosive sounds, the blaring of the multiple rockets, and the new weapon effects made Cold Ice what it was at the time. Crafting an experience was the result of finding resources that added value to the play.

“Decoys” was a signature mark from the modification—the “Sierra” logo video intro looking through a window made by Coconutmonkey28.

Finding knowledge and interacting with a community was a part of that toolchain. And after finding that community, my skillset could only go so far. There is a point at which specialization was needed. I had to scale myself. This is what happened next.

“What was this place? It was intoxicating with creative pleasure that nights, weekends, and summers would simply disappear.”

Impact attracts others.

hlcoders mailing list, a place to ask questions about code.

As Cold Ice’s development went on, individuals came forward to usher the mod’s development. If I had to count, it was thirty contributors over its short lifespan. People liked the mod and wanted to add new value. This included level makers, modelers, and other artists to create an experience.

r a d i u m, a place where we found great maps and level designers.
Apo, a prolific level designer who contributed to Cold Ice as well as many other mods.

This allowed me to concentrate on my expertise area. For me, it was about game mechanics and improving the gameplay, making it balanced. I really liked the programming aspect and building the libraries called .dlls. The libraries contained the logic to make the weapons act differently. Every time I changed gaming behavior, it would have to be recompiled, and the game relaunched. This loop took at least three minutes for every change.

2D art was also of interest. I enjoyed fiddling with the HUD (heads up display), the information printed on the screen. I spent many hours developing a “smart hud notification system,” experimenting with mapping sprites (varying-transparency graphics). The goal was to improve real-time information and to enhance the play experience.

Before ticketing systems, a .plan-ideas file, with notes on future game modes. Also known as a delta file.

“I went through this code, compile, launch, test loop thousands of times. It was like being a magician where things kept changing to my will. It was fascinating as it was frustratingly slow.”

Example of player models from contributors, including iceman.

At the time, the people I met were centrally located on a popular chat messenger called ICQ and Internet Relay Chat, a chatroom agent. And, of course, the ubiquitous email. There wasn’t anywhere near the video chat and tooling we have today.

Cold Ice 1.75, the most praised and sought after version.

“And what is odd is that the identities of the individuals remain hidden. Probably for good reason; the acne was boiling over.

I only knew the names of one or two individuals, but we never once spoke on video in all that time. Besides, the cameras were too grainy on NetMeeting. I was on dial-up at the time.

“The disreputable team was global. From Germany, Canada, Austria, UK, Finland, the USA, Australia, and other countries, we worked together to deliver something cool.”

Contributors poured in from all channels. Whether it be voice-overs, writing documentation and READMEs, 3D modeling experts, and numerous map makers. They all taught me how to become better at each skillset. Their gifts were appreciated and leveraged.

Trinity Command, a new style CTF mod styled in early post-war flair.

And it also went the other way. See above and below. We were invited to contribute code and artistry in the community, which we did. The mods were popular at the time. In fact, both modifications, Trinity Command and Wasteland HL (WHL), were associated with early contributors of Cold Ice.

WastelandHL, a mix between Mad Max, Fallout, and “John Woo” akimbo styled weapons.

I personally loved WHL and Trinity Command because of their dedicated art direction. The feel of the gameplay was fantastic. When I had the chance to contribute to the weapons, HUD, and gameplay code, I had a lot of fun — I contributed to something larger than what we originally founded. And these founders were intensely good at the artwork and creating an atmospheric experience.

“These contributors spearheaded other mods later, a testament to growing obnoxious leaders in digital cabals. And I was too obtuse to stay with them. Drama was shared between individuals and mod teams.”

Counter-Strike with the map cs_siege — developed by mod makers Gooseman and Cliffe.

Mod making was collaborative at that time — in the summer of 1999, we were invited to alpha test Counter-Strike with the map cs_siege. I gave notes back to the “test party.” Unfortunately, these notes are lost, but I remember that the mod was absolutely excellent. Counter-Strike became quite popular. So popular…that Valve eventually acquired them, and the mod became a globally recognized household brand.

Software is about outcomes and consequences, not about technology.

Tutorials from HL Programming Planet, where we contributed back.

We went forward in developing Cold Ice, rarely using version control, unit tests, product testing, or anything that would remotely resemble a modern development shop.

However, we launched the modification versions anyway, and when things broke, we quickly launched patches where they were needed (which happened frequently). It was a real R&D (research and development) setup.

The Wav pool, where voiceovers and sounds effects were shared.

“Craftsmanship is a new business we buy into; which didn’t exist at this time in software. Clean wasn’t in the vernacular. But we all needed serious personal linting.”

Between developers and artists, the process was libertarian. We shared most files through private FTP’s (file transfer protocol) and sparingly used patch files. We furiously messaged each other when changes occurred. What was most appreciated was the extreme quickness of the releases. Nothing ever stopped the team from delivering an update due to quality concerns.

Use used WS_FTP to upload files to shared places for mod contributions.

“We listened to the community. We recklessly launched, in a way that promoted chaos.”

New map ci_coldice by Jope. Nuke launchers and railgun (à la Quake II) later in development.

The outcomes of the modification were never completely validated. But what is certain is that in developing software, craftmanship was never a crutch we used to validate our software existence. I didn’t know at the time, nor did the community.

“This is not to say we didn’t have a practice or discipline. That practice was harnessing the pureist form of autodidactic exploration. The discipline was to ship. It was a Holy Land of craft, a geek Nirvana, a Mecca of maximum return on discovery.”

A grenade launcher being developed and in-game using MilkShape 3D.

There is a lot to be said about software quality in association with predictability. To think, after writing tens of thousands of tests over my career and nudging others to do the same, we once launched new software without the automatic checks. We celebrated our beta testers, and that was refreshing, liberating, and free.

1999–2000. Success in the community.

After several versions, Cold Ice made it to the mod of the week located at Kevin “Fragmaster” Bowen’s Planet Half-Life (PHL). PHL was the central community hub located on the defunct Gamespy network.

PHL in early 2000.

Others in the community noticed. I remember being invited to Valve’s 1999 Mod Expo in San Francisco, which I did not show —

Cold-Ice game menu.

“I never pushed my parents to fly to SF, nor was extroverted enough to go through such a frightening social event — I was acutely introverted.”

And then there was the regular PHL mailbag. There always seemed to be a community. The replies were very positive, and the trolls abrasive as ever.

“At that time, being a troll was normal fanfare. Everyone was doing it. Memes were the middle finger made in MS Paint.”

PHL POTD (Picture of the day), Cold Ice Featured, in 1999 and 2000.

These events were like being #1 on the Apple app store in a major category and receiving tens of thousands of retweets within an hour. This was validation that we were doing things correctly and that the community was receptive.

ci_suspension, by Laserus, a dazzling map dedicated to open areas and tinkering with gravity.

Lots of people liked the play. Version 1.75, our most loved version, was the golden master build (GM) — a time when the software was burned to CDs and marked as 1.0 for manufacturing.

Updated modern logo.

Cold Ice launched the beta 1 2.x update that changed how the game was played. This version visually improved the weapons and skins and experimented with an exchange system. This wasn’t receptive, as noted in the poll.

A poll at the time, noting dissatisfaction with the updated gameplay.

We paused the development of Cold Ice as I contributed to other modifications and started to branch out to other areas, learning more about pure deathmatch play. Half-Life Pro was an experiment inspired by Oz Deathmatch. HLPro contained a mountain of configurable cvars (console variables) that included game modes, mutators (rules that change the way the game is played), and a redesigned heads up display.

Cold Ice game modes were transferred to our mod HLPro. Its night ops mode was unique. The forum was the place to communicate.

In mid-2000, while work was going on HLPro, we launched a “Cold Ice SDK” of our own. It appeared we “shut-down” Cold Ice, but that wasn’t actually the case. We attempted something bigger.

2000–2002. Release early and often; otherwise, the value will be shelved indefinitely.

Contributing to mods that were recognized by PHL.

As we grew, we realized that the current production version was highly naive. We wanted to improve. As we were working on other things, Valve broke the ecosystem by launching a non-backward compatible 1.1.0.0 update to the game. This caused labor for modders. Unless a non-trivial patch was attempted, the full crop of mods — up to Spring 2000 — crashed on loading.

“Valve fixed the netcode by optimizing server messaging, which was welcomed. But in the process, the patch created an unwashed caste of mods that would forever be locked in the 1990’s.”

And then we made a decision. Fix forward 1.75/2.x Cold Ice or attempt bigger changes? So we went with the latter and started our failed rewrite. We called it Cold Ice Resurrection (CIR). I’ll share some of that work now, as it’s never been seen.

Examples of CIR with “body part damage system” in the maps cir_stalkyard. “Runes” (power-ups) in the map cir_warehouse.
CIR’s concept blaster.

The work was of much higher quality than the first versions, and the maturity of the approach was light-years ahead than when we started. We matured as developers. The evolution was tangible.

Hundreds of hours of work were labored over the project between contributors.

Steel-pipe, auto chainsaw, and others in development.
Original draft readme of CIR in early 2001.

The resurrection was an amalgam of many themes: Counter-Strike, Action Half-Life, WHL, Trinity Command, and core elements of original Cold Ice. The direction was unclear, but we focused on fun gameplay and lots of mutators like Iceman Cometh.

We kept the rewrite to ourselves, reverting our original approach to feed the community. We went as far as to inform PHL of the incoming work, and they gave us a hosting spot, but we held back from sharing. This was a mistake.

Concept modeling work at the time.

“There wasn’t a feedback loop like we had with the original versions. That was the mistake that screwed us. The resurrection was directionless in its visual beauty. I was an ineffective newb for not pushing it out the door.”

A homage to Half-Life’s “long jump module,” the wall jumping concept for Cold Ice Resurrection. Also, the unreleased graphic.

Over time, the project became heavy, and motivation dipped to zero. We stopped work and left the project unreleased. The project artifacts began to decay into the digital ether. No one saw the update that we worked so hard on.

“Without a community jeering us on, we failed to grind through and ship. “When it’s done” never came.”

After the beta 1 source code was lost due to a hard-drive failure, we briefly started a beta 2. My last memory of CIR was that I wanted to modify the engine to make it snow — and then we gave up. The project was shelved in 2002.

“I was pissed off. We restarted the work on a second beta with Infinity (lead contributor), but that fizzled out — and just like that, we were gibs all over the floor.”

Retaining and sharpening skills after failure(s).

An unreleased photo of Cold Ice Resurrection in a map called ci_themill.

Unfortunately, there isn’t a fairytale ending like what happened to other modifications. The biggest was that of Counter-Strike and Day of Defeat, which we were apart of that community at the time.

And that of Valve with Gabe Newell's vision. They grew the gaming ecosystem pie by creating the massive Steam Network.

The new game menu and unreleased developed website.

What I can say is that for those who participated, we used Cold Ice to hone our skills and to grow as developers and artists. It was a great experience that I always thought shaped me as a person but left me questioning my understanding of what all had happened, quietly in my bedroom.

Remote bomb concept.

“The experience was like a cold night in a “digital” football game where we won on the High-School internet. But no one was there, the bleachers were empty. But Mom kept calling me for dinner.”

My interesting lesson as a new software engineer was even in failure; I grew a vast skillset. I wanted to see what may happen next, what I could learn. I would not surrender to solving a problem — a shower or a walk helped with unlocking a solution.

The larger observation was for a project to survive; it is surrounded by a community betting the team to succeed and feeding off the releases. And if the cheering is absent, projects die.

Some of the new weapons in Cold Ice Resurrection, in a rebuilt Training Facility map, cir_training.

“There was no money in any of this. I left wondering where will I go — work somewhere and code with real people?”

New heartbeat code when taking on damage in a typical “think” loop.

The road to developing, launching, growing, and maintaining game modifications in the community had taught me lessons. As I moved forward and started my career, these experiences were not forgotten. I had a unique and valuable perspective on building things.

Unreleased launch banners.

My curiosity led to a determination to achieve something interesting. And critical afterthoughts — not to plan projects as “big-bang” releases unless there is a commitment to a Valve time scale, and to support backward compatibility where possible.

cir_focus by Schrade, inspired by crossfire/doublecross architecture style.

“And while all of the above is in the trashbin of gaming, the skillset is valid and memorialized for meatspace to come get me. I’d be stuck in a ch3wz0r map to be devoured like everyone else — but know better.”

Numerous Cold Ice rebuilt maps cir_bounce, cir_warehouse, and cir_stalkyard.
Cold Ice map, and toying with dynamic parts of the environment (à la Red Faction Geo-Mod influence)

Exiting the scene.

After another pause, we had the energy and maturity to craft something elegant. We soft-launched a mod called HL Advanced (HLA), a competitor to Adrenaline Gamer (AG), which was popular at the tail end of the golden time of modding in Half-Life. HLA included all of the game modes, like 1-on-1 arena matches. As it was a pure server-sided mod, no download was required.

The concept for HL Advanced deathmatch, complete with all the lessons learned on making a better mod — and its spectator in-game pong mode.

“I performed a solid 10,000 hours of being a troll and building things. My skillset was ready for whatever a company would throw at me. Except people skills — I had zero hours in that business.”

But HLA suffered the same fate as the resurrection; it was a failure. We repeated the mistake above, hiding in an unaccountable state over the brashness of launching incompletely — surrounded by trolls’ feedback. But the real fear was I’d receive no feedback at all.

With all my creative energy expended, Half-Life 2 launched in 2004. I walked away.

Another user-generated video of Cold Ice, 17 years later.

“In a golden era of mod making, Valve forever changed a scene. This wasn’t the plain old piping data in databases, it was an exploration of a new digital art form.”

Others eventually picked up Cold Ice’s development. A small team launched a 2.5 version. But over the years, it’s been inactive. Interestingly, Cold Ice remains a small group of people on the vast internet asking how to set up the mod two decades later.

The years have rolled by—much gratitude to those I modded with and to Valve. See Github for those interested in contributing to the project material. The code, files, and screenshots above were located on an old hard-drive I found in storage. Unfortunately, artifacts are permanently missing. Maybe you have something to share to make it complete on Github? Leave a comment below; or contact above.

SUPERJUMP

Celebrating video games and their creators

Thanks to James Burns

Doug Arcuri

Written by

Engineering Manager // New York // Writings that aim to be timeless, explore the meta on software, and invoke though. // Also see https://dev.to/solidi

SUPERJUMP

SUPERJUMP

Celebrating video games and their creators

Doug Arcuri

Written by

Engineering Manager // New York // Writings that aim to be timeless, explore the meta on software, and invoke though. // Also see https://dev.to/solidi

SUPERJUMP

SUPERJUMP

Celebrating video games and their creators

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store