Colonel Kart Racers (Unity3D Professional Project)
Racing Game? Check !
NOTE:  The things i display here come from an earlier version of the project when it was still FKR versus the final release which is CKR  .
All of the artwork for the final release of this game and everything shown here was created by the amazing Wanchana (Vic) Intransombat  . This is by far the prettiest game I've worked on and Vic was a major force in making that possible . From the app icon to the level concepts and beyond he is an incredible artist.
CKR is a mobile  Racing game title currently available in the phillipines  for iOS , Android and the  Mac and PC Versions ( also phillipino) can be downloaded HERE!!!!
A Brief video  playthrough of some of the programming implementation I did for this early build of the game While I got into more detail at the bottom my responsibilities for the project included the entire UI system from creating a seamless main menu with multiple states and a simple intor animation to  buttons and race indicators ( lap count, time, uifill sprite depicting boost charge). instantiating particles that went alongside game functionality( boost and wall hits) , Implementing character animations and animationg blending , creating the character select, tweaking Item mechanics, creating drift-boost functionality , social media integration through the prime 31 plugins , and much more.
One of my final tasks  was to combine several early menus  seperated by scene into one seamless series of menus recreated in one scene. the three menus were the main menu, the character select, and the track selection, which all were still seperate menus but i had to create a large UI controller that managed the transitions and exits from one menu state to another .
Here the main menu is shown , when the game initially starts a short intro animation is played and every subsequent time that intro animation is skipped for the players convenience .  
Orange Boost was a very fun project to work on , due to a very small development team I would definitely consider this my first Lead Role ( In the UI engineering space primarily) and I absolutely relished the opportunity to make a substantial contribution  to this game deveopment ! My responsibilities for this project spanned everything from creating and setting up the UI functionality ( the studio switched over to NGUI due to my experience with it) to implementing sound effects , music, particles, and even creating different levels of functionality based on the given game mode . My hands were quite literally all over this project and I had a ton of fun  learning while working on it !!!
 When my contract at emberlab ended it was right before the client requested additional features for the game and some of the visual aesthetics were getting hammered out a  little more and due to the amazing art team at emberlab some of this stuff probably won't match up with the released version of orange Boost . Still all the work demonstrated here was done by me and further amplified by the incredible art team at emberlab !!!!
This has to be my favorite contribution ot the entire game ,  the character select. this job was my first exposure to anything having to do with character animations so it was a bit challenging understanding the different sorts of naimation blending and how the original animation systems quirks( we did not use mechanim for this project as it was announced a month or two after we started).  
This was my first time building a character select, professionally or personally so it was a lot of fun creating a system that could track which character was currently selected, have the " character platter " rotate  towards the selected character,  and playing their respective introductory animation  I also had to write the functionality for the character to play their selected animation  once the start button is pressed . 
I also wrote the functionality of the tweeining stat bars using a combinaiton of NGUI panels and some creative multiplication to give the bars a position to move to relative to the 1 - 5 rating each character was given by the  game designer. 
here's Todd's intro anmation with his specific stat line 
and he cross fades into his selection animation upon being picked
This is an unlock prompt for lola , basically if a character is locked we made this prompt show up and depending on the means of unlocking ( most likely a virtual currency ) . you would be able to then unlock the character  and race as them at your leisure.  it worked so to speak pressing the yes  button would unlock the character and have them play their intro animation and pressing no canceled this entire dialogue.
Just a note , this is purely the front-end UI portion , there is no backend functionality attached to this guy .
I actually had a ton of fun with the menu changes , the guys wanted to have something  to demonstrate at GDC so it was definitely an intense week of changes but  it felt good to challenge mysef and come through as well as to see how much motion and life the transitioning menu brought to the game. 
Since my ontract was ending I wrote a series of scripts that were easy for non-programmers or non - game programmers to tweak and adjust the animations with . I essentially wrote more elaborate NGUI scripts that allowed for intro animation events and exit animation events.  Since the animaitons themselves differed  substantially depending on the object or asset  ( some rotated, some faded, some moved, etc.) . basically using a system of arrays and usually very generic fucntion calls i was abole to create a pretty robust little menu transition / animation system . 
Aside from the animation  the character select was fun because their were two situations where it's functionality changed significantly . if the given mode were grandprix mode the  track pictures would fade  through the entire series of tracks for the given circuit . However in time trial mode we wanted the selection of a track to be instantaneous as far as the track image displayed .  I feel nerdy for being excited about programming that but it was fun creating different functionality based on a given mode ....which i got to experience a lot of in this project lol .
(Please ignore the Next Race button, just an early debug / testing tool ) Programming the HUD for this game gave me new respect for game HUDs in general but especially racing game HUD's. there are just so many things that happen and have to easily be communicated to a player.  from player position in the race to current lap times , wheter a player has a usable item  and not too mention our game was for mobile devices so supplying just enough information without having a cluttered view port for the player.  
More or less the entire HUD is my baby , A lot of my job was taking information provided by the gameplay programmers and making it mean something to the players.  
I also was given the task of marrying the particle effects and the gameplay together  here we see speed streaks and the nitrous boost effect which I acivate or deactivate based on whether or not in code the player is currently experiencing  a speed boost
yet another particle effect I helped implement into the game based on the given racers condition . just a nice little way to communicate ("you've been hit in the head  with a coconut " ).
The time trial functionality was a lot of fun implementing as well , I defintely grew to love co-routines due to them being fram independent and with the large number of devices we wanted this game available on that was crucial .  here we render the race clock ( invisible during grandprix) and since the player just completed their first lap we show them how quickly their first time is in the green text .
This second picture shows the same player after having completed their second lap with the red text showing how much shorter it took to complete this lap versus the previous as well as the orange text howing the time for this lap specifically  for the player to refer to and potentially project their finish time.
This may  have been  my sole creative addition to the project  and definitely my first major foray into UX development, the Sensitivity Slider. our game is primarily controlled through a combination of titling your device and pressing the accelerate button. one of our earliest issues was figuring out how to make sure these controls were usable by the people who did not spend hundreds of hours working on the project.   My suggestion was adding a simple sensitivity slider that allowed the user to determine how much or little they would like to turn their device .
It makes sense our game is a pretty causal title so ideally everyone from young kids to Adults are going to play and while some people will dramatically turn the device and lean into turns other people are more reserved with their turn tyle. that is what i hoped the sensitity slider would address and I was ecstatic the guys OK'D me to do it, it didn't take long at all either, maybe an hour or two to get it working with the already functioning turn controls. 
on a lesser note I engineered the pause screen as well creating the button functionality  and synching everything with a pause state manager written by the gameplay programmer.
At the end of the Grandprix we allocate points based on each racers performance and at the end we tally the score and see who came out as the fastest kart racer of them all !  It was once again a ot of fun writing this and once again convey or or  bring attention to the information relevant to the player.  Here we did it by coloring  the players race time and race stat line orange .
Using the power of player prefs and a neat persistent variable system written by another engineer we were able to keep track of the scores for all of the racers in between races.
It also took me a while to figure out  how to simulate the times of the A.I. racers  especially since i tried to do it respective of their position in the race, how unbelievable would it be if the person you just narrowly beat ended up in 6th when they were in 2nd as you crossed the finish line ? Still i managed to get it and have each time build upon the tie of the racer previous. took lots of work and tweaking but it worked pretty solidly by the time i finished !!!
For Our End race screen in  Time Trial we of course show the players ocmpleted race time  as wel las give them the option to tweet or post their race time/ race completion on facebook . 
Here we also see Lola  engaging in her victory animation due to having finished the race. I absolutely loved working  with Unitys' original animation system ! I also learned of the importance of cross fading.
The most unfamiliar territory i had to deal with throughout the entire project  was definitely the Social Media integration. While i was working on CKR  we were using the prime 31 plugins for twitter and facebook integration . Much of the facebook infrastructure was copied over from another game so i had to re-work a lot of the code to bring it up to date with the moden facebook graph API as well as get it working for our game specifically . 
I do have to say racing the same tracks about twice a day for 4 months made me pretty good at the game lol
The twitter integration however was definitey all my doing , prime 31 makes the entire process extremely straight forward so its hard to take much credit for getting it working but i was proud of myself for getting it to work within our games overarching system. 
This is the Celebration room of CKR where the player goes to see  how they faired in the grand prix they just completed..
This was a neat aspect of the game that brought back some of what I learned back at Devry . Using a bubble sort I took the given grandprix scores for each character, create an array based on their score order , and place the characters on the podium accordingly  either playing the victory animation or the the applaud animation.   I will say my favorite part of this project was that I had to combine my knowledge and things I learned on the job and mosto f the time I came out with some pretty sweet results.
Look! It's Me It's Me !!!!! I always get excited seeing my name in the credits !
Colonel Kart Racers (Unity3D Professional Project)

Colonel Kart Racers (Unity3D Professional Project)

Fanta Kart Racers is a mobile kart Racing game available on iOS and Android Devices

Creative Fields