Tuesday, July 5, 2016

What I Learned from S.A.M.

Play S.A.M. (Software System Mechanism) now available on your Android mobile device

S.A.M. was launched May 11, 2016

A team of 10 made our Most Viable Products (MVP) list and went to work to produce our first game in six weeks! 

Building S.A.M. was quite the learning experience and here are the top 3 things I learned about working to developed a video game, dealing with a team and deadlines, and adapting to every problem.

1. Play and Test your game ASAP
    Everyone needs to be on the same page when designing a video game. Understanding how the game will look, feel, and play. Making a prototype of your game is essential; especially for my position as a programmer. My first time cramming knowledge of C# was from forums and YouTube videos. I was overwhelmed from the start, working in not classic art terms, but making art work by writing knowledge for it. This was the absolutely best rewarding sensation I have ever felt throughout my time learning at school. None the less it was a challenge that enthralled me to learn more and has shown that I can deliver for a deadline.

2. SCRUM and Teamwork
    Making games is a business; making money to fuel our creative dreams. SCRUM is a visual way to understand what we need to do in order to make this game real. Organization and communication is key for game development and with SCRUM it is easy to see what each individual is doing.
    However there will always be people who don't support their own weight. Should you fire these people? Give them second chances and risk wasting everyone else's time? There is a deadline that needs to be met and a director cannot be afraid to tell someone that they are screwing everyone else involved. The director for S.A.M. on the second half of production, was falling off the development process and someone needed to step in. I stepped up and reminded individuals that this game needed to be released, talk about assets we needed to agree on like music. Get everyone focus again and make sure S.A.M. launched on time and it did!

3. Adapting to the Problems
    Just because there is a problem and you can't understand it, doesn't mean anything. Every problem I encountered, I had little idea what the error was. You have to learn and make sure you don't repeat your mistakes, even if it costs production time. Asking my programmer buddy (Mike) first then straight to the internet; Unity forums, YouTube, Google etc. As time pressed on, errors that kept popping up became familiar and I could look back in the code quickly and identify any issues, like NullReferenceExceptions for example. This C# error at face value makes no sense to most. With researching and learning, over time this became a no brainier and I could easily fix the problem. Like <GetComponent> Collider instead of target.Collider. No problem, it might be too big to understand at first, but you have to sit down and research/learn it. Think and apply your ideas, fix your problems, document to remember and study later!


Wednesday, December 16, 2015

Biped Rig - Marine

After making multiple simple rigs for doors, gates just two legs etc. my first biped rig; The Marine. Marine has both FK and IK rig setups with switch joint chain setup, reserve foot chains, organize outliner, correct naming conventions. Learning to rig is tedious but its unlike anything else, it is the one of the most rewarding aspect of 3D art! Taking a model that is static and to most people just a thing to look at and throw away. With rigging, you see this lifeless model develop a skeleton system and have the power to breath life.
 Here is a few screen shots of the controls of the Marine.

And here is some poses of the Marine 
First the Serious Pose (Boring)
 And the Wacky Pose! 

Monday, December 14, 2015

Why should you care about Joint Orientation?

The human body has multiple joints that allow it to articulate properly; shoulder, elbow, knee, neck,  etc. Building a biped rig skeleton is easy to understand where the model needs to bend, allowing proper animation, or whatever design you desire. The key component for building this biped, in fact for any rig is proper joint orientation! 

If you bend your leg right now you can see the knee is the main joint allow so much articulation (translate, rotate, [I wish scale]) between the ankle and the hip. 

Joint orientation is the date value within the joint and that data is really important when building a proper chain. Once the chain is constraint and parented to complete either leg or arm the chain will bend a certain way. Whatever way you want it to bend depends on what the joint orientation is. 

These two joints are both of the IK chain which originates from the exported skeleton (Original Joint Chain). The LLeg_IK (left) is the start of the chain and LAnkle_IK (right) is in the middle of the chain. As you can see the start effector joint has multiple orientations and is safe to have! However once the chain is build there has to be a single orientation with value, while the other two are empty (0.000). 
Once you build the chain then you have to decide which singular orientation to use. Usually your joints will tell which way is easier, either Z or Y mainly, however this is maya; you can do whatever you want. 

Bad Joint Orientation, that would be very for any human to even see!

Nice flow this robot has :D 
Always re-check your joints, this is the first step of any reg! Literally the first! If you mess this up NOTHING will work properly. 

Conclusion Statement: You better check yo self before you wreck yo self 

What is Skinning and can You Avoid it?

Right off the bat, no you cannot avoid it...


So what does skinning even mean to a tech artist? Either the most dreadful part or the easiest part of rigging your character. Skinning is when you take your joint skeleton and bind it to the geometry (the skin) and paint on your model. By painting you literally control joint influence throughout the geometry. Joint influence will spread throughout your model and it will make no sense, fortunately its super easy to correct your stupid joint influence.... PAINT AWAY... *cough cough comment editor (CE)* 

As you can see above the joints have influence ALL over the place We want the joints only to influence a certain area, for example the joint for the hips should only influence the area around the waist; we do not want those joints to influence anything else, yet this one joint is affecting the arms and legs! 

Here is another, yet clear example of this crap! Wrist joint affecting the lower half of the torso. There are two tools to correct this, one of them as you read is my favorite, PAINT THIS MAN. However this will not do the job of completely fixing the skin. You will need to use the component editor, the CE at first looks like nonsense and what do you even do in that window O_o 

The component editor is an easy to use and this will execute your rig to perfection! CE in graph sheet form shows all the individuals values of each joint you select and what it is influence by; hundreds of decimals values. Using this to make the joints rooted/destroy any joint influence, component editor is a powerful tool that is tedious but necessity... like all of rigging.

Last of Us is grounded in realism, nothing is more fake than people moving with fake muscles! Everyday everyone sees another human moving the face, hands, body movement, even the weight of any person is identifiable. Seeing two grown males fight it out the death is an intense action scene and this event in Last of Us feels real. The body moves clearly and cleanly, the power in the arms to the subtle changes in the face; a rigger gave an animator this ability!

Last of Us also push hard to have subtle animation, something new to build a real life threatening story. The slight eye twitch that moves her eye brows and eye lids. Flaring of the nostrils and tightening of her lips really emphasize on the emotions of this scene. Too the strong and big animations to tiny and meaningful animations; all executed by skinning.