Skip to content

Latest commit

 

History

History
388 lines (217 loc) · 33.1 KB

34-building-a-popular-half-life-mod-during-the-rise-of-counter-strike.md

File metadata and controls

388 lines (217 loc) · 33.1 KB

Cold Ice Logo

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

My Personal Account of Building "Cold Ice", an Underground Half-Life Mod

When 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 was believable.

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 concept weapons, then apply a unique winter ambiance to have 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 happened 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 my 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.

I wore many different "hats" while experimenting with modding. One day I'd develop a web page to market the modification, the following day, I'd plug a vbsp ray trace "leak" to compile a map. The next day I'd code new 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 core 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 asked 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 skill set 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 enabled 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 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 — a time before hot-swappable code.

2D art was also of interest. I enjoyed fiddling with the HUD (heads up display), the information printed on the screen. I spent 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.

“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 skill set. Their gifts were appreciated and leveraged.

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

And sharing assets 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, 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.

Cold Ice rarely used version control, unit tests and product testing that would remotely resemble a modern development shop.

However, we launched the modification versions anyway, and when things broke, we launched patches where they were needed (which happened frequently). It was a real 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 files through private FTP’s (file transfer protocol) and sparingly used patch files. We furiously messaged each other when changes occurred. We appreciated the 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, craftsmanship 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 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 launched software without the automatic checks. We celebrated our beta testers, and that was refreshing, liberating, and free.

Success in the Community (1999-2000)

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 declined the invite.

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, which the community railled around. The replies were 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.

Having our mod on the mail list was like being number one on an app store in a major category and receiving tens of thousands of downloads 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 beloved 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. The new version wasn’t receptive, as noted in the poll.

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

After a time, we paused the development of Cold Ice as I contributed to other modifications and started to branch out, learning 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 production version was highly naive. We wanted to improve. As we were working on features, 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 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 higher quality than the first versions, and the maturity of the approach was light-years ahead than when we started. We grew 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. ![images/34-71.jpeg] ![images/34-72.png]

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 informed 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, becoming our failed rewrite.

"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 a part of their community.

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. Mom kept calling me for dinner."

My interesting lesson as a new software engineer was even in failure; I grew a vast skill set. 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](https://combineoverwiki.net/wiki/Crossfire_(multiplayer_map)/doublecross architecture style.

“And while all of the above is in the trash bin of gaming, the skill set 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 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 one-on-one 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 skill set 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 — 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 the scene. This wasn’t the plain old piping data in databases, it was an exploration of a new digital art form.”

Others 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 decades later.


The years have rolled by — I have much gratitude to those I modded with and to Valve. See my 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.


Cold Ice Remastered launches.

After this post was published, the rewrite Cold Ice Remastered was launched.

After 100,000 and thousands of downloads, the old modification was back—finalizing the vision that I held in my head.

The Internet remains a fascinating place of creation. And I learned the lesson—whatever you put your mind to, can be done.

Cold Ice Remastered can be found on ModDB at moddb.com/mods/cold-ice-remastered


Social Post

Telling the story of Half-Life modifcation development.

#valve #gaming #half-life #mods #programming

I started to explore and make things work, ideas emerged. These truisms were validated many years after the mod was shelved back in late-2001. These lessons seem to replay when discovering and developing software in teams.

Thanks to Danielle Arcuri, and James Burns

url

Posted

  1. r/halflife
  2. r/quake
  3. r/programming
  4. https://www.facebook.com/groups/363474493735643
  5. lobste.rs