Below is listed a selected collection of demonstrations, each covering something special: whether a unique game concept, the result of exploring an idea, or simply an example of something I really enjoyed working on.
You will note that for the games demonstrated, while the genres involved are quite diverse, death or destruction is not a part of the primary gameplay; if death or destruction exist in the game it is something to be avoided by the player, not to be dealt out by the player. This is one of my strong convictions. Those who have read the About Me section of this online book will understand why.
Many, but not all, of the items demonstrated were built as course projects - this is because of how much time I dedicate to my school and my job: these combine to leave me with little time at home for anything but God and family.
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.
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?
Built on the powerful Unreal game engine.
Player experience through the Racing Points system.
Amazing track layouts.
AI designed to keep up with, and challenge the player by aggressively picking up power ups and using them while keeping away from walls and other obstacles.
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 hoverbikes, 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 hoverbike can gain some special ability - such as a speed boost, jump boost, temporary forcefield 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.
The controls are based on the familiar mouse and WASD keyboard controls, with some extensions for the gameplay.
|S||Down Arrow||Brake / Reverse|
|A||Left Arrow||Strafe Left|
|D||Right Arrow||Strafe Right|
|Left Shift||Air Brake|
|Left Ctrl||Fly Down|
|E||Enter or Exit vehicle|
|Left Mouse||Right Ctrl||Use Powerup|
|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!
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.
This engine represents the "Next Logical Step" in engine design, utilizing the component-based entity system design pattern, modular core loading, and a centralized message system. The use of components, allowing easy creation of new components that can be integrated into an existing entity, and allowing dynamic core module loading, so new cores can be integrated at run-time, the engine can be expanded with minimal code.
Dynamically loaded modules
Component-based entity system
Engine scripting and prototyping via AngelScript
Highly permissive open-source license
The NLS Engine is a collaboration between myself and Adam Martin. It started out as a class project in game design under the name of Saturn V, but we've since rebased the source code and have taken far beyond what SV was able to do.
Both Saturn V and NLS were created from scratch in C++. While Saturn V was explicitly designed for executing solely on Windows, as we only had 6 weeks of development time, NLS has been scheduled to be cross platform - alowing development on all three major operating systems: Windows, Mac, and Linux in both 32 and 64 bit modes. There is a lot of work still to do, but we are making progress.
Designing an engine from scratch is quite the difficult proposition. Thus far we've proven that it is possible to do, and have even started creating games with it. However, the engine is not without its faults - but neither are any of the other engines, even the commercial ones, on the market. We've yet to design a GUI toolkit for it, but the scripting system is powerful enough to make games without such.
SAM:DATA vs Dr. Mal Ware 2: Saving Your Friend’s Computer From Being Taken Over By An Evil Overlord, or How to Defeat the Evil Doctor Again is an epic continuation of the original SAM:DATA vs Dr. Mal Ware game series. Continuing the use of the NLS Engine, DvW2 is set as a 1st-person twitch game where players take control of SAM:DATA as he speeds through the circuitry of another computer where the need to purge the infection must be carefully balanced with the need for preserving the user’s programs, and the need to keep SAM:DATA online!
The evil overlord’s defeat at his attempt to take over your own computer hasn’t slowed down his attempts to take over other computers! Due to advances in security you are now able to help SAM:DATA directly by assisting in the identification of Dr. Mal Ware’s evil creations. You’ve got to be fast though: SAM:DATA can’t stay in the computer’s circuits for too long without becoming noticed by the dreaded Spy Bot!
As SAM:DATA is speeding through the tunnel-like circuits looking for the source of infection, you keep your eye open, marking every program that whizzes by you as either clean or infected. Be careful! Missing your marks decreases the time SAM:DATA can stay in the circuitry as each bad program you miss notifies the Spy Bot of SAM:DATA’s presence. Each correctly identified good program increases your score!
It’s critical that SAM:DATA find the source of infection in that circuit before the Spy Bot finds him!
The year is 1991, and the evil Dr Mal Ware has begun infecting computers with the first forms of computer viruses. You, as a Robot Virus Hunter, are leading a new generation of skilled computer technicians who can control the virus removal robots. With a great deal of practice you mastered the indirect control method required to guide your robot SAM:DATA around the inside of the computer hardware and software. But this was what was needed last year when you cleaned your own computer of Dr. Mal Ware’s minions. Over time he has increased his attacks, requiring new ideas to counter his baleful influence: you’ve rebuilt SAM:DATA as an externally-interfaced program, leaving the robot body behind.
Just as you finished rewriting SAM:DATA a friend knocked on your door complaining that his computer has gone on the fritz and has used its modem to knock out his phone service! You immediately recognize the handiwork of the evil Doctor, and take SAM:DATA’s interface hardware over to your friend's house to clean out his system and, more importantly, try to find out how Dr. Mal is infecting these computers.
A different and modern rendition of an old-school gameplay mechanic done in a new and exciting manner guaranteed to appeal to a large section of current gamers.
High-speed, high-stakes gameplay.
Compelling story with use of comical and witty humor and monologue.
Classic arcade-game feel in a modern layout.
Practically infinite levels: the game just gets harder.
Uses the NLS Engine
The player will interact in real-time with the game from the perspective of the digital edition of SAM:DATA, attempting to manually identify the two types of programs, “basics” and “malware”, as SAM:DATA flies past them in the wire. Correctly identifying the good basics increases the player’s score, while missing or incorrectly identifying bad malware will result in time penalties. Too many time penalties will prevent cause the Spy Bot to identify and eliminate SAM:DATA from the system, with the consequence that the player loses and is taunted by Dr. Mal Ware.
Incorrect identification of a Program, whether Basic or Malware, will result in lost points. Points cannot go negative.
As a twitch game, the gameplay is simple: click fast and accurate. While there’s some randomness in the position of the programs as the player flies past them, the final score is almost entirely dependent upon the skill of the player. As the game progresses, the speed and density of programs that need identification increases, reducing the margin of error and demanding ever faster response times from the player.
While the gameplay is simple, there is room for players to develop strategy. Players will need to balance the need to mark the good basics, so as to increase their score, against the need to mark the malware, so as to keep their game time from being reduced below the threshold that marks when they are expected to reach the end of the level. If the time left runs out before reaching the end of the level, the player loses. On the flip side, the more time the player has, the longer the gameplay, and therefore the higher the potential score - depending on how many Basics are identified.
Theoretically, a player could play for hours and get a score of zero. This would be accomplished by ONLY marking the Malware. However, while players might do this for a variety of reasons, most players will tend toward balancing the marking of Basics and Malware so as to attempt to reach the highest score.
Building this game was a reminder as to why games are produced by a team. Having to act the parts of designer, programmer, 2D & 3D artist, Foley/record studio, etc. was quite the exercise. However, a flexible plan and a solid vision helped make sure that the game was produced within the allotted time with a minimal remaining bug count.
GDC2012 was a success - not only did the game demo well, but it received some high praise. Many of the players noted that this would work very well, possibly even better, as a mobile game - something I am planning on doing. During the show the game, as well as the engine, received several updates and new features. If I recall correctly the login screen system was finished at the show! Adam, my co-developer on the NLS Game Engine, even hacked controller support into the engine in a single evening - though we never committed that code to a release as it was too hacky for a production release and didn't really enhance gameplay for this game due to precision issues. (Turns out that even with a clean non-linear response curve, joysticks just do not have the needed resolution to target the bots accurately and rapidly.)
My only complaint about this game is one born of my deep underestanding of the code: the screen/menu system is based on a finite state machine, and as such it made devleopment of the menu system very modular and easy to extend and maintain. However you'll notice the background pop in and out when switching between some screens. While this could be cleaned up, the ultra short development time combined with the complexity of the fix and the realization that it didn't detract from the gameplay, resulted in that being marked very low on the to do list. If the game gets popular, or when I revisit it for porting to a mobile platform, I will definitely revisit the design.
interNational Geographic wants you to be their next world-renowned photographer. As your first step, they have sent you to their training facility to evaluate your skills by giving you shots of objects that you need to find and take good photos of as fast as possible. Hurry up, the clock's already ticking!
Not often can you find a game where basic camera settings are highlighted. This game does just that. Plus there are few photography games on the market, and the style of the game has much appeal.
Objects based on real-world promotional products
Players can keep any photographs they take in-game
Full 3D environment
Realistic digital camera operation
As the game begins, the player is informed that he is being recruited by “The interNational Geographic Society” as a field photographer. However, every new recruit is put through a series of tests. These tests are administered as photography challenges in on of their specially prepared warehouses. Once in the warehouse, the player will have a fixed amount of time to find and shoot as many of the warehouse's items-of-interest and return to the starting point.
To accomplish this goal, they player is given their choice of camera, a picture of the items that are to have their pictures taken, and are then released into the warehouse.players must then move rapidly, taking as many shots of as many of the items as possible. Each location has a different amount of light, so the player mush balance his ISO, shutter speed, and aperture to compensate and not have too narrow a depth-of-field or too blurry a shot. Each shot drains the battery on the camera, and fills the chip, so scattered throughout the level are battery cells and memory chips the player can pick up to replenish.
Once they feel they've taken as much as they need, the player then finds his way back to the starting desk so the tester can review the shots and score the player appropriately. With a high enough score, the player is then allowed to move on to the next level.
This game was prototyped in a single week using the 3D tools inside the Game Maker engine. The gameplay was proven to be viable, and most importantly, fun - even though the limits prescribed by the engine, such as a lack of dynamic lighting, really cut into the visual impact of the game.
Due to the 1 week of combined design and development time, which in reality was less due to needing to work and do other school projects, the protype has several bugs, and is keyboard-action only.
Just as your squadron of XR10 star-fighters clear the hangar, an enemy Destroyer fires a powerful laser pulse deep into the reactor core of your mothership, the Alliance Defense Frigate Arkon. As she explodes into fragments behind you, she launches a full complement of torpedoes and incinerates the enemy capital ship. With the destruction of the enemy Destroyer, the combat drones you were sent out to fight deactivate and you are left in deep space trying to find a way back home...
The Spaceflight genre has never, as far as I know and have played, been merged with the Adventure genre. This provides a “fresh” perspective on the gameplay. Also, the Spaceflight genre disappeared about the time the bulk of the Millennials reached a mature age leaving them with only a passing familiarity that should attract them to the game. Once they realize it was DESIGNED for cooperative play, the Millennials will likely message their friends and play it together at the next LAN party or even online.
The story is designed to allow for the possibility of sequels; in future games they might start a rebuilding, or reforming, of the interstellar society, maybe they will start a subversive campaign!
You and your friends take on the interstellar elements in a primeval struggle for survival after your mothership is destroyed. Use what resources you can find along your journey back to your homeworld. But remember, time is against you, so don't delay!
Players must work as a team to gather enough fuel and supplies from the surrounding debris and drones to retrofit their ships for an interstellar flight to their distant homeworld. Once they leave, they must survive on what they can find in flight. As they travel and explore they will start to piece together, from disjointed clues, the history behind the conflict. Along the way they will meet other interstellar travelers, some friendly, some not, who will either try to help or hinder them in their flight.
I've been working on CotA off and on since early 2009 when it started as an exercise during a game design class. However, while it seems to me to be a sound game concept, I've not explored it outside of school. The attached cutscene prototypes are primarily an example of the skills in the art of foley the Lord has blessed me with: all sound effects and voiceovers are my own creation.