A lot of us love FPS games and we have spent a fair share of our childhood playing them. How awesome would it be if we could actually experience our adventures first hand, without the fear of being shot? Our hack allows you to do just that!
What it does
We created an interface for classic Counter-Strike 1.6 that allows you to join the game in real life. Microsoft Kinect tracks the player and transfers their motions to the game, including running, jumping, crunching or turning. Player aims with a lasercut shotgun with an attached smartphone that transfers IMU data smoothed and filtered with advanced signal processing methods. Multiple players can join the same local game to play against each other!
How we built it
We used Microsoft SDK with Python wrappers to get rough skeleton of the player with coordinates of all joints. We used this data in conjunctions with data from smarthphone IMU sent over web-socket to create fairly accurate motion tracking, that is then transferred to the game.
Challenges we ran into
Mainly the data from both kinect and IMU is super noisy and we had to use different signal smoothing techniques (including Kalman filter and different window averages) to obtain reasonable data.
Accomplishments that we're proud of
Mainly filtering the data and accurately transferring it to game.
What we learned
How to lasercut!
What's next for fps_galloper
We are gonna play it all the time! It's awesome.