Saturday, January 28, 2017

Career Recap, Part 2

So after the launch of Midnight Star, there was some internally chit chat about what to do next.  The end result was a game that would take significantly less than 3 years to develop.  We wanted a game that wouldn't be as big (app size) as Midnight Star, performs better and includes solutions to the flaws that Midnight Star had.  The end result was Midnight Star: Renegade.


However, as we later discovered, it was by no means substantially better than the first Midnight Star game in performance.  This is what happens, you learn things as you go and sometimes it can really have an impact.

This game almost completely eliminated the need for textures.  I say almost because there are still particle textures, textures for objects like asteroids, planets, decals and the like.  So textures had very low footprint in determining the app size.  Nope, it was the materials.  We were all unaware of this until much later but lit materials start off at around 2mb per material.  Start adding in texture samples and mathematical calculations and it can reach up to 4.5mb or more.  We had master materials in the 4.5mb range and every single material instance we made were also 4.5mb.  This quickly became the culprit and our app size, though less than the Midnight Star game, was still above what we had hoped.  Hooray for learning stuff!

On this project, I was the Senior 3D Artist will stronger responsibilities in the area of optimizations for performance.  I essentially took control and managed texture resolutions, how we author/pack textures, material creation, draw calls, vert count, the list goes on.  Anything that can be optimized on the art side were things I had direct control and understanding of.

Like with the first Midnight Star game, I helped develop art content for environments, characters and weapons.

Legendary Barrier Armor

Legendary Barrier Pistol

Challenge Mode Environment
Unlike in Midnight Star, for Renegade, I was involved with everything from the idea generation and prototyping stage all the way to shipping.  You can see in the images we didn't have base color textures for the assets.  All colors were controlled via vertex color assignments in 3ds max, then manipulated in UE4's material editor with a vertex color node.  

You can also see that the poly count is high.  Again, we decided to keep textures low so normal maps were out.  The details were modeled in instead.  We did have a decal texture sheet, several in fact, which were overlayed on top of the vertex color nodes.  We included customization in this game allowing you to swap out the pistol grip with a different manufacturer's grip and so on, so when looking at poly count, it's more about the individual part than the part of the whole.  The whole depends on what parts are attached.

You can see also in the environment that we had almost no textures.  The sky was UE4's default blueprint sky, but you can see the use of a unique texture on the energy bars which was reused multiple times. Everything, from environmental assets to characters and weapons, made use of this vertex coloring approach.  

In addition to developing the art content and optimization, I also helped with post process effects and lighting.

In the end, I definitely enjoyed making this game more and the feel of the game was more to my liking as well.  

No comments:

Post a Comment