Microsoft Ambassador Interview task: Hyper Spaced
Posted on February 4, 13
Hyper Spaced is a fast paced stylish shooter for Windows 8 and Windows RT. Your spaceship has malfunctioned in HyperSpace and dropped out in enemy territory. You must fight off waves of enemies whilst trying to find plasma to refuel your HyperEngine. Only then can you escape the enemy!
Hyper Spaced has 4 types of enemies: Asteroid, Transport, Fighter, and Bomber. Asteroids will drift about aimlessly forcing you to keep alert. The Transport ship carries precious plasma, which must be captured to repair your ship. The Fighter ship is fast and uses its powerful canons to hunt you down. As a last resort it will home in on you to try and defeat you! Lastly the Bomber ship fires powerful missiles towards your ship, whilst keeping out of your range.
Never fear though, as you can acquire Powerups on the battlefield! These can upgrade your weapon system to double-canon and triple-canon as well as repairing damage to your ship.
Designing The Game
The main aim I had when designing Hyper Spaced was to keep it simple. I did not want to create something that was so complex that I would not be able to finish it. At the same time I wanted to build something that had a unique look and feel to it and made use of the new platform features of Windows 8 and Windows RT.
As a result I made the choice to develop the game with C# and MonoGame as I had already had extensive experience with C# and XNA on Windows 7. I had decided from the outset that I wanted to give the game an exciting sci-fi feel. I wanted the game to contain glowing artwork and have a distinct Sci-Fi feel. I initially wanted to use shaders to accomplish this but it was made apparent to me that as MonoGame is a relatively new framework, shader input was not as fully implemented as in XNA. As I did not want to run into unforeseen problems I decided to stick with MonoGames SpriteBatch class and keep things Sprite based. This had its ups and downs. On the plus side I didn’t have to write and test shaders. On the downside I had to create a lot more textures for the game and had to redraw sprites more than I would have liked with an additive blend to achieve the look I wanted. Overall though I am very happy with the look of the game and the game has a solid framerate.
Hyper Spaced was designed from the outset for touch screens whilst also maintaining full support for traditional input. You must touch the screen (or use the cursor) to input a destination into the ships NavSystem. Your ship will accelerate to its location and drift when it arrives, in the vacuum of space. I spent a long time balancing the physics to get the right feel for the game. I am happy with the results as I believe this is an intuitive but unique way of dealing with steering the ship.
Hyper Spaced is a wave based game, where you have to survive as many waves as you can, earning as many points as you can. This is one area where I feel the game falls down a little. I would have loved to have a HighScore table in the main menu and to have made use of the Charm bar to share data with other applications. The Live Tiles were the area of the game where I could make good use of the Windows 8 and Windows RT features. I created logos of varying sizes to make the game as appealing as possible. However the game’s Live Tile could also have updated with different information such as your current and best score. Reaching various milestones is also a good use for the Toast notifications. Sadly I did not have time in the two week period I was given to implement these features but it is something I want to add in the future to the game.
The game can be downloaded and played here.
Also credit for the excellent music goes to my good friend David Stewart!