Design implementation & issues
The design of VIGOR is on the right track and I have made quite some progress since the storyboard post, three weeks ago. Most of the game play is developed and although it is still not for two players, it is quite enjoyable and energetic to shoot your avatar and try to avoid the bullet (ball) at the same time! I have also added some sounds to make it more fun. A list of the things I have added and tested so far is included below:
- Head tracking of the player which takes into account the proportion of the virtual space width and the available physical space for moving.
- Shooting using a kick move (works with both feet)
- Shooting through the window when the opponent is frozen, for picking up the bonuses (currenty not there)
- Zooming in and out of the avatar when it is hit
- A blue haze revealing that the hit player is frozen
- Adjusting the ball speed according to the distance between the player's hands at the time of the kick (power indicator included)
- Indicators showing the body width of the player
- The ball being shot from the opponent's avatar towards the player
- A working score counter (it should be "P1 vs P2" in the final version)
The "crane kick" from the Karate Kid movie |
Sciripting has also been adapted so that the game is ready to be transfered to a second computer and played with two players. However, testing with two machines remains to be done to make sure that it can sustain an enjoyable experience. The main problem is that I am using the OpenNI framework, which is not
compatible with the Kinect drivers being installed in most of the available
PCs. Once this is resolved I will be able to try the competitive experience offered
by VIGOR. I have also changed both virtual environments in order to make them more
appropriate for this type of game. After including the bonuses and testing
picking them up I may end up using different ones, but for the moment they
suffice.
A demo of
the current stage of VIGOR is provided in the video.
One of the issues which is visible in the video, is that there are instances where the balls collide, because the players are basically exactly opposite each other (since there is only one player). What is also not implemented is the window to appear exactly on the opponent's avatar position and dimensions. In this
version the window appears roughly where the avatar (box) is and in a
predefined size. I did not spend any time on this intentionally, because I
would like to make the whole avatar as a window in the opponent’s world using
the world’s render as a texture of the avatar. This demands quite some
implementation time and I currently wanted to focus on the game play aspects.
Finally,
another issue which is sometimes apparent is that the indicators of the player’s
size do not directly correspond to the avatar’s size. This is rather difficult
to implement and depending on the movement and size of the player there can be
cases where the ball seems not to cross the indicators’ boundaries, although
the avatar is actually hit, or vice versa (both cases can be seen in 0:25-0:31
of the video). This side effect is more obvious when the player has increased his
size; although the ball appears to move way off his position (in the first
person view), it can appear to collide with his avatar (in the view of his
opponent). I don’t know if this will be as obvious in two-player mode, but I
currently have no solution.
No comments:
Post a Comment