Wednesday, February 26, 2014

4:26 pm

Project Overview: Progenitor Project
Project InformationSkills and Software
Game Engine: Source• Level design and blocking via Hammer
Content for: Left 4 Dead• Modeling and animation via Maya
Dev. Cycle: 2 Months• Texturing via Photoshop and CrazyBump

Progenitor Project


Rumours of strange beings and odd happenings have been circulating regarding the Spencer mansion up in the Arklay mountains. News reports of erratic behaviour, attacks, and even mutilations have thrown the nearby population into a panic, necessitating the involvement of S.T.A.R.S in order to prevent further panic and contain any danger to the population.

There was a team from your precinct sent in ahead of you to scout the area, to report on the developing situation.. only their scheduled check-in time passed hours ago. Your task is to head into the Arklay mountains, find the Spencer mansion, and locate your teammates.

"Not quite your ordinary house, that's for sure"


The Progenitor Project was to be a complete custom campaign of 4-5 maps for Valve's Left 4 Dead title. As a fan of the series, I wanted to adapt the levels and gameplay of Resident Evil into a fast-paced first-person shooter. A design document was created for the first map, taking place in the mansion's foyer and some of the surrounding rooms. The level design and layout was planned using the 2D maps of the original title to ensure accuracy. Puzzles were designed around L4D's AI Director; puzzle-solving sections were scripted to limit zombie spawns, while traveling between these sections saw increased action.

With the design and concept appearing feasible, I felt set-dressing the mansion foyer first would increase visibility and interest. Since my modeling and UV mapping skills weren't stellar, I used rudimentary, pre-made assets to dress the map. This saved little time, as only diffuse maps were available; the specular, normal, and ambient occlusion maps had to be created. Models and textures had to be converted to *.mdl and *.vtf files to render in Source. All *.qc model compilation scripts and *.vmt material property files were custom-written as well.

I learned some of the most valuable lessons to-date while attempting to execute on this idea. Firstly, I started set-dressing before I had any tangible gameplay implemented. With 5+ years of Source engine experience, I had an idea of what could work, yet starting with an art pass meant I was effectively doing things in reverse. Secondly, I had not tested much beyond blocking out the layout. Once I began to implement the features I had envisioned, I discovered that many L4D gameplay elements Valve utilized for player direction were not exposed in the editor; custom action popups, for example. There were also optimization issues that only existed in the public version of the editor; NavMeshes consumed a lot memory and took a long time to optimize. These issues have since been ironed out, as the tools were in their infancy when I was using them.

By the time I had reached this point of discovery, L4D2 had been announced, potentially bringing its own new features, improvements, and renewed developer support. I decided to cancel the project before I dug a hole I could not fill later on down the road. These were hard lessons to learn, but they were excellent learning experiences nevertheless.

Filed Under: