This is a level from Killzone 2 reworked into a “retro” MP map for KZ3.  The foundation was already there but a lot of work still was needed to get the map to spec.  This included a pass on the map for design requirements, and a pass on the level geometry to clean it up.  A lot of geometry in KZ2 was messy and not efficient enough for a multiplayer map, and we needed to help with performance any way possible.

Salamun Market 2.0 Video


The new time of day, skybox, storytelling elements (burning APC’s) and fx (like the iconic burning plume of smoke focus point) really gives the map a new coat of paint.


But the ability to play with the EXO in this level is the feature that truly makes the experience new.


Our art quality standards had improved between KZ2 and KZ3.  Since we were giving the entire map a consistent attention to detail, or in other words- adding more stuff than before- we had to manage the rework with a careful sense of economy.  For example- culling building blocks sets that were not used often to reduce memory and drawcalls, then replacing these with a remaining set of instances.


In the end every square meter of geometry was retouched to improve on the artistic look and quality and to optimize it for performance.


This next DLC level was made from scratch and has a really cool set piece which was pretty innovative at the time.  You can click on the video link below to see what I mean.  We were still using of tiny budget of KZ3 building blocks, although a new set was designed and created for the missile silo hatches and interior.

Lente Missile Base


The main challenge for this map was integrating the organic “jungle” stuff with the man-made missile silo base stuff.  This required a lot of fudging and a careful eye for how things intersected.  While doing this type of work you must keep in mind that although ambient occlusion would probably help “glue” it all together, there are more tricks you can use to improve transitions.  Overlapping more elements, vertex coloring, and if absolutely necessary- sheets w/ alphas can all be used to to fight ugly intersections. Sometimes you have to go back and re-compose the original elements in a new way, like rotating an one of the alien plants until it feels right and looks the most interesting.

It was tough to distinguish one area from the next with these organic, noisy alien jungle plants.  I remember reworking the compositions of areas quite a bit to try to help make them more distinct and memorable.


This was also a nice map to play with the composition of the vista elements.  Both the cliffside and the vertical depth created a lot of places for us to make interesting silhouettes.  I always like to experiment with pushing the contrast between thicks and thins without letting the weight of everything feel unbalanced or out of scale.

This multiplayer map was the last published content I worked on before moving onto our new ps4 game.


My main task on Killzone 3’s Single Player E3 demo level was making snow and icebergs look good.  All of this terrain work was hand-modeled, including making the snow look built up by the wind against other forms.  Seperate sheets were created (also by hand) to soften the transitions between the snow and ice, or the snow and man-made objects.

Killzone 3 Single Player Demo


This was all helped considerably by the snow shaders, the awesome water flowmaps and FX, and some lighting tricks.  It was a lot of work to make it seamless and believable so that you could easily take in the pretty environment and focus on the mission.


Not every transition between elements could be saved by softening due to the amount of work it created.  There just needed to be enough so that it “felt” like it was soft and polished.  Its important to pick your battles when managing time, and in this case it was a matter of choosing the places along the most obvious paths which the player could see in the bright daylight setting.


Sometimes we were fighting lightmap leaks between the snow and ambient occlusion.  We didn’t have time to fix them all, and often the fixes weren’t future proof because it involved tweaking the lightmap UV’s.  So any new bake would destroy the previous fix.


Getting the snow to transition over the edge of the icebergs was more work than it looks!  If I was faced with this problem now I would use a different way to solve the problem, but this is what worked back then.


I helped come up with the idea for the MAWLR level in a small strike-team during pre-production of Killzone 3.  I didn’t end up working on the level with it until 3rd pass Polish and Optimization, which by that time was mainly some bug-fixing getting it to run at spec.

I liked how it came out, but wish it had felt more like the Battle of Hoth in the sense that this thing was walking right next to you as you fought it.  If you check out the MAWLR Graveyard MP level there’s a really cool vista with the MAWLRs battling in the skybox.



More of my thoughts and videos of my work on the Operations levels for KZ3 are here.

Corinth Highway was the first Killzone MP level and the first one to support the EXO.  Meeting design requirements proved a challenge because we had to make passages large enough space for the EXO while maintaining a believable logic to the look and construction of everything.

The map is a large area by our standards.  It had to look like a nuclear warzone but we had a limited budget and palette of instances to work with in order to keep the level up to spec for multiplayer.

We had to use every building block and area of damage wisely, and we relied on sheets to be our bread and butter when it came to softening transitions between the terrain and man-made elements.  At the time I had to model and vertex color all of these sheets custom by hand, which seems inefficient now in retrospect but still gives me a lot of pride for the final look this map.

Corinth Highway Gameplay


Turbine Concourse was the second map we worked on and the first one to use the cool jetpack pickups.  This new gameplay feature also opened up a new can of bugs for us to deal with since the players could now go and see a lot more than usual.


I remember making the curves for each of those cables, and extruding another circular curve along each of them.  I spent a lot of time composing them in an interesting way that had some legit weight, tension and mass to them.  I think the cables on the other side were made completely unique, from scratch in the same fashion.

Sure this took some time to do and may not have been the most “efficient” method, but the end result has noticeably pleasing quality.  Sometimes I think it is worth spending the extra time on elements whose uniqueness may not be noticed by your average gamer (like not mirroring the cables on the other side).  This might go against tangible logic, but I still believe if you give your levels enough areas of special attention like this, it adds to the overall quality of your game’s world in the end.

Turbine Concourse Video



Below is a ramp added onto the trains in a Killzone 2 Multiplayer DLC Map.

I was responsible for making a new set of building blocks and constructing the ramps out of them.


Some of the building blocks are damaged alternates. These were made after the initial prototype and were easily swapped in to add variation.


Photo-based textures. All of the building blocks in this set use the same texture set, except the low LOD’s of the grating use a small alpha map instead of geometry.

The specular is encoded into one of the channels of the normal map.



I was responsible for building all the ramps out of the building blocks and fitting them into the various ledges of the opposing trains.



This is a collection of my work in Killzone 2 for the Playstation 3.

The screenshots below are of areas I worked on in the Maelstra Barrens level from start to finish.

This included creating the structures by modeling and texturing static geometry (BSP) and placing building blocks (modular, referenced LODing geometry objects).


Below I decided it would make the silhouette more interesting, as well as create a functional connection between the two structures, by adding a pipeline between them.

In additional, the original gameplay had the player turning this corner and facing a tank, so I thought it would also be a nice way to frame the last enemy of the level.


Here below we needed to resolve a level design issue with art.

Although ISA cavalry arrives from this path, the player needed to be blocked off from it and directed towards the next objective with some visual language.

To solve this problem, I made it look like the cliffside had fallen away, structure had been added to keep the remaining road intact, and an APC still remains to block the player.


I made several building block presets of damaged debris clusters from the crashed space ship in the game and they were used throughout this level.

Below a giant piece of the Cruiser has crashed into the main energy pipeline on the planet. I placed or polished a bunch of the debris lining the crater.


My first task on KZ2 was a first-pass on the train level in Tharsis Refinery.

I modeled the sets of train building blocks. After they were approved, they could be exported and placed into the game levels.

While I constructed the train level out of building blocks and static geometry, artists at another Sony studio in the UK textured and polished the building block models.

Once they were finalized they were updated in the game.

Building Block Sets:


Static Geometry (BSP):


Building Blocks:


Combined they make a Helghast train. I made this based off of provided concept designs and reference.


Some screenshots of the final result of the level.

Screen_005wScreen_001w Screen_002w Screen_051wScreen_003wScreen_049wScreen_050w

I worked on second and third pass for Suljeva Village. Everything from first pass was just thrown in there, so we had to take it, work with it, and make it ours.

In the end it felt like ours. Here are some screenshots from some areas I worked on.

In the screenshot below, the player could originally walk onto this platform.

I essentially remade the platform to make it more visually appealing, less expensive, and inaccessible to the player.


In this screenshot below, I used some elements from another building I had made in Maelstra Barrens to make the structure more of a focus point.


Added detail to the ground to smooth it out so it would flow in harmony with the structures and have nice ambient occlusion where they connected.


Below, I did a pass on this hallway area of the antenna.

This included rebuilding a lot of the bb’s so that they would have better connections and edge definition, and be used more efficiently.


Throughout the level, there were gaps at the ends of the fences without anything to justify the collision. I added bb’s to these gaps to visually block the player.


Below, I worked on third-pass for Salamun Bridge, which included a lot of polish and optimization.

In general, my work included set dressing with decals, props, vertex coloring, building block tweaks, fixes to several other eye sores, and some last minute gameplay changes.

This was all in order to get the level running within memory, to raise the art quality, and to get the game shipped on time.


And here is my one little gameplay easter egg I managed to place into the game.

The player can use the grenade launcher to bounce a grenade off the building block backboard above the turret nest and take out the gunner!



Responsible for modeling, texturing, lighting and collision of game environments.  Also worked on creatures, concept designs, animated objects, props and hand-painted textures (made from scratch in Photoshop).


SS0137_wire SS0137 h09_consoleSS0148_wireSS0148SS0152_wireSS0152SS0154_wireSS0154

SS0199_wire SS0199 SS0188_wire SS0188 SS0177_wire SS0177


SS0218_wire SS0218SS0219_wireSS0219      SS0221_wire SS0221 SS0223_wireSS0223SS0224_wire00_vistaSS0224SS0240_wireSS0240SS0250_wire0o_bridgeSS0250SS0255_wireSS0255SS0256_wireSS0256


SS0277_wireSS0277SS0316_wire SS0316 SS0298_wire SS0298 SS0293_wire SS0293 SS0285_wire SS0285  SS0328_wiresky15         SS0328


SS0333_wireSS0333SS0368_wireSS0368SS0369_wire SS0369


SS0183_wireSS0183SS0184_wiregenC_doorSS0184SS0185_wireg_door  SS0185SS0198_wiremorphDoor       SS0198


ReptStatComp_1ReptStatComp_2SS0230_wireSS0230SS0384_wire     AazelionArmSS0384  SS0389_wireSS0389  SS0390_wireSS0390_wire2SS0390


(All textures for MP3 were made from scratch in Photoshop without any photos.)

0z05_bridgeTileC_ben 0z05_bridgeTileC2_ben 0z05_bridgeTileC3_ben 02_doorSignsC_ben 02_floor1C_ben 02_floor1Cmerge_bentrap_floorTile_C_ben 02_gDoorC_ben 02_gDoorC2_ben 02_GenCDoor_C_ben 02_GenCDoor_C2_ben 02_grappleDoorC_ben 02_morphDoorC_ben 02_morphMeshC_ben 02_steelRimC_ben 02_stripeWallC2_ben 02GunHub_ArchesC_ben 07_HatcherC2_ben 07_HatcherC4_ben 07_meatFloor1C_ben 07_metalC_ben 07_muscleRimC_ben 07_shellWallC_ben 07_shellWallRusty 07_skinCarpetC2_ben chozoBeaksC1_ben chozoCircuitC2_ben eyeFlesh_blendC2 gelMeshR_ben GF_Lore_Holo_2incTiled_ben GF_panelsC2_ben Grapple_GargoyleC2_ben H09_GFshapesC_ben Navigator_C_ben ReptStatC3_ben ReptStatCedge_ben sky15_C2_ben sky15_C3_ben sky15_C4_ben skyCopperC1oxide_ben skyCopperC2_ben skyCopperC3_ben skyCopperC4_ben skyCopperC5_ben skyCopperC5b_ben