Friday, 26 April 2013

First Submittal

Time flies, and time you need to work on something even more so. First submittal has snuck up on us, and we're all trying to compile our work. This is our last chance to get the tutors to have a really good look at our work, and our last chance to get some in depth feedback.

Most of my focus was on the rigging I've done, as that will go (mostly) unchanged between now and the hand-in.

The reel is missing a few features, ones that I forgot to mention if I'm honest. I haven't made mention of the variable parenting for example. Its long and ponderous, but I developed it mainly for the marking reel for uni, rather than my own showreel, though I will use elements from it in my final showreel.

Wednesday, 24 April 2013

Inspiration: Rockstar North

Rockstar north is one of the oldest and most prestigious games development companies in the world, as well as being the largest in the UK. Their Grand Theft Auto series is amongst the most popular in the medium, and they meet with critical acclaim upon every release. The studio was founded in 1988 as DMA design. Eventually the studio grew into Rockstar Games, and as they expanded and opened up other studios, the Edinborough studio became known as Rockstar North.

The Grand Theft Auto series is infamous for its violence and controversy, but also famous for its technological advances. As a frontrunner in open-world gameplay, Rockstar is often at the centre of gaming news with advances in engine technology which allow for a greater level of immersion.

Relatively recently they included a real-time character physics engine called Euphoria in Grand Theft Auto IV. This piece of technology seamlessly blended the animations of the team with physics driven motion, to create stumbles, falls, and allow previously complex motions like climbing steps to be more easily achieved.

Above all this, Rockstar values storytelling as their most important asset. This is key to their success in recent years. Their writing and animation is cinematic and pulls few punches on subject matter, painting a stark picture of the lives of its protagonists. Their games blend gameplay and story into a smooth whole, and I would love to be able to work on similar projects myself.

Monday, 22 April 2013

Feature Feature: Noise Jitter Controller

In making the heavy damage animation for the bark basher, I had to apply some noise to the torso as he strains to stand up. I could have done this with key frames, but that would have been both messy and time intensive (not to mention difficult to change). To get round this, I came up with a way of applying noise to the movement. Its probably not the best way, but it's pretty simple and it works.

Note: I didn't make the rig, credit for that goes to Hollie Sheppard, who did an awesome job in a very short time.

Okay, first thing we'll need is some noise. I simply used a noise texture for this, and plugged in the time node to the time attribute in the map to keep it randomized. This will give you random noise every frame, which is perfect for my straining animation, but not for smooth, slower noisy movements.

To start, open the Hypershade and go to Create > 2D Textures > Noise, this will add a noise texture to your graph. We won't need to create the time node, as its always present in every Maya scene. The easiest way, in my opinion, of getting it into the Hypershade graph is to get it from the Outliner.

To make it visible, you have to make sure DAG Objects Only is unchecked. This will show everything in Maya in your outliner, but you can type *time* into the filter to find the time node. Once you have it, select it and add to graph.

 Now connect up the outTime from the time1 node to the Time attribute of the noise texture. This will give it random values over time. The graph will look something like above. If the middle conversion node doesn't show up, don't worry, so long as the Time attribute value shows yellow, you know it's connected to something.

We could wire up the noise texture directly if we wanted to, but the values would be tiny, as they'd be between 0 and 1. So to give us more control, we'll want a multiply divide node in there. So go to Create > General Utilities > Multiply Divide. Now connect the outColor of the noise map to the input1 of the multiply divide node. This will let you scale the magnitude of the noise using the input 2 of the multiply node

To let us retain fill control, I recommend grouping the control you're planning on adding the modifier to, and applying the noise to that. That will let you still move the controller underneath as normal. Add a vector attibute to the group using the attribute editor to control the noise in X, Y, and Z. Now put this node into the Hypershade. 

Finally, we do a simple two way wire to set up the control. Wire the output of the noise node into the translate/rotate/scale (whatever you want to jitter) of the group node. Then wire the vector attribute you just set up on the group node into the input2 attribute of the noise node.

And done! What we basically have now is a noise attribute scalable in each axis. The magnitude of the noise will be equal to the random noise value (between 0 and 1) multiplied by the value you put into the relevant axis in your channel box control. The nice thing is that because this is keyable, you can smoothly scale the amount of noise applied up and down.

Sunday, 21 April 2013

Inspiration: Spicy Horse

I recently played through Alice: Madness Returns and I loved the blend of interesting storytelling, subject matter, and art. Developer Spicy Horse did an excellent job of blending all the elements of the game into a fantastic whole. The game was particularly inspiring for me, as it had a number of similarities to our own Echoes project. The naturesque environments with a surreal tweist are similar to our own environment themes, and the gameplay is simplistic and robust, getting out of the way of the art and story, which are the main draws of the game.

Spicy Horse is the largest independent western game studio in China. Based in Shanghai, the studio is a great coming together of cultural backgrounds. The studio has a mixture of western and eastern developers, all with their own take on the style. This allows their games to have diverse and interesting art styles.

In particular, I liked the way key features on the player character became a focal point on Alice. The dynamic skirt and hair really worked with the art style and made me excited about the possibilities opening up for complex dynamics in real time game engines.

Saturday, 20 April 2013

Wild Things

I've been working on a couple of creature animations, one for the bark basher, and one for the centaur. This is my only animation for the centaur, which is a shame, because its a cool model and a good rig. It is however, a very cool animation that I get to do. I've managed to snag the melee attack for the centaur. I had a few ideas about how to do it, whether it was hitting with the bow or punching etc. In the end I went for a rear up and kick, as it looks cool, gives him some height so it'll be clear in game, and makes use of the character design. At the minute I like it overall, but there's some thigh jerkiness, and the landing feels very odd. I need to restructure his land, and tighten up the lateral movement to make sure it all looks natural.

 I've also been working on the Bark Basher. My final animation for him is the heavy damage animation. Basically, when the player does enough damage he collapses to the floor so you can go around and hit the crystal on his back for massive damage. At the minute its very rough and snappy, and it looks quite robotic. The attempt to stand and fail was good fun, and I learned how to set up a noise controller in Maya, which was good fun. I'm going to simplify, slow it down and smooth it out, then go from there.

Monday, 15 April 2013

More Dragons

My other animation for the dragon is the climbing. This should occur after the dragon lands on the trees. They should hit the tree, idle for a while, and then either fly away or climb up to a higher point. This animation isn't guaranteed to go in though, as it'll be up to me to make a judgement on whether that aspect of the dragons' behavior is worth the time it will take to implement. Hopefully it will be worth the time, but if I can have a greater impact working on other areas of the game, I will.

I'm quite happy with this one, its not quite finished, and it needs a lot of secondary on the tail adding in, but the overall movement seems to suggest climbing. The wings also feel slightly robotic, as they stick to a fairly consistent sideways translation, which could do with adjusting.