top of page
Download on Steam!

Snowpainters

Steam link to Snowpainters

// Available on Steam! Click here to play!

Project Summary

Project Summary

Role: Level Designer

Genre: 3D Kart Racer

Editor: Unreal 4

Platform: PC

Process: Research, Scrum, Strike Teams, Iterative Milestones, Playtesting

Tools: Jira, Monday, Slack, Zoom, Perforce, Miro

The Game: 

"Snow Painters is a pc game in which penguin characters slide around, bringing color to a plain arctic world through paint mediums, while competing against other penguins, whether human or AI, to win races. Players utilize a variety of pickups & strategies to earn first place in one of three tracks. Players can learn the mechanics in a playground map before racing on a single track or joining a grand prix style competition." 

Contribution Summary

Level Design Contributions:

  • Developed top downs

  • Used the spline tools

  • Utilized many of the terrain tools

  • Implemented collision volumes

  • Optimized the terrain for performance

  • Monitored Jira for issues

  • Logged tasks in Monday.com

  • Participated in scrum meetings retros

  • Collaborated with other departments & leads

  • Conducted research

  • Created sublevels

  • Modified materials blueprints

  • Identified risks & solutions

  • Presented research findings

Special Assignments:

  • Led a sub-team of 4 on a research mission to investigate the pros & cons of spline roads

  • Served on a strike team of 4 to design & implement the first track (vertical slice)

  • Became a terrain specialist for the overall project with a focus on gameplay; worked closely with the art team

Contributions

Main Contribution Areas

Track Design

& Level

Implementation

Terrain

Sculpting &

Painting

Research

& Quality

Assurance

Design & Implementation

Track Design & Level Implementation

Overall, I designed and implemented the map for "North Pole" & heavily modified the terrain and track for "Ice Caves;" I modified some of the terrain for "Glacier". On this project, terrain played a huge part in the overall gameplay.

 

In the early weeks of the project, I was placed on a strike team of 4 to design and implement the first map of the game: "North Pole"; this map would become the game's vertical slice map.

 

We began collaborating by each of us naming a feature we wanted to include in this map (banking curve, three way split, ramps, shortcut, etc.) and then we found a way to implement these ideas into a single map.

 

The most challenging part for our team was determining the length the track should actually be given that no one on the team had built a racing game before, and we did not yet know the speed of the player's kart; we only knew that the laps had to be under a set number of seconds, and it was a very low number. 

Top Down Design (North Pole)
Final track design (North Pole)

Once we had our design, we split each core area of the map into numbered pieces, and started to work in the engine. We began by building a sublevel for each area, placing a differently shaped object in each sublevel to identify whose sublevel it was, and by creating folders in the outliner to keep each person's assets organized. We pushed our changes to Perforce every few minutes. This system helped us to understand where our pieces were in the world space, how they fit in with everyone else's pieces, and if our track scale was similar to the others' scale.

 

This was the first time that any of us had used sublevels or Perforce; so we realized early on the error of our ways, and later restructured this outliner and sublevel system to be organized by type of work to be done (landscape, track, props, race logic, audio, etc.), instead of by the person doing the work or by some kind of quadrant location in the map. This allowed us to check out sublevels for extended periods of time while not impeding any one else's progress.

To make this work, we also divided tasks by the person; I became responsible for sculpting the terrain around the track for gameplay purposes while others were tasked with modifying the spline track's shape and connector pieces, adding race logic blueprints and checkpoints, adding pickups and kill volumes, or placing proxy props where we needed the art team to create and replace items.

In the early stages of the project, my terrain work was almost entirely focused on two critical goals: prevent the player from escaping the map and block sightlines where ever possible. I did this by creating mountain ranges around all of the edges of the track pieces, except for where the track hovered over other track pieces; for these, we used guard rails.

 

Because our game was set on ice and snow, we wanted the feel of sliding from the beginning; so, we used as few railings as possible (to prevent harsh collisions) and we hoped that the physics system would account for the penguin racers to slide down the mountain sides as they began to slide up the edges with natural gravity and slippery mechanics. 

Blocked Sightlines
Blocked Sightlines

press to zoom
Blocked Sightlines
Blocked Sightlines

press to zoom
Blocked Sightlines
Blocked Sightlines

press to zoom
1/2
shortcut jump (top left)
shortcut jump (top left)

This jump caused a lot of issues. I worked with a technical designer to ensure that this landing was perfect by altering the ramp values, adjusting the spline exit point, and modifying the terrain surrounding the area.

press to zoom
Ramp, Track, and Terrain Implementation
Ramp, Track, and Terrain Implementation

I spent most of my time on this map in the area shown in this frame. I had to reconstruct the ramp, the track, and the terrain here to achieve consistent quality across levels.

press to zoom
Ramp (top left)
Ramp (top left)

This particular ramp needed to gate the player. The terrain under this ramp was carefully sculpted to be at almost a 90 degree angle without texture stretching.

press to zoom
shortcut jump (top left)
shortcut jump (top left)

This jump caused a lot of issues. I worked with a technical designer to ensure that this landing was perfect by altering the ramp values, adjusting the spline exit point, and modifying the terrain surrounding the area.

press to zoom
1/3

In the "Ice Caves" map, I worked with a technical designer from the "North Pole" map to ensure that this map was built in a similar manner to the "North Pole" map for consistency

I spent about half of my time altering the edges of this track for sightlines, and the other half of my time reconstructing ramps and the track and terrain near the final stretch of the map; all of this work was specifically to impact gameplay for the better. 

I spent very little time in the "Glacier" map. The time I spent there was to fix a few ramps, smooth out some stretched textures on terrain, and fix areas where the player would get stuck during split track zones. This map circled around a giant block of ice that blocked sightlines by default, and the majority of the track was encased with a guard rail. The gameplay was rather solid by the time I reached this map. 

Terrain Modification

Terrain Sculpting & Painting

Drivable terrain
Drivable terrain

White snow near the ground indicated drivable where as the gray indicated mountains that were to steep to drive up.

press to zoom
Drivable terrain
Drivable terrain

White snow near the ground indicated drivable where as the gray indicated mountains that were to steep to drive up.

press to zoom
Drivable terrain
Drivable terrain

White snow near the ground indicated drivable where as the gray indicated mountains that were to steep to drive up.

press to zoom
1/2
Banked Curve

Since our track was made of ice and wasn't your typical road, we wanted the environment to feel organically created by the elements. In order to achieve this, we used terrain to widen parts of the playable area outside of the track.

 

An auto material was created that measured the slope of the terrain; if the terrain area was flat enough, it would create snow material, and when it was too steep, it would look like mountain rocks. In this manner, we conveyed to the player that snow on the ground was also drivable terrain in addition to the ice track. 

 

I used this strategy to create interesting gameplay. I would bring the snow up and over the track in some cases, and in other cases, I would simply add more drivable flat space; this was particularly necessary when creating split pathways with track connector pieces.

 

One challenge our programmers faced was figuring out how to bank the corners of the spline track. In the end, the leads decided that the track would not have banking curves made with splines due to lost production time.

  • After much discussion and prototyping, I was able to retain our large banked curve design by constructing the curve entirely out of terrain and keeping the paint on the terrain the snow color.

  • In order to make sure that player fully understood it was drivable, we placed pickups on the banked curve to serve as breadcrumbs. For further conveyance, we added boost pads to the banked curve.

The edges of the terrain were carefully smoothed and aligned perfectly with the spline track so that there was not even a single bump when they slid off the track and onto the snow. This was a tedious process requiring careful communications with teammates and constant review and iteration of every spline track in every map. The results were perfect sliding during transitions on and off of the spline track.

Using the same methods, I was able to construct ramps out of the terrain as well; this saved our artists from having to create ramp meshes. A blueprint was later added to the edges of ramps for improved physics effects that allowed our penguin karts to do tricks and create a more exciting jump.

Terrain Smoothing
Terrain Smoothing

press to zoom
Terrain Ramp
Terrain Ramp

press to zoom
Terrain Smoothing
Terrain Smoothing

press to zoom
1/2
Terrain Patch (Annotated)
Terrain Patch (No annotation)

Another challenge our leads faced:

  • The spline track was made of a narrow mesh rectangular piece with an icy material strung together mesh by mesh along a spline.

  • There were cases where the team could not get the track to be less bumpy and still make the sharp curve we needed it to make, which caused the player to experience turbulence while racing.

I spoke with the leads about this problem and ultimately determined that I could solve it with terrain patches that would seamlessly blend into the spline track.

 

  • I would create a single square patch of terrain and place it under the spline track.

  • Then I would raise the center of the square about a foot higher than the track and a foot wider than the problem area in all directions.

  • Then, I would smooth down the center until it was just a tad bit higher than the track itself.

  • Finally, I would smooth the edges of the bump in the same manner I smoothed the sides of the rest of the tracks. 

  • Lastly, I would ensure the material matched the spline track in texture. 

  • The result was that the player experienced nothing more than a  gradual ascent and descent over a small sized shallow hill. I do not even think most players noticed it at all. The texture helped visually blend the patch without visual notice as well. 

Research & Quality Assurance

Research & Quality Assurance

Our team began with a challenge: We had a smaller art team, and the leads were looking for ways to cut back on what the artists needed to make on this project.

 

I had done some prior research and discovered splines in general and the Modular Road Tool (MRT). So, at the start of the project, I pitched the use of splines for track creation to the leads.

 

I was placed on a strike team of 4 and asked to lead the group in a research mission to determine the pros and cons of using the MRT for track design. Other groups were tasked with researching other ways to make the track and assessing the risks and benefits of their methods (mod kit track, Unreal spline tool with auto terrain, Unreal spline tool without auto terrain).

 

In the end, I proved a strong case and came to the table with solutions for every risk our team stumbled across. Snowpainters would use the MRT tool for track production.

Every year, Guildhall students make a kart racing game, but Guildhall had never heard of using splines for a track before. After we began using the MRT tool for track design, I created an entire wiki page dedicated to spline use for level design (aimed at track design) for future cohorts to use. Now, Guildhall uses it for other kart racing games as well (i.e. Hex Rally Racers).

Later in the project, the art team was worried about making cave system meshes for the "Ice Caves" map. I suggested they take a similar approach as the track. So, with this in mind, they created a singular cave mesh and the programming team added a new array to the spline tool for this piece to act as a dome over the the spline track. The result was a spline that had an ice track, a guard rail, and a cave dome over the top of it. For the end caps, a glacial arch mesh was created that designers would stick onto the ends of the cave. It worked out perfectly. 

Research team planning
Spline tunnel
Blocking volumes
Collision volume and mesh

Near the last quarter of the project, I realized that the programming team was not going to deliver the physics we had initially hoped for. The penguin karts would soar right up and over the mountains and cheat the race.

 

With this in mind, I took a play out of the Unreal Tournament book and began to create blocking volumes around the edges of the track where there were no guard rails. I didn't align the volumes with the spline track; instead, I stuck them into the mountain a little to give the player a little slide room before it became too steep to climb; this helped to create a natural, non-abrupt feeling barrier.

 

The penguins still believed these barriers to be climbable so we had to tag them with a special "no climb" label and tell the karts that these were non playable volumes. 

Adding the blocking volumes was a lot of work, but it was a necessary task to ensure that the player or AI did not escape the map, cheat the race, or get stuck. I could have easily used larger blocking volumes, but I decided to do it right and contour them around the track so that the kart would slide across them gracefully when collisions occurred instead of getting stuck on tiny edges. After I began this process, other designers implemented this strategy into the other maps and I refine them later. 

I also added blocking volumes to the edges of guard rails and other places the player might get stuck. In all cases, I added mesh props in these areas to make the invisible wall look and feel like a more natural barrier. 

I kept all of the blocking volumes in their own sublevels so that this task could be checked out while not impeding others' work.

This process of adding blocking volumes required constant communication with other level designers. For this reason, blocking volumes were not implemented until the spline track and terrain was mostly in its final form.

What I Learned

What I Learned

This was an interesting project for me as I had one foot in the level design department & one foot in the art department for most of the project. I learned a ton about the terrain tool, but more importantly, I learned how important it is to ensure that leads know why you are communicating something to them. I was sure to communicate with the leads often, but it would have been even better if I explained in more detail - or showed them - why it was necessary to communicate that to them, & what I was hoping they would do with the information I gave to them (I had hoped they would relay it to another department's lead to avoid production setbacks & misunderstandings).
 
I also learned more about how seemingly small adjustments could cause unintended issues. For example, changing the material tiling settings on a blueprint when that material is used on several assets with & without a blueprint, or modifying a small piece of terrain on the track itself resulting in an AI pileup during gameplay testing because the AI spline was not also adjusted to compensate.

Track 1 - "North Pole"
Contact Me
bottom of page