terça-feira, 26 de janeiro de 2010

Improve Frames per Second (FPS)

When trying to study the performance of the game I came across a problem. In my laptop, a 1,73 GHz Centrino with 1GB of RAM, i could only perform 5fps, this means that the image would not have a flow instead it would jump from frame to frame.

To solve this problem, partly, I used a feature that comes with Actionscript 3 which lets you know how much movement is the camera registering. So, what I did was to try to detect a face when motion was detected above a certain level. This improved performance, boosting the fps to an average of 15-20 when face detection was done but brought another problems, one was the light levels, when in a poor lit room movement could not be perceived in a efficient way and also the background color problem started to appear.

In conclusion, though the fps were improved the face detection became poor not letting the user have good control of the paddle. The difficulty here is to combine the two technologies so that they can work effectively together and have a better performance when compared to the usage of them separately.

sexta-feira, 15 de janeiro de 2010

I decided to upload a few pictures related to the paddle movement and some shadow effects that were created to help the user know the position of the ball and paddle in the 3D space.

The following were taken with one client running:

Fig. 1- In this picture the face is centered inside the circle so the paddle isn't going to move


Fig. 2


Fig. 3


Fig. 4


Fig. 5


Fig. 6

As you can see, in Fig. 6, when the paddle comes closer to the ground a shadow starts to appear. This lets the user know if he's too close to the ground and also aids to know if he is in the same height as the ball or not. Also, in Fig.5, you can see that there is no shadow this was done to increase the level of difficulty and so it becomes more realistic. The shadow starts to fade when the user's paddle is closer to the ceiling of the game space.

Another thing added to improve the user experience is the arrows that light up to show where the paddle will move. This was done so that the user doesn't have to look to the video feed to know where he is. This way he can concentrate exclusively in trying to hit the ball.

Since this is a multiplayer game I'll add more pictures and videos regarding multiplayer gaming experiences.

Presentation

Since October 2008 I've been trying to develop a video based interactive game that enhances user experience and adds this new way of interaction.

Since then I've made a lot of research and got to the point where I started to develop a 3D multiplayer ping pong net game using ActionScript 3, MariLena Library and Adobe AIR technologies. To merge all of those together I use a tool, FlashDevelop, for the client side. For the server side I use Red5 along side with MySQL.

I tried to make it run with the most fps possible since it uses face detection and tracking as the input to the players paddle movement. I also tried to improve user experience, thing that has been left aside in other works.

Hopefully, the next post will have some pictures and videos of it working, and I'll try to make an available version for you to try it out.