Saturday, January 28, 2017

What's Next?

So work is mostly hush hush and I won't be talking about what's going on.  But aside from that, I've decided to revisit an old personal project.

There is an anime called The Sacred Blacksmith and I began a personal project a while back to recreate the home and forge portrayed in this anime in 3D.  I have been heavy into 3DS Max and UE4 for the past 4 years that I have become rusty in my Maya use.  That, and I became interested in trying out Unity.

I already blocked out the scene Maya and tested it out for scale in Unity.  But I didn't go very far with it.  I'll be diving back into it and seeing if I can get the exterior to a good place before working on the interiors.  However, Unity is a pain.  I'm not a scripter, so the lack of a material editor like in UE4 hurts a lot.  I guess I've been spoiled by UE4?  But I did keep going.  Learned how to handle lighting, understanding how post process works and the basic fundamentals.  I even dabbled a bit into Playmaker.  After about 3 months in it, I admit, I'm still favoring UE4.  So it is very likely I will be changing gears and bringing my scene into UE4 which I am professionally familiar with.  Will I go back to Unity?  Very likely, just not right now.


The above is the house in the anime and my aim is to recreate that, the forge, the river, the bridge, the foliage and land all in UE4.  It is likely that I'll have a few versions.  One similar to the anime in the day, one at night, and  one more gamified with deterioration and signs of abandonment.  But we'll see where I end up.  I might also just be true to the anime then look to a new project to pick up.

Unlike my portfolio work which is targeted to mobile platform, I am going to be developing this scene for pc/console allowing me to really go wild (not too wild) with post processing, real-time reflections, translucent cards and foliage and so on.  Time permitting, I may even setup a FPS actor, allowing movement around the scene and into the buildings.

As I work on this I'll be posting updates.

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.  

Career Recap, Part 1

So it's been a while since my last update.  I have been working at Industrial Toys on some mobile game projects and decided now would be a good time to revive my blog, starting with a recap of what projects I've been working on.

First and foremost, I was hired as a 3D artist during the development of Midnight Star for iOS.  Below you can find the launch trailer with some gameplay footage:


This game took around 3 years to develop with me working the latter 2 years helping to put together everything from allied characters, enemies, weapons, environments and even dabbling into optimization for performance on mobile which was a first.  This included working on reducing shader keys, simplifying materials, adjusting resolutions of textures and learning how to setup ini configurations by device.

This game was developed in UDK, and I used 3DS Max, Photoshop, xNormals, and 3DCoat.  xNormals and 3DCoat were used in retopologizing the character meshes and baking out normal maps.

There are so many pictures to post but I will only be posting a few with some description of it.



Above is one of the very first shots when the game starts. Because th is was back in 2013-2015, devices weren't as powerful as the iPhone 7 or the Samsung Galaxy S7.  We had to really cut back a lot to have the game perform within acceptable limits on supported devices which did cover a range of older devices.  For instance, all textures  had a max limit of 1024 and those were only for characters.  Environments were kept at 512, particles even lower.  In addition, we didn't make u nique texture atlases per mesh asset, but rather, a modular texture atlas that several assets could use.  So UVs were cutup so that they could make use of the appropriate texture on the atlas.  

Below is an example of one of our texture atlases.



The arch in the picture above uses 2 textures.  One for the "feet" area where grunge was painted on, one for the rest of the body.  For the UVs to be cutup so that the look could be obtained, we had to cut in the geometry.  The gold lines, the dark underside lines were all cut in with geo first, UVs were detached and placed on the atlas.

Because this is for mobile, we found ourselves relying more on geometry to get the form we wanted since normal maps would be too expensive to make use of.  There would be more texture fetches, higher shader instruction counts, higher app size, all of which we needed to keep low for this game.  The only exceptions were, of course, the characters and weapons.  


Other than environments, I also did work on characters and weapons.




Now the two above are not beauty shots, obviously, but just to show some examples of what I worked on.  For example, the first image is an alien shotgun.  The modeling, UVing and textureing work was outsourced, but the blue camo pattern and additional polish/optimizations were done in house by me.  
The modeling and texturing for the character Cromax was outsourced, but I did the retopology of the ZBrush mesh, improvements to the UV layout and baking out diffuse, normal and specular textures from the ZBrush mesh using xNormal.  

Admittedly there were ups and downs to the reception of the game, but I was happy to be able to work with a bunch of great people.  While the USC game gave me a jump start into wh at it would be like to work professionally as a game development, this was my first real professional success in the industry.