Wednesday, December 18, 2013

Marmoset 2 Material studies

Hey guys, was doing some quick materials studies on an umbrella to test out some of the features of marmoset 2.  Mostly if they have the same limitations with depth of field and translucency. Unfortunately they do, but outside of that the program is very very strong and much better to use than before. Here are some screens:

Tuesday, December 17, 2013

My thoughts on first glance at Substance

Hey Guys,

So a few days ago I met up with the guys from Allegorithmic on my to look at adopting some of their pipeline for my own art. I ended up getting a complete walk through of Substance Designer 4 and the Substance Painter Alpha version by some of their tech guys and figured I would share some of my own thoughts.

The substance designer is a neat piece of kit. The idea is you make core materials (from cool noise generators or textures), then plug in a mesh, and a normal map (and maybe extras like a height map or world space normals, ao, cavity, etc) and use a node based system to get your final textures (it can figure out spec, gloss, diffuse all together). The neat part is that you can swap meshes and textures and get the same quality and material definition on a bunch of different assets using similar techniques (like making 150 guns really quickly). Non destructive workflow seemed to be pushed hard as well. If your AD needs one of the metals recalculated to have higher spec, you can batch export the materials all at once. It is also ready for version control software like perforce. The whole thing is built ready for physically based rendering, and supports custom shaders  (glsl) and channels.

The painter (which flaunts the new and fancy particle painting system seen here ) was also very cool. On the surface it features all the basics you would expect from a painting program, but with 3d painting on the forefront. You can paint layers, etc etc, and even paint in different channels based on materials (like painting gold material on a part of a model which automatically paints in the right gloss, spec, diffuse, etc). You can set up custom channels and pull materials right out of substance. One really neat thing is that nothing is ever rasterized. If your AD needs to change a material that you painted before layering up damage, overlays, etc you can update your model and not lose any work.  Finally the particle painting was neat, especially for explicit textures. Setup and adjustments of your own seemed very similar to basic scripting that sets up custom parameters for the artist to tweak.

Anyway, it was a cool meeting and I plan to check out the personal version myself. Here are some final thoughts/TLDR

-Targeted at AAA pipeline integration, used already in quite a few places

-Substance makes making lots of the same final textures easier by automating the material masking
-Priority of benefits is Productivity>Overall texture size(not run time) > actual runtime benefits (there are not many)
-the painter is looking to be a strong 3d painting contender
-particle painting is useful for explicit details

Some final thoughts:

For me personally, I think that if I were to tackle a large project or environment on my own (with some ready defined materials, it would be great. The painter I cannot wait for but I have yet to work with Mari much so I cannot say how it competes. 
It will however stay in the back of my mind for later :)

Monday, December 9, 2013

Ways to make a tree

This weekend I spent my time trying to settle on the right approach to making the trunk. My options in my head, and conclusions were this (keep in mind this is for a base mesh, not something to bake a normal from):

Speedtree -> don't own, cant export from demo version, UDK only viable for now, that one is out

Hand model -> viable, but slow, unwrapped can suck

Zbrush -> doable, but fine branch work gets tricky and slow

Paint effects -> control is limited, but has good UV options

I spent my weekend trying out each option and decided to get a test mesh in from both zbrush, and from paint effects. The zbrush one turned out alright, but was not worth it's time at all for the final shape (something I could have hand modeled in no time flat).

Something of interest to note was that decimating a sculpt to put my texture on, did let me fiddle around with what differences geo levels made. I tried 2 meshes, one at 1k tris and another at 4k and noticed that because I was rendering with tessellation, the levels made no difference. For my paint effects attempt, I kept things super low (especially on the smaller branches) to see what kind results super low poly work would bring in.

Again, it was all tests. For the most part I wanted to learn about different workflows and experiment with finding something that worked. My final call will be to use paint effects. Honestly the main reason for this is converting paint effects to polygons in maya makes for a UV perfect tree (a HUGE time saver). Looking at what I had at the end, there were some things to take note of:

-4 divisions is just too small for medium branches
-My texture is effective at certain scales for covering up mesh intersection (a big worry of mine)
-Variety in model silhouette can hide lots of repeating texture-ness (a real world I swear)
-Tessellation breaks down a bit with a global scale on tiny branches. I may make a non tessellated material for those branches.
-UV scale can change a bit between branch sizes but the small branch sizes need a smaller UV scale in general to get rid of some of that ugly noise.

Anyway tomorrow night Ill make my final base mesh pretty quickly (probably keeping it as a paint effect so I can add leaves through that method later) and move forward from there (I'm thinking twigs and leaves coming soon).

Friday, December 6, 2013

Finished Bark Texture

Hey guys, wanted to show the finished up bark texture. Tonight I took the information I learned from my lookdev before and used it to really polish up my final texture. First, I made the texture tiling, giving special attention to the final tile rate, as well as logical break up of space that doesn't draw the eye one way or another.

From my first test, I knew one of the biggest things I needed to do, was adjust the values and browns to make the bark feel more natural and saturated. I also knew what I wanted my final normal map to look like, and roughly how much information I needed in the height map. With final rough examples that was made fast, I was able to complete the entire final texture in far less time. A good lesson worth noting for the future. Test fast, learn and speed up your process with what you learned.

The final renders turned out great, and I may post some pics in the future with the Marmoset Toolbag 2. Overall I am pleased with the texture, and the micro detail holds up incredibly well (smart mix of normals and tessellation) Below are the final textures, and some beauty renders :) Tomorrow, comes making the tree itself!

Highrez Links Here:

Tuesday, December 3, 2013

A return, and some fun pics

I am happy to say that after a few month haitus, I am officially back :)

Daily paintings will return (soon) as will more sculpting, and work on a few new projects. Tonight I spent my time doing some visual studies on a wood texture I was going to start soon.  The texture will (when done) be a tiling wood texture. Before I started though I wanted to get it in an engine (I chose marmoset for now) and see how different values held up and matched with lighting.

I chose 2 default images from marmoset (the forests) and one of my own (closer to my final image) to test out what I thought could be some of the final lighting. For the most part I was looking for darks that were too dark, and lights that were too light, as well as how the value range was getting shown once the image based lighting was hitting it.

The other thing I was doing was some testing with techniques to remove lighting from photos, as well as some fast normal creation techniques, and how they played with heightmaps. For a few hours play, the results were pretty good!

High rez link here:

Thursday, October 24, 2013

Crunch Time

While its not always a fun thing, I am currently crunching to my hearts extent (read: voluntary, to make a kickass game) on Infamous Second Son.

Needless to say my hours at home have become even less, so the personal art has without a doubt slowed WAY down.  This will probably continue for a while, but not forever. In the meantime, behold a crappy 10 minute zbrush doodle!

Monday, October 14, 2013

Minecraft shaders and some updates

*EDIT* Just to be clear, these are not my shaders. I have done post effects and surface shaders in the past, this is not them. This is from the glorious minecraft community, credit goes to them

Hey folks, been a while since I typed or shared art. The unfortunate truth is between some medical stuff and crunching at work, I have not had as much time as I would have wanted. That being said, it wont last forever, sand I wont be stopping at all, just slowing down.

I did want to share some fun stuff I have been playing with. Below are some screenshots from my modded copy of minecraft featuring some fun GLSL shaders.  Its amazing what is added with some shadows.

Being a long time minecraft player, I was impressed with how much this added back to my experience (though some of that wonder could be that I switched to playing Hexxit, a more pve based modpack built on top of the technic launcher).

There are a decent number of shader packs out there ranging from features and performance. Here are some of the features I have seen:

HDR Tone mapping
Dynamic sun/moon shadows
Toon shaders
Custom lighting models
Adjusting of time of day lighting
Screen space water reflections
vertex shaders for ripples in the wayer
AA and AF
Basic DoF
Sun lens flares
God Rays
Motion blur

Overall, I would say the water reflections, shadows, and some of the tonemapping truly add quite a bit to the experience. The reflections and the shadows ground the world a bit more physically (while the DoF can add even more it gets a bit nautious at times), while some of the color adjustments really help with some crazy mood adjusts. Check out these screen differences between the different shader packs:

My favorite has got to be the bottom left. Tuning down the influence of the lights was a great way to increase the mood, and the saturation of the warms and cools really adds welcoming feel to any light source in a dark area. Note taken for later:

Anyway, just some thoughts. I really need to pull some of these together into my own custom pack.

Wednesday, October 9, 2013

Daily Painting #108

This one was more of a  concept piece for a space Ill be working with. Highly unsuccesful and capturing nearly anything I want. Definitely made me realize that while my painting quality has improved, long way to go.

Monday, October 7, 2013

New narrative project

Hey folks, wanted to share some exciting news. Officially starting a slightly larger narrative project. This will be a short interactive experience in the UDK (at least for now). More coming soon (some concepts, etc) but for now, doing short functionality tests within the udk. Here was demo 1 :)

Test list is as follows:

Brief kismet functionality. Following features tested:
-Conditional touch triggers
-Conditional LOS triggers
-Triggering material changes
-Testing jump movement of audio source
-Importing and testing audio and attenuation linked to specific audio sources
-Packaging a basic level, recording footage with audio

I should note that while I will attempt to prevent this from affecting my daily paintings, I am also crunching  at work, so there is no promises (its why I have missed the last few days). Also some paintings may get replaced with concept images


Thursday, October 3, 2013

Daily Painting #105

Hey guys, missed a day, due to work. Things will get kinda crazy as we ramp up our crunch but I will attempt to stick with it. More technical stuff on the way though :)

Tuesday, September 24, 2013

Back! With an update: The Stanley Parable

Hey folks,

Its been a crazy couple of weeks, and between games coming out that I wanted to play, and things heating up at work, I opted to take a full 2 weeks off of my art, have some personal time, and relax (read: work more).

Anyway, those two weeks are up, and I wanted to talk a bit about playing the Stanley Parable. A great Half Life 2 Mod. Forwarned, if you have not played it SPOILERS AHOY. I truly encourage everyone to check it out. Its free with source 2007 SDK and not long to play, but a great experience none the less.

More about it here:

Ok. So hopefully by now you have played it. I won't be summarizing it much, but I will say it is a short multiple choice narrative experience where the player must choose whether or not to interact with the narrator.  I actually went in expecting the game to be something completely different (I went in and played it completely blind). I was pleasantly surprised by 3 different aspects of the game, and those are what I wanted to talk about here.

First, what caught me off guard, was the state of the experience in terms of presentation. When I say the it was a mod, I truly mean it. The world is bsps with tiling HL2 textures thrown on there, and a few props scattered around. Not much more. I was actually expecting something much more visually. The thing is, it wasn't really needed. The experience was such a good one, and the message was so well delivered that literally everything else wasn't necessary. No good lighting, composition or anything. Now do I think that it couldn't benefit from it? That's a different question, but what it did remind me of, was that narrative is and can be it's own pillar. Someone could sit down and explain the narrative of a good story without any game, and it would be just that. A good story.  It was a good reminder, and it got me really into the writing mood. I ended up chasing that idea with a friend of mine, but that's another story.

The second thing that threw me for a loop, was the actual narrative focus. What I was expecting was a brilliantly told mind fuck of an experience, maybe something like Antichamber, but what I got instead, was relatively simple writing with good jokes. The thing was, the jokes hit home super well, and the contextual delivery made things ring even more true (nothing like making fun of choices in games by having the player make them, then mocking them for it).  It was a breath of fresh air in an age where many narrative games push for a higher narrative, and forget that even simple things, done well, kick ass.  Gone home (another topic coming soon) is a great example of that.

Finally, the last surprise was the enjoyment factor. I was expecting to be tested, or forced to use intellect, but what I got instead was, to me, a ride. A short narrative based experience that left me thinking (and it really did). It was the second title I have played recently that reminded me how much I love narrative driven interactive experiences. That idea will probably influence me a lot in the years to come, especially as I start to tell some of my own stories. I would challenge people to think about their own favorite stories in games, and ask themselves how they would hold up with no gameplay. Would the story still have weight? I know it made me think quite a bit.

Anyway, that's a short update. Paintings start tomorrow, and I have some new look dev exercises to get into (aside from the render analysis stuff). I will also be starting work on a new fun shader trick to share with everyone, as well as do a quick writeup about my paintings so far (long overdue)

Bit of a long writeup, but I'm back. Full speed ahead.

Thursday, September 12, 2013

A bit of an update

Just wanted to say that for the next few days, posts will slow down as I work on some more intense stuff at work, and taking a bit of a break after the 100th painting. Still, lots planned


Wednesday, September 11, 2013

Daily Painting #100 And some thoughts

So around 4ish months ago I started doing these daily studies. Today marks the 100th set of these, and something somewhat special for me looking back on what I have done. Today's painting took a bit more time, but more thought went into what I made, with specific effort to some of the things I have learned over the last few months. I know that it's taken more than 100 days, and I have, to be fair missed around 4 weeks worth of paintings due to crunches at work and other various commitments. Sometime in the near future I will be posting a bit more from the start, and to talk about what I have learned so far.

Anyway, above is my 100th set of daily paintings. I am pleased to get this far and by no means will stop!


Wednesday, September 4, 2013

LookDev Analysis #1

LookDev Analysis #1
(Portal 2 Spoilers)

High Rez here

This is a practice exercise I want to start doing more and more as I go forward. Essentially, what I am trying to do is look at screenshots from games and movies that I enjoy and am familiar with, and break them down a bit and look at different elements. Those elements will change depending on the shot and my conclusions are my own, but always welcome to discussion. I would encourage anyone with their own opinions to contact me and chat about it :)

Here is a quick breakdown of what I see in the above shot :


At this point in the story Chell (the player has fallen to the lower and older parts of Aperature Science. This is helped reinforced with the older 80's style logo change from the Aperature that the player has seen so far. Overall the scene is a mix of browns and blue/greys which I think helps to instill calmness in the player to help reinforce the sense of exploration which is taking point at this part of the game. The browns and grime help reinforce that the area hasn't seen light in a long time, and the traditional Aperature white help show that the area is still Aperature through and through.  The blue also is used slightly as fog which could be to help hint at a larger space, or that the area is bigger than it really is (sometimes a goal in confined play spaces, and something Valve is very successful at).


Compositionally I think this is a strong shot. I cannot remember if this shot is pointing the way of the gameplay or not, but the high contrast of shadows and light help direct player view towards the recognizable logo (establishing location further) and to a lesser degree, towards the area of interest (the white walls which are important to gameplay, and the platform which the puzzle is integrated too).  The noisy ceiling helps bring the player's eye down to the central part of the room, and the relatively strong contrast lines help establish the space everything is taking place in.


The lighting here is a great example of the source engine used well. The main shadows and light create believable play in the main area, while darker shadows blend into the less important background elements of the scene. The bounce lighting and environment mapping does a nice job at making certain details really pop, adding value to the geometry in some of the piping while the nice blend of materials on the ground creates seamless transitions between varying colors.  Bloom is present in this shot, but not overdone, and creates just enough of an effect to push the realism of the scene a little farther into surrealism and wonder without overdoing anything.

Favorite Aspects:

Personally the backwards words give viewers just a little bit more thinking to do before putting all the pieces together. I also do love the lack of true functionalism in everything Aperature. Pipes, but for what? Scaffolding, but not for anything specific.

Anyway that was LookDev Analysis #1. Probably going to do a couple of these a week on top of everything else.

Thanks for reading,


Thursday, August 29, 2013

Daily Painting #95

High rez here:

Personal Update #1 Brainstorming Narrative and Gameplay

Hey Readers (or anyone really)

I wanted to give a bit of an update on myself, what I am doing, and where my brain is.  Recently most of what I have been posting has been paintings. I will be continuing this into the future, but I have also been preparing for work on some form of interactive side project.

Recently I have been talking with friend of mine about narrative and gameplay, and how they should interact. Here are some thoughts on what has been going through my brain.

We have been talking, specifically, about the idea that gameplay and narrative can be developed, but only in 3 broad ways. The first, is that both are 100% separate. No interaction at all. This is obviously the easiest solution where a mechanic can have nothing to do with the world or story trying to be told.  The second, is that the gameplay comes directly from the narrative. A good example would be super powers in the Infamous games, where the powers in the game tie directly into the universe the game is set in, because the story and universe is about super powers. This is ideal because when the player "plays" the game, they are reinforcing the overall immersion of the experience.

Unfortunately, the drawbacks come in the form of restrictions. Usually choosing this option means you have to sacrifice more and more of the environment and narrative to make things make sense, or alternatively sacrificing gameplay to fit into your world.  Finally the third option, is one of the opposite of the previous, where narrative is formed around gameplay. A cool mechanic (like surfing dreams for example) is a neat idea, and a story could be written to form around that basic idea, rather than vice versa. The downside of this technique means you usually very limited in the types of narrative you want to do.

Over the last few days, I have been thinking lots about the various blends between these ideas as we (me and my friend) have been trying to find a mechanic that really fits our narrative (which we have a pretty solid idea of). On one hand, the easy solution is the reason we see so many disconnected puzzle exploration games, where the "game" part sits separately from the "narrative" part. Once you decide that you want the mechanics in your game to really tie into narrative, it becomes a creative quest to try things out and push out from there.

Anyway, just some brain blots as I continue forward. I should be starting a new weekly render analysis to break down some visuals from well known stories, and will also be posting some more technical work as I move forward.

Thanks for reading,


Daily Painting #94

High Rez Here:

Thursday, August 15, 2013

Daily Painting #87

Daily painting, plus a quick attempt at painting over a photo because why not

Monday, August 12, 2013

Daily Painting #84

Some Lighting Paint Overs

A few weeks back I was helping my friend with some personal art he was doing, specifically helping him tune in some materials, as well as giving him some pointers with lighting in an effort to add a bit of mood and narrative. Here are the paint overs:

Edit* The original had no paint, only hte center cable, and only one light source from the right. While the image came out bloomy (my bad) the extra darks and lights added contrast to the scene that wasn't there before, both drawing the eye to the areas where the darks and the lights met, as well as giving more complimentary colors to a more desaturated style.

Sunday, August 11, 2013

Daily Painting #83

Blend shaders within the UDK

Quick post here, just wanted to talk about some shader work I've been doing within the UDK.  Recently I finished up a multimaterial blend shader that support 3 full materials, each with Normal, Spec, Diffuse. The 3 materials are painted with the R and G channels of vert colors for meshes, and blend based off of height maps.

While I was doing this shader (for a friend) I wanted to push the tech even farther. I optimized texture usage by storing Gloss and Height within the Diffuse and Spec, and added support for ambient spec and diffuse through the emissive channel. Recently I figured out how to blur cube maps within the UDK based on Gloss, and I used the surface gloss values to define the sharpness of the ambient spec. I also used the lowest level of the mip chain of the environment cube map for the ambient spec.  All of this is entirely artist controlled.

Another feature I chose to include was a puddle that blended off of the Blue vert color. All the vert blending was set up on a tier of priority, with puddles at the top, allowing artists to paint whatever material they want, then have puddles on top.  The puddles darken the diffuse, have optional ripples, and have their own spec and gloss values. The puddles also dampen the normals of the underlying material, but even that can be controlled allowing artists to create the illusion of both wet, or full puddles.

For a last trick I used the same blurring technique for the cube maps to blur any of the hightmaps from the other materials and the puddles.  This was a super effective technique, since some height maps can come across super harsh, and blurring them adds realization.  It also allows for texture re-use to save on memory.

The biggest problem I ran into executing this last trick was the same problem I ran into blurring the cubemaps: To go down a mip chain on a texture in UDK, you have to use a custom HLSL node and the tex2dBias intrinsic function (or texCubeBias for the environment map).  The catch is the input for those commands are a texture sample, which is not accessible by placing a texture node in the UDK. However, if you connect a texture node up to a chain (and have it impact nothing, ie multiplying it by 0 then adding it back into the chain) you can pull up the source code, and track down the procedural tex2d Sample that the UDK generates, then use that for the actual tex2dbias command. It is a bit of a hack, but it works very well.

For performance, the final texture count was relatively low. The packing the gloss and height, meant that for 3 materials, only 3 textures were needed for each, bringing the total to 9, plus 1 texture twice for the ripples, and 1 for the environment map. The instruction count came in at 160, which is a bit on the high side, but can be lowered by turning off the ripples. I also made a lower instruction count version that only supports the puddle painting, which came in at 100. Not a bad price for something that supports ambient lighting but still works well with UDK's lightmass.

Overall it was a great experiment and will be useful in the weeks to come :)

Tuesday, August 6, 2013

Why I paint every day

I get asked this a bit and the answer is pretty simple.  I am not looking to become a master painter or amazing concept artist or anything like that. Currently I paint every day to learn enough that it can be my tool of choice when visually communicating things like composition, shape, color, or visual narrative.

Where I stand in my skill set right now, I communicate the best through 3D environments, however making said environments, even in a basic form (and then iterating on them) is not always a fast process. Painting to me, is great because its fast and simple. So for right now, that is why I practice. I also feel it is similar to cheating at art because for 40 minutes a day, I get to practice lighting, composition, painting, and narrative all with one simple set of exercises. It also acts as a personal creativity dump where every day I get to stretch those muscles in my brain that don't get used at work (where I work on an established franchise with others).  It feels great to tell 3-10 little stories every night and know they are my own.

Daily Paintings #80