Tips and Tricks from students: Windows Phone game “Airborne”

AirborneTeamCompass Rose Studios, composed of four students from Carleton university built a flight game for Windows Phone and share what they learned

Check out more tips from fellow students here

Could you briefly describe your application/game?

Airborne is a fast paced 3D adventure game that takes modern fascination of the steampunk style to new levels. The user flies an airship along the treasure map in order to reach the treasure located at the end. Wage aerial battle with air pirates, loot their ships for treasure to purchase speed and gun upgrades to get that extra edge in battle. Firing is triggered by tap controls, and steering is controlled by the phone’s Accelerometer.

Did you use XNA, Silverlight or both?

To develop Airborne we used both XNA and Silverlight. We used XNA to program the main gameplay, which we wrapped in Silverlight pages for menus/GUI functionality.

What was your banging your head against a wall moment?

Finding the right library to support our animation was slightly frustrating, since there does not appear to be one at this point that supports blend shapes. The one we ended up using (SkinnedPhoneModel) required skin and bone data (the mesh must be attached to a skeleton with only one root node), and assumed a vaguely humanoid shape, so we had to adjust our animations heavily – so something to keep in mind for unusual shapes and animations. Another issue we ran into was Tombstoning, a feature that allows the game to remember its state when the player launches another application then comes back to the game. With more time this can be ironed out, but it is not as quick and intuitive as could be desired. Another issue was that the game seemed to lag when we put in sound effects.

Did you ever solve that issue?

For the animation issue, we had to use a library that didn’t quite suit our needs. Since our airships had non-humanoid animations that do not generally necessitate a skeleton and skinning, we had get creative with skeletons and skinning methods to redo our animations in order to comply. Simply something to keep in mind when designing a game or beginning animation for Windows Phones. The Tombstoning issue was ironed out after more in-depth exploration of the documentation. With respect to the sound effects, we simply took them out.

If you had to build this same app again from scratch, what would you do differently?

We would skip trying to animate things with blend shapes, and we would try to make our models lower polygon so as to avoid lagging in-game. I also really want to explore the background music thread I recently discovered. That may also solve the lagging problem. On top of what we already have, we’d like to develop training modes, and further levels/functionality.

Any nice surprises?

It only took minor adjustments to cross over from standard XNA to phone XNA and we really enjoyed working with Silverlight and XNA together. Silverlight was very intuitive with Visual Studio, and it was so much nicer than having to program menus manually with XNA! It was painless to put the game on the phone and to test it. It was also easy to get started with the help of Microsoft documentation.

Did you leverage the mobile platform?

Yes, we used the phone’s Accelerometer for steering the airship. Tilting the phone right or left will steer the airship right or left; tilting the phone forward will cause the ship to accelerate; and tilting the phone back will slow it down.

Did you leverage the touch screen?

In Airborne we use the touch screen to fire the ship’s bullets using the tap command. This makes it easy to steer and fire at the same time, since the player can tilt the phone while tapping the screen with their thumbs.

Did you have a favourite feature?

Our favourite feature is definitely to have XNA and Silverlight working together. Silverlight makes it easy to develop attractive graphic user interfaces, and XNA is an intuitive game development language. We definitely hope this feature sticks around, and develops further.

What is one thing you think you did really well in this application?

Every group member did good work. In particular, the concept and design were well appreciated by our testers. Our game is not hard on the eyes! Our artists did a great job. Programmatically, we are particularly proud of the enemy AI, which took some time to develop.

Are you publishing your application/game?

We do hope to release our game in the marketplace; however we’re not quite ready to share it with the world yet. We would like to iron out a few more bugs first, and develop a training mode.

Where can I learn more about your app/game?

You can learn more on our website  and on our Facebook page. We also have a video

Who developed this application?

Compass Rose studios is a group of four BIT (Bachelor of Information Technology) students currently going into our last semester at Carleton University. This project was developed for our Design Studio 4 class. Our team leader, Meagan Leflar, is responsible for project management, XNA programing, concept art, and some 2D art such as the game map, textures, and promotional material. Laura Kenney, our other programmer, is responsible for the Silverlight programming, and some XNA programming, as well as the 2D art for menu screens and promotional material. Lacey Maw and Jaimie Thom are our art team, and they are responsible for modeling, rigging, texturing and animating game assets.