Play my game here.
This was easily the toughest assignment I’ve encountered this year. My game is entitled “Escape from the Grid,” and its art is based heavily on the Tron series of movies and video games.
My game takes place across three rooms. In the first room, the player must avoid two orange enemies while navigating the walls in the room to grab a spinning disc. Once the player has the disc in his possession, the door to the next room unlocks. In the second room, the player must throw his disc using the spacebar to defeat the orange enemy ducking and dodging behind walls on the far end of the room. In theory, the walls should stop the disc, but this only works about half the time. In the final room, the player must place a disc on each of four pedestals to unlock the final door and win the game.
I don’t remember all the frustrations I encountered (there were lots), but a few stand out. It took a long time to get my walls in the first room to properly detect and stop the player. I don’t remember exactly how I fixed this one, but it was a welcome relief. My second major challenge came when attempting to remove the first room, and add the second to the stage. I kept trying to use “var room2 = new Room2();” to prepare the addChild command, but after some time I realized I needed to use “var room2 = new room2_Manager();,” since Room2 was linked to an Actionscript file called “room2_Manager.”
In the second room, I didn’t have too much trouble getting the bullets to work properly, but I did (and still somewhat do) have trouble getting the walls in the room to stop the bullets’ progress. I tried using the generic instance name “wall” for each, but that didn’t work. Then I tried coding in the collision detection with a loop to differentiate wall1, wall2, and wall3, but that didn’t work. Finally, I just coded three different bullet detection conditionals for each of the three walls, and this sort of worked. Even now though, the walls only stop the bullets about 75% of the time.
I ran into a similar problem in the third room, where I could not use a loop to differentiate the four pedestals in my code. Once I created four separate conditionals and four separate gotoAndStop functions, it seemed to work well enough.
Overall, I’m pretty happy with how the game turned out. It’s very easy, and not the most beautiful design in the world, but I learned a lot of valuable lessons that should help me when designing my final game.