My mom was a typist working form home for a typesetting company. She started off on tickertape machines (which she could read and correct) Later she got a computer with a very small screen and a floppy drive. Then she upgraded to what I believe was an 8086 by Tandon. When she started her own company she upgraded to a Commodore PC10-III 

Beast

This computer had the first computer game I ever played. It was an ASCII game called Beast. It was an amazing game. You controlled the player with the cursor. The objective was to kill the beasts by pushing blocks around and crushing them between them. There were many kinds of beasts. I never managed to finish all levels but I spent many hours playing this game.

I was only allowed play it once a week when my mom wasn't using the computer. When she upgraded to an 286 me and my sister could use her old. Initially beast was one of our favorite games. Later on we would still play beast every now and then on it. But I got more interested in exploring DOS, the system utilities and such. Rendering the machine un-bootable a few times and making my Mom spend some nights figuring out how to restore it :) when I wasn't able to yet. At that time I also discovered that some games came with level editors and while exploring I accidentally ruined my sister favorite game at the the time Willy the Worm by a) making it impossible to pass the first level and b) making it impossible to run the level editor again :) Those were fun times ;)

But now I am digressing. Like a lot of developers I always have been tinkering with writing a game. It never came to it because there were always other things to do. But while we were working on Volta I realized how easy it is to write games with DHTML now. So while dogfooding Volta I decided to finally do it and write a game. Since Volta is revolutionary and Beast started the computer revolution for myself it seemed fitting to create a game with similar game play as Beast.

Visual Basic

There were a few blog posts out there claiming that we treated VB as a second class language. As we explain in part 4 of  "Five secrets Microsoft Does Not Want You To Know About Volta" this is totally not the case. I have been working closely with the VB team on some Linq language features and we continue to work closely with the VB team. So I decided to write this game fully in VB. There are a few warnings in the project for using things that are not supported in the VB runtime, but they are scoped to generated code in the My namespace. There wasn't a line of code I had to change because we didn't support the VB feature it was using.

Future

With this post I won't go into too many details of the code. I'll explain the code in detail in future posts. I am planning to use this game as a running showcase of future Volta technologies. I am currently thinking of adding the following:

  • 2 Player mode
  • Tier splitting for score board
  • Tier splitting for multi player
  • Improve graphics using SilverLight rendering
  • Using our 3D graphics engine for a 3D version

I expect our current JavaScript compiler implementation might stretch the browser too much to be practical for a 3D version of this game. But imagine how it will run when we can split to SilverLight 2.0, and when our 3D library will target WPF!!! Or even a 2D version with some cool animations targeting SilverLight 1.0. Imagine seeing the enemies being literally squished and have their internals splattered over the board and sticking to the blocks :)

EnemyCrusherScreenShot

The source code for the game is attached. If you don't see the attachments, you can click at the title of the post and the link should be at the bottom of the post.