Welcome and thanks for taking the time to look a little more into my proposal 'Beldahr Bound' for the Intel Perceptual Computing Challenge! I'm excited to have a chance to show how much value the Creative Camera can bring to gamers. But first a monologue from myself.
Lots of games that use motion controls come across with a forced feeling. Everyone is used to their standard controls and unless the developers can provide a unique and meaning reason to use the motion controls, gamers generally tend to shy away from using them in favor of something they are used to. That's where Beldahr Bound comes into play. The game will not only show gamers that motion controls can be used in a variety of games, but also that motion and gesture controls can open up a whole new world of possibilities on how they play. Please continue reading in the different sections and then try walking around a small scene in the demo section to get a good feel for what the game will look and feel like.
Beldahr Bound is a first person, short experience game. The reason why this will be considered a short experience game is that each playthrough, start to finish, will only take 1 to 2 hours. However, due to the dynamic AI and massive number of different skill combinations no 2 playthroughs will be the same, giving the game great replayability. Here is everything you might want to know about the game.
You are playing as Kael, a wizard who has had the responsibility of taking down Beldahr. Beldahr, a good wizard turned evil, has grown extremely powerful and has decided to use that power to bend the will of the surrounding nations to match his. His followers are growing and war is tearing the nations apart as they strive for power. The grand council of wizards that Beldahr was once a part of, has been defeated, and the path to having total control is now open. This is where Kael comes in. Conquering the grand council wizards left Beldahr weak and vulnerable. Recognizing the opportunity Kael confronts Beldahr in a last ditch effort to stop him before he returns to full strength. The entire game is this final battle between Kael and Beldahr. Each starts with about the same amount of energy and usable skills and as the game progresses the amount of skills each wizard can use in the duel will grow. The story will be told during the fight. As players break down the defenses and shields of Beldahr, they will witness the story of Beldahrís rise to power through flashbacks from his life. This approach will give the players a unique and emotional connection to the world even with a short game time.
Players start with two basic skills. The more energy they use the more skills they will gain. The skill system is broken out into several branches. Players will be able to choose which skill path they go down which will change the feel and style of the combat.
Beldahr will have access to the same skill branches and depending on the difficulty will choose either a random skill branch or choose skills that might match up well to what you chose. Beldahr will also attempt to calculate weaknesses of the player based on their behaviors. For example if players are very successful at blocking straight on attacks Beldahr might choose to use skills that arch or reflect towards the players . This means that there will be many style match ups that you can experience, and because the game is intentionally short you will be able to experience the same game in many different flavors.
Skills will also have timing and energy constraints so the player and enemy will go back and forth in a dueling style engagement, and it will be up to the player to determine whether or not he wants to be aggressive or play the counter attack game. For example, one of the starting skills is the ability to block spells.
Beldahr has an insanely large amount of health, but his health does not regenerate, where the player has a comparatively small health pool, but it regenerates over time. As Beldahr's health drops to certain levels he will move throughout the map and trigger certain world events that players will have to deal with while fighting him. For example, Beldahr is closest to a potential world event where there is an area of large stones. Beldahr will make his way in the map to this area and will summon a large stone golem that will go after the player until he or the player is dead. Another possible world event would be Beldahr collecting a series of crystals that once combined allows the enemy to open a portal that unleashes several waves of small monsters that pursue the player. All the while the player and Beldahr are still battling. The events will be chosen by Beldahr based on location and health factors. This will help add a more natural flowing and random feel to the game that will increase play value.
The goal of this game is three fold. All three goals are to entertain, but all three are done through different methods. The first is to entertain via story.
The story is unique in the sense that you essentially start at the end of the game and as you break down your opponent you have more of the story revealed to you through his eyes. Because the game is short in length the story is able to be effective and focused.
The second goal of the game is to entertain via skill selection. Because of the way the skills are set up, using a base skill with component modifiers, there is a staggering number of skills for players to discover and experiment with. Players will be able to play around with skills to find a gameplay style that will be unique to them.
The final mission of the game is to entertain via combat. Because the actual game is all about one final conflict, I am able to focus on what is actually important to the game and that is the duel between Kael and Beldahr. The back and forth exchanges will be tailored in such a way that players will be truly drawn into the battle. The use of the Creative Camera will help to draw the player into immersive experiences by allowing them to actually reach up and deflect incoming spells.
I am a Unity 4 Pro user and will be using that in conjunction with several plugins that I am experienced in working with. Those plugins are:
These plugins are being used to get a very playable and polished game out of the door quickly. Coding will be done in C#, and will be used to integrate the plugins, including the Perceptual Computing SDK, in with the rest of the game.
Since many of the basics are already in place, I will be able to jump into IPC SDK integration as soon as I get the camera. Getting the game into its final polished demo state will be broken up into the following phases using an agile development approach:
Phase 1 will be the most time consuming phase as it is going to take some work to make sure the controls feel good. Some of the challenges are going to be from making sure things like trying to deflect spells donít make the camera go crazy (More on this later). The proposed method I will be working with will be to create a state manager that holds previous GeoNodes to compare their position and openness state. I know it will take a good amount of tweaking to make the controls feel truly natural so that will be first on the priority list.
There are 3 main types of controls currently for PC games. Mouse, Keyboard, Game Controller. Each of these have their place for different types of games and different venues where games are played. For PC games though games are not normally designed with even controllers in mind, the mindset is mainly keyboard and mouse. Getting people excited about new technologies requires software, such as games, that make the players feel like the experience is worth the extra effort of getting and using the new hardware.
The problem with motion based controls in the past (I'm looking at you Kinect!) is that they often feel forced and unnecessary. Most players when given the option for motion controls or standard controls even if implemented well would choose standard controls, especially if the controls are not implemented nicely.So the challenge then, is to either adapt a game to truly justify the use of the new controller and make the gamer feel like the experience is better or unique with the motion controls. Or design gameplay around the new controller that just doesn't feel as natural with the old standard controls. This game will be taking the familiar fps genre and using the Creative Camera to create an alternate control scheme that gamers will actually enjoy using and show the versatility of using the Creative Camera.
There are several areas that the game will showcase how fun motion and gesture based controls can be used for games even if they are not normally played that way.
The control scheme for the game is going to be using a combination of the keyboard as well as the Creative Camera. The keyboard will still be used for player movement and for tasks like bringing up menus and pausing the game. However replacing the mouse will be the Creative Camera. Players will use their hand in a similar way to how they would use the mouse, only instead of moving the mouse forward to look up they will raise their hand.
When the hand is in the open position the player will be in a defensive position where they can block and deflect attacks. To block an attack the player simply needs to align their cursor with the incoming attack. To deflect the attack the player will push their hand forward(Hand still in the open position.) at the same time the projectile is about to hit. Timing this correctly will cause the attack to be deflected back towards the attacker.
Skills will be able to be mapped to certain keys on the keyboard(0-9), to change skills the player simply needs to hit that key and it will become the main attack skill. To activate the main skill the player will need to put their hand in a closed state or a fist shaped gesture. This will start the main skill firing. It will continue firing until the player has no energy or the player returns their hand to an open state. Once this is working well the next feature will be to implement gesture based attacks. Players will be able to map their skills to gestures so they will be able to quickly use them and switch between them so they donít have to use the keyboard at all to switch skills in the heat of battle. Example gestures would be closed hand, 1 finger up, 2 fingers up, 2 fingers up with thumb extended. Using this kind of control scheme will allow players to quickly cycle through skill combos to unleash waves of deadly attacks at their opponent.
If there is extra time and the gesture based controls feel good then the next phase of the Creative Camera integration would be integrating basic verbal commands that the player can use to quickly change their current skill set. That the player would be able to be in the middle of a fight and toss out a verbal command like: Skill set 2!, and it would quickly switch the mapped gestures from skill set 1 to skill set 2. This feature will be in the game anyways, but it will be done via the keyboard. If time permits it would be fun to verbal commands as another option. On the same level it would make it possible to set a summoned minionís attack state via verbal commands. Minion Defend! would set the playerís minionís state to a defensive state where he will stay close to player and only attack if the enemy comes within a certain range. Where commanding the minion to go into an aggressive mode would make the minion aggressively go after the enemy. This feature is already in the game, but via the keyboard. Both verbal command features would be fun to have in there, but again the priority is going to be making sure the gesture based controls are working smoothly first.
Controls for the most part will be kept simple. Gesture data will be collected using the PXCUPipeline from the Unity plugin. When frames have been successfully acquired I will use QueryGeoNode() to gather the position of the hand and the handís openness state of the player's hand.
The players hand position will be gathered from the GeoNode member variable positionImage. The engine will take from the returned node the x and y coordinates to calculate where the onscreen cursor will be positioned. The cursor (and the direction the player's main camera transform will be facing) will move onscreen the same way it would if the player was using a mouse. Instead of moving the mouse forward to look up they will raise their hand. The x and y coordinates from the node will be mapped to Unity's coordinates to provide responsive and familiar player controls. The d variable will be used to determine if the player has pushed his hand forward while blocking to register that they are attempting to deflect the attack. Minor movements in the d variable will be ignored as we really only care about x and y most of the time.
At the same time they are controlling their directional looking with their hand the player will also be controlling their actions by changing the state of their hand from open to closed. When the hand is in the open state players will be in a defensive mode, where they will be able to block and deflect incoming projectiles that are launched at them if they properly align the cursor with the projectile. When the player's hand goes into a closed state the player will start using whatever the main skill they have activated. Once those controls are working well the next phase of integration will be to get attacks working based on preset gestures rather than just having one active skill.
Switching skills will be done by either the numerical keys or tab on the keyboard, or time permitting by verbal commands. This would be a simple mapping from basic commands. For example instead of pressing the 1 key on the keyboard the player would simply say Skill 1 and whichever skill is mapped to skill 1 would be activated.
All of the keyboard input is handled in Unity and the GeoNodes provide a solid foundation to get basic gesture and movement working and mapped inside of Unity.
Use WASD keys to walk around. Currently left click will cast a standard firebolt with no modifiers, and right clicking will cast firebolt with the modifiers haste and multishot.
Questions or comments? Let me know what you think!Send Email