Related LinksThe work on this shelf is powered by you andMicroWorlds Web Player is officially supported under Internet Explorer or Netscape 4 or higher |
Case studiesOne way to learn about game design is to study games that have been popular in the past. Learn about early computer games by playing the videos below. Click on the links at left to play the games. Then read the text below for suggesting on describing and developing games. Spacewar (1962)
Pong (1972)
Space Invaders (1978)
Pacman (1980)
Super Mario Bros (1985)
Describing a gameAn important part of game design is writing up a clear description of your game. This will help you keep clear about what you're doing when your mind is buried in code. When you're creating your own game, your design may change as you run into obstacles or come up with new ideas. In that case, you should change your game description to reflect your new design decisions. Below is a sample description of Spacewars. Overview: Describe the game in one sentence. Spacewars is a shooting game between two ships that are being pulled by the gravity of a sun. Objective: Describe the objective of the game. The objective of Spacewars is to destroy the other player's ship before your ship crashes into the sun. Gameplay: Describe the way the game works, from beginning to end. You start with a Run button next to a black screen. There is also a Readme link near the top of the page that you can click to get instructions. When a player presses "Run". The ships and the sun appear. Players try to destroy each other by maneuvering their ships and shooting at each other. Game ends when one of the ships is destroyed. This happens when a ship flies into the sun or one ship scores a direct hit on another. Characters: List and describe the characters in the game, if any. Tell something about their personalities and capabilities, and how they act in the game. Who does the player play? There are three main "characters" in Spacewars: the two spaceships and a sun. The sun attracts the spaceships with gravity. The spaceships can spin (turn clockwise or counterclockwise), thrust (move forward a little in the direction they are facing) or fire (shoot ammunition). Each ship has a limited amount of ammunition for firing and a limited amount of fuel for thrusting. Ammunition is not affected by the gravity of the sun. Single or multiplayer? Tell how many players the can have. Spacewars is a two player game. Each player controls a spaceship. World: Describe the scene(s) in which the action takes place. The scene is outer space. There are stars in the background that don't move and don't interact with the characters. Controls: How do players get instructions for playing the game? How do they start the game? How do players control their characters? Are there other ways that players can control the action, for example by clicking somewhere on a screen to go to a different scene? The "a", "s", "d", "f" keys control one of the spaceships. The "k", "l", ";", "'" keys control the other. The controls are spin one way, spin the other, thrust, and fire. Game DevelopmentAnother thing that's important to keep in mind when developing a game: Start with the smallest thing you can complete, then test it to make sure it works. Give yourself milestones. You can change them as you go along if needed. For example, for Spacewars, I would start by thinking about all the things that have to be programmed. Some things seem tricky. The ships need to be drawn to the sun, but moving towards the sun shouldn't change their direction--only the spin keys should do that. A ship does't just make one simple turn when a player presses its spin key. Instead, the ship goes into a spin. It will also be tricky to have ammunition that fires from wherever the ship happens to be. I'll also need a way to check if there is ammunition left and to keep track of how much fuel I have and when I've run out of ammunition and fuel. I'll also need to keep track of how many times a ship has been hit and have it break up when it's hit a certain number of times. It should be pretty easy to have the ship crash into the sun. MilestonesAfter you have created and tested each milestone, begin a new version. For MicroWorlds, you can select "Save Project As..." and then save the project with a new name. For example, for Spacewars, you could name your first version Spacewars1.mwx, the version Spacewars2.mwx, and so on. This gives you a chance to go back and try again if one of your milestones get particularly buggy and hard to fix. Here are some milestones I might set for myself to build this game. Each milestone should be thoroughly tested before moving on to the next milestone. Version 1: Drifting ship and sun. I would start by build one sun at [0 0] and one ship that slowly moves towards the sun without changing its direction. To do this, I would use setx and setx instead of changing the turtle's heading to face the sun. If the xcor of the turtle is less than 0, I'll add one to the xcor. Otherwise, I'll subtract one. If the ycor of the turtle is less than 0, I'll add one to the ycor. Otherwise, I'll subtract 1. Version 2: Crashing into the sun. The one ship I've built should break up when I crash into the sun and the game should end. For now I'm going to stick with just one ship. When the time is right, I'll clone it to make the second ship and finish building the game. Version 3: Spin. I should be able to turn the ship even while it keeps drifting towards the sun. The ship should spin clockwise when I press "s" and counterclockwise when I press "a". Version 4: Thrust. Thrust should be applied when I press "d". This should move the ship forward a little in the direction it's facing, but then the ship should go back to drifting towards the sun. Version 5: Fire. The ship should fire a missle when I press "f". Version 6: Direct hits. The ship should be destroyed if it suffers a direct hit from another ship. I'll try to add that feature and then clone the ship and test it out. Before I test it, I need to change the controls on the new spaceship to "k", "l", ";" and "," for spin counterclockwise ("k"), spin clockwise ("l"), thrust (";") and fire (","). Is there anything else I need to consider? Could a ship run into its own missle? Could the two ships run into each other? What should happen then? What else do I need to test? |
Leone Learning Systems, Inc. (LLS) is a North Shore company that provides online courses for kids anywhere and local teaching and tutoring services for students in Chicago and the Northern Suburbs of Chicagoland. LLS also provides a free geometry software package for children age 6 and up, and free resources for teachers and parents. This site includes information about classes taught, availability for tutoring, learning activities for kids, lesson plans, and ongoing software and curriculum research and development efforts. |
|