Kakra Racing
Kakra Racing was an online team project completed after only eight weeks of development in June of 2011 as part of the GSP-360 course offered by DeVry University.
I was blessed to be chosen as team leader due to the completeness of my game proposal, among other factors. In this project I advised my team, and they agreed, to take a much lower aim than most students seem to go for: no new model or texture assets, instead to concentrate only on different gameplay and level layouts. Thus we were able to produce three distinct levels, each produced by a different member of the team and then polished in a collaborative manner.
As we were short on programmers, myself being the almost the only one on the team, I was assigned with all programming tasks, from developing all the UnrealScripts required to make the gameplay differentiated from the engine defaults, to assisting every level designer with their Kismet networks.
Unique Selling Proposition
Placed in a detailed universe filled with corporate greed and machination, Kakra Racing involves both the need for speed, and the need for skills: winning is no longer just about finishing first; you must race with style to achieve the victory. The result is a game filled with thrilling high-speed tracks that will keep you coming back for more. The only question is: can you keep up?
Summary
Kakra Racing is a high-tech high-stakes racing game. In the future, there are planets who have decided to stop wasting resources fighting wars, and instead settle differences through contracts written around the outcomes of an alternative form of arbitration: racing. Many disputing companies or governments have their own private racers, but many also hire talented independent racers - much like they would have hired an independent military contractor in the old days.
In an interesting twist, modern racing no longer puts the racer directly in the pilot seat: instead the racers control android bodies through a brain-computer interface. Some high-credit racers don’t even leave the protection of their homes: they just connect remotely to their personalized droid. This allows for a much more relaxed set of “safety” rules on the track, leading to some fairly aggressive racing styles.
Races are occasionally team-based, where every so many laps the team with the lowest racing points loses it’s slowest member. However, races are most often every- man-for-himself. Whichever it is, it is not always the team or racer that crosses the finish line first that wins - though this is by far the most common case. Teams win by gaining the most “racing points” in the given race. There are several ways to gain such points, making jumps, performing tricks, crossing the finish line first, bribing judg… ahem. [No, that last shouldn’t be in the game mechanics! Maybe a plot twist though…] Winning racers often get, as part of their contract, extra upgrades for either their pilot droids, and/or their hover bikes, allowing them to perform better in future races.
Racing is different on almost every level. While there is a common theme of all racers being lined up in an array, and countdown to indicate race start, each level has it’s own details. As the race progresses, there are different locations where the player’s hover bike can gain some special ability - such as a speed boost, jump boost, temporary force field drops, and more. Some races are simple ovals, some are much more complex. There are also jumps and shortcuts on some levels, each giving the accomplished player the opportunity to score more racing points. Each map also determines the race termination condition: one might be a lap count race, another might be a timed race, another might be a race to be the first to a certain number of race points.
The player to have the highest number of points at the end of the race is the winner.
How to play
The controls are based on the familiar mouse and WASD keyboard controls, with some extensions for the gameplay.
Primary | Secondary | Description |
---|---|---|
W | Up Arrow | Acceleration |
S | Down Arrow | Brake / Reverse |
A | Left Arrow | Strafe Left |
D | Right Arrow | Strafe Right |
Left Shift | Air Brake | |
Space-bar | Jump | |
Left Ctrl | Fly Down | |
E | Enter or Exit vehicle | |
Esc | Exit Game | |
Left Mouse | Right Ctrl | Use Power-up |
Middle Mouse | Toggle Accessory power status | |
Right Mouse | Use Accessory special ability |
Note that since it’s the player with the most points that wins, just making it to the end of the track may not actually finish the game - though it will likely give a boost in points!
In the first track, Test Zone, located in the rocky heights of the edge of the Ktafas Crater, the winner is the player who has gotten to 1000 points first, and the level is not complete until a player has reached that number of points. The track is laid out in a curving start-to-finish manner, but don’t be limited by the walls: bonus points are awarded to the player to first go exploring! And keep an eye out for the secret exit!
In the second track, Rock Run, located in one of the secondary impact craters around the Ktafas Crater, the winner is again the first to reach 1000 points and, again, the level will not complete until that point value has been gained. Yet this time the emphasis is on your ability to show off while on a circular race track. Jumping rocks is a good thing!
In the third track, Echo Speedway, located in a sector of the the lush Llia Rift, the first player to reach the end of the straightaway finishes the course - but may not be the winner. As is normal, the player with the most points wins: yet finishing first still carries a hefty bonus that might just tip the scales!
Retrospective
We met our limited time frame, but not without cutting a few features. As this was my first time delving deeply into UnrealScript and creating not only a host of new object types and a new game type, I made a few mistakes in placing my data: at that time I didn’t know about what it took to set up the scripts for replication. Thus the multiplayer portion had to be cut. This resulted in having to work harder on the AI, which I’m glad to say I was able to do fairly well - though since AI is not my strong suite the bots still have some issues.
Another problem was in keeping in contact with one of my teammates. He was not able, for many reasons given over time, to make it to all the team meetings. He was able to make it to a couple of the early meetings where he expressed an ability in programming and a strength with Flash. Because of this he was assigned to create Scaleform-based menu and HUD systems. We were all then given deadlines to get functional implementations in place in time for our Alpha release and feature freeze on week 5. This he did not make, and so the menu system was scrapped and I was tasked with creating a replacement HUD in less than 2 days. This was accomplished, with much help from my Lord, but as I am no artist, it wound up looking like programmer art…
All that said the problems don’t really affect gameplay all that much. The core gameplay is there, the levels are strong and demonstrate a strong portion of the expressiveness of the design and the capabilities of the scripts written.