Tuesday, May 11, 2010

Final Presentation

And here are the slides I presented during the senior project presentation.

ENJOY!

Final Results

I will summarize the last couple of weeks of work:

Shadows
After testing the game several times, shadows were added to the character to give a better sense of depth and the distance from the wall.

Lag
Most of the lag problems were resolved when the game was running on Release mode. And the Vicon Data was streamed and through Ethernet cable instead of wireless.
More lag problems arose when I added more walls (went from 5 to 10) and the lag was extremely high. Aline and I tried to figure it out and it just didn't seem logical that adding walls would cause this terrible lag. On my way home something came to mind: The problem was that when you set a collision pair on PhysX it test collisions for that pair on every update adding 5 add-ed about 5,000 collision pair which would account for the lag. To solve this problem I am now inactivating collisions for all walls except for the active wall. That is the wall closest to the player.

Reduced Marker Set
Luckily there was enough time to get into one of the Fu-ture Tasks which was creating a reduced marker set. The game is now being played with 16 markers.

Final Results
The Game at this stage is a fully playable game with a new game menu. It was really important for me to have this polished, the looks can always be improved but it is crucial to have a game that will not brake when you transition from one state to another. The game has two play modes:
1) Survivor (the player only has 3 lives)
2) Continuous (the game goes on forever)
Each game mode has its own scoring system and the high scores are saved and can be viewed by the player at any moment. (believe it or not this gave me a couple of really bad headaches)
The game also features a bonus wall, this is a solid wall with one colored area. If the player hits this area bonus points are awarded.
The overall look of the game was kept very simple.

Friday, April 30, 2010

Game is Ready!

There are a lot of updates which I will write asap, for now enjoy the latest videos:










Wednesday, March 31, 2010

First Live Test


I am really excited, today we did the first live test of the game and it worked REALLY well (I mean for a first run). Joe uploaded some videos of me playing:






Here are also a couple of Screen Shots of how the game looks:



Obviously not everything is sweet and perfect and some problems did arise:
- I was backwards (need to make sure this doesn't happen)
- There was quite a lag (although the game was running on debug mode and the data was being streamed on wireless which gives room for improvement)
- The walls are a little bit too short. They were just right for my height but if Joe plays the game it will probably be way harder for him.
- Need to place some sort of markers on the virtual floor to give a better sense of depth and know when you passed the wall
- The player seems to be resetting between walls

Things to do over the week before the next test:
- Make sure the player is not backwards
- Make sure the player is not resetting between walls
- Put in overlays for score
- Make the walls more continuous and give less time when you crashed against a wall

Hopefully I can get most of the bigger issues worked out before next Wednesday when I will be testing the game again!


Monday, March 29, 2010

The Controller

(Hey, I said coming soon....)
Annnnd this is what I've been working on:


This video might not seem different from the one I showed during the Alpha Presentation buuuut it is. Trust me.
The difference is that the motions we are seeing on this video are being streamed live from the Vicon box in the lab. Even though it is not a real time motion yet, it is pretty much like it. Before I was loading and playing a pre-captured motion.

So this is what I accomplished:
- Install the Vicon Data Stream stuff
- Understand how the data is being streamed and get it working with Aline's OpenGL example
- Adapt that to my code and to the way gamebryo/physx deal with geometry
- Make sure the motion fits in my world (I had to fit Gulliver into my tiny world). The mocap data came from a world of 1000x1000 (more a less) and my worlds is about 200x200...

Steps to follow:
- Test what I have with real-time data..... aaaahhh (scary...)

(Getting to this stage on the project was possible because I had the helping hands of Joe and Aline)

Alpha Review Comments

After the Alpha Review I got great comment which helped me realize that there are still some unclear elements to the gameplay (or maybe they were clear somewhere deep inside my brain...) Some of the things I've been thinking about are (yes, I've been thinking...):

- There are going to be two game modes: 3 lives (survivor), infinite lives (continuous)
- I won't be able to define if it is going to be 3rd person or 1st person until I test it (maybe I'll have both and let the player choose)
- The game difficulty is as follows:
* I have sets of predefined walls (probably: easy, med-easy, medium, hard-med, hard)
* I will be sending random walls withing a set to the player (starting with easy)
* As the game progresses I will be incrementing the range of the walls being sent (easy+med-easy, etc)
* The speed at which walls move also increases (it will have a limit to avoid making the game impossible)
* The score is merely based on the number of walls you successfully avoided
* You can crash 3 times, the 4th one you are OUUUUUT (for 3 lives mode), for infinite lives hmmmmm....I haven't decided
- I need a pool for the Final Presentation! :>

Coming soon: the controller...

Friday, March 19, 2010

Alpha Review

Today is the Alpha Review. On the last post, I had four main goals to accomplish for alpha, out of those the only one that I wasn't able to finish is adding sound. The good news is that my Sphereman is now playing and the motions look great, at first I was having problems with the frame rate, it seemed to drop a lot. But after rearranging some of the code to make sure all the motions are preloaded before the game starts the frame rate problem was fixed. I also generated about five different walls, one of the walls doesn't have a hole. That was to make sure I can show the collisions no matter what. Finally, I put in some screen overlays for the beginning of the game and one the player collides. I still to add the lives and the score but the Overlay system is already in place.

After the alpha review my to-dos are:
- Polish the game (add score, sound, etc )
- Work on the interactive controller, which should be the bulk of the work from now on.

Overall I am happy on where I am at the alpha stage. My main goal was to have something that could potentially be played, i.e. a rough version of the game, so I can focus my energy on getting the interactive controller.