Monkey Feet is an engaging 3D game. A cute monkey, the main character of the game, is made to bounce a football using its multiple body parts. The gameplay sequence is small but full of challenges. As per the game requirements, these challenging features are achieved by clever implementation of game physics within the entire plot. The monkey can bounce the football with its arm, head, knee, toe, and chest. Without letting the ball fall on the ground, a player must bounce or hold it steady with any of the part mentioned above. The more time you hold and play with the ball, the more points you gather.
Fundamentally, the game has 2 assets (the football and the monkey) and 4 environments, it is played in. The monkey is the most important character of the game. Let’s have a look into the asset creation stages of the character.
The hand drew and textured sketch of the monkey - Sketching is the fundamental way to start creating an asset you require. With combined ideas from our artists and client himself, we created the basic character on paper. Drawing the front and side of the monkey, we were ready to move on to the next steps
Modelling of the character after developing the wireframes - Our art team kept a close watch on the number of polycounts the character would be composed of. The monkey had a lot of moves and our animators' needed flexibility. Hence, we had to strike a balance between the quality of the character and ease of animation.
We developed the UVW map for the character - The UVW map is one of the most crucial steps within the entire character development workflow. This is where the character gets its 3D finesse and takes a perfect shape. We created the UVW map from the modelled character and it came out nice.
We emphasized on making the monkey as cute as possible and texturing was the most important step to attaining that. It gives the final touch to the character and makes it visually presentable. Our textured character had all the required details and looked good.
Rigging was one of the demanding steps when it came to monkey feet. The monkey had to have numerous animations. A lot of body part movements were there and it had to go absolutely perfect. We took utmost care while rigging the character so it could perform all the desired movements.
All animations programmed for the character worked perfect within the gameplay and gave desired movements. The final rendered character with texture overlay worked perfectly. Our animators created all the desired animations that would play upon user inputs. All animated clips worked fine.
We re-rendered the character using Zbrush. Grew some furs and made it more detailed. We have used the re-rendered image for marketing purposes.
Achieving smooth transition between clips:
The game is composed of multiple animations. One of the most challenging things was that the flow of these animations could have multiple pathways which of course depends on the user playing the game. This created a bit of glitch when it came to the execution of one animation after another.
Unity4 provides Mecanim animation system which really came handy in Monkey Feet. The animation system provides visually perfect graphs. These provide a clear outline of all the incoming and outgoing transitions for all the clips. These animations associated with the clips are played upon user inputs ( during gameplay).
In mechanism system, Animation state changes in accordance with the value of animator variable from the script. It also blends animation state according to Incoming and outgoing transitions of current running animation state. Hence, we could easily switch the animations of these clips as we desired and achieved smooth transitions between animated clips.
Real-Time Shadow for the Character:
Due to the variation of graphic processors, there was an evident inconsistency in the shadow of the monkey with default lighting shadow.
Creating custom shadow for the character popped up as the best solution. However to create real-time shadows, we had to create shadows for all the animations we created for game play. Hence, we rendered shadows for the character from varying camera angles and implemented them along with the respective animated clip while programming.
Physics blended with Animation:
To end a gameplay session, we had to create a bouncy effect for the football when it hits the floor.
We coupled the physics ball to move with the animated ball. The animated ball provided the physics ball with substantial velocity creating the desired bounce effect.
Animation sync with respect to User Inputs:
Although Mecanin did the job to smooth out the transitions, the system needed to switch from one animation to another and Mecanin does not support in built events.
We made custom event system that triggers on specific and predefined moments when a particular animation is playing. This way, each and every animation was synced with the next one which in-turn is dependant on user inputs
We made an engaging 3d game which demonstrated smooth and hassle free game-play. Despite having a lot of commands and sequences, each and every piece of animation was running as desired by the programming team. The rigged character gave required agility to the animation and made it smooth. Users could tap upon any part of the character to continue the gameplay which was managed by custom event system in the background. With Social plug-ins within the UI, users could easily share their scores on Twitter and Facebook.