invadAR is a project for the course Advanced Graphics and Interaction (AGI14) at the Royal Institute of Technology (KTH) in Stockholm, Sweden. The project is developed by five students (Carl, Johan, Anton, Ludwig and Christoffer) and is an AR implementation of the classical game Space Invaders.
Interaction with the game is made possible via the Epson Moverio BT-200 AR glasses and a Playstation 3 controller. The controller allows you to shoot by pressing the round button and aim by moving the left analog stick. You shoot a laser beam at the invaders from your eyes. You can of course aim by moving your head freely as well.
Before we started developing for the Epson Moverio BT-200 we knew that the processing power of the device was limited (since it’s a wearable) and thus we didn’t aspire to implement very heavy graphical components (e.g. heavy shaders and complex particle systems). We also spent about a week’s worth of work trying to steer the aim of the laser beam (the crosshair) with the gyro in the handheld controller of the BT-200. However, we weren’t satisfied with the result (although it worked better on a regular Android device) so we scratched that idea and decided to use a Playstation 3 controller instead. This required that we had the BT-200 rooted and that we got access to an Android app called Sixaxis Controller. This worked like a charm!
Early in the process we wanted to use the Wikitude SDK for image tracking, and we spent a lot of time and effort into it. Unfortunately time was of the essence and setting up a new Android project that implemented the Wikitude functionality turned out to be quite the challenge. We simply weren’t able to get the ADE and the architect view to work in both the BT-200 and a web browser. Therefore we decided to move on by using the Vuforia API and Unity3D.
We spent a lot of time getting the interaction with the crosshair feel as intuitive as possible. It was a challenge to get the crosshair to follow the endpoint of the laser beam (which consists of two line renderers), since the endpoint is 100 meters in front of the crosshair. This was solved by converting the endpoint from world coordinates to screen coordinates. We also spent some time on making the mother ship move around the “earth” whilst always looking at the center of the earth. This was solved by implementing spherical coordinates and having static waypoints that the mothership should move between, while at the same time spawning invaders.
First and foremost: While a bit outside the course description (it is not about game design), we had the primary ambition of creating something that was fun to play.
We wanted to create a world where you interact by moving around in the physical world, as to augment the reality.
We want to learn about modern graphics and interaction technologies and how you implement them according to best practice.
We also want to create a fun and immersive gaming experience for the players. We want to understand how AR can and should be implemented in a game environment.
This game will for sure make the world a better place. Who wouldn't want to play this game?