BangBang is a multi-player, telepresence and strategy-based web game. The objective of the game is to survive the Mexican standoff
.The web-app itself marriages emerging front-end technologies with tried and trusted back-end technologies. Back-end technologies used in this project are PHP and MySQL, which are used to keep all players updated with the central database. Front-end technologies used are: HTML5, CSS3, AJAX, JSON, JavaScript, jQuery, and OpenTok. These technologies allow for user-rich experience on a web app that mimics the 'native-feel' of a desktop application.
The OpenTok API was used to bring a realistic feel to the game. In many of today's games, a user interacts with other users via an avatar. They never see the user's real face and his/her reactions. By using a video feed to replace the avatar's face, the simple act of shooting at the opponent in a showdown turns into a dramatic and emotional Mexican standoff. The user can see the opponent's face, which brings a more realistic feel to the fight.
When the user logs onto the web app, the app checks the status of the last session. If it has been over six hours, a new session is added to the session table. The user, along with information vital to the individual user, is added to the user table. The user's id and the latest session's id is added to the session_x_user table. Once a user challenges another user, both of their id's are added to the battle table. Once the battle is over, the user is removed from the battle_table by turning their id's into negative numbers. When a user leaves a session, their session_id in the session_x_user table is set to its negative value. This action is done in order to keep data in the table to check for problems or bugs within the system.