Scrolling Shooter 1945

Similar documents
Tutorial: A scrolling shooter

VACUUM MARAUDERS V1.0

Star Defender. Section 1

CONCEPTS EXPLAINED CONCEPTS (IN ORDER)

KEEPING SCORE: HOW TO USE SCORES, LIVES AND HEALTH

2D Platform. Table of Contents

Game Maker: Platform Game

More Actions: A Galaxy of Possibilities

Overview. The Game Idea

04. Two Player Pong. 04.Two Player Pong

G54GAM Lab Session 1

Space Invadersesque 2D shooter

Tutorial: Creating maze games

Game Maker Tutorial Creating Maze Games Written by Mark Overmars

Pong Game. Intermediate. LPo v1

Your First Game: Devilishly Easy

Lesson 2 Game Basics

Beginner s Guide to Game Maker 4.3 Programming. Beginner s Guide to Game Maker 4.3 Programming

Objectives: Create Sprites Create Sounds Create Objects Create Room Program simple game

COMPUTING CURRICULUM TOOLKIT

CISC 1600, Lab 2.2: More games in Scratch

TEMPLE OF LOCKS V1.0

Scratch for Beginners Workbook

Competitive Games: Playing Fair with Tanks

GAME:IT Junior Bouncing Ball

SPACEYARD SCRAPPERS 2-D GAME DESIGN DOCUMENT

GAME:IT Junior Bouncing Ball

GAME:IT Bouncing Ball

In this project you ll learn how to create a game, in which you have to match up coloured dots with the correct part of the controller.

Photo One Digital Photo Shoots and Edits

Using Bloxels in the Classroom

Inspiring Creative Fun Ysbrydoledig Creadigol Hwyl. Kinect2Scratch Workbook

In this project you ll learn how to code your own musical instruments!

In this project we ll make our own version of the highly popular mobile game Flappy Bird. This project requires Scratch 2.0.

Introduction to Parametric Modeling AEROPLANE. Design & Communication Graphics 1

BE SURE TO COMPLETE HYPOTHESIS STATEMENTS FOR EACH STAGE. ( ) DO NOT USE THE TEST BUTTON IN THIS ACTIVITY UNTIL THE END!

Lesson 8 Tic-Tac-Toe (Noughts and Crosses)

Meteor Game for Multimedia Fusion 1.5

Flappy Parrot Level 2

Scratch Programming Lesson 13. Mini Mario Game Part 4 Platforms

C# Tutorial Fighter Jet Shooting Game

Step 1 : Earth and Mars Orbit the Sun

Defend Hong Kong s Technocore

A. creating clones. Skills Training 5

Let s start by making a pencil, that can be used to draw on the stage.

Maze Puzzler Beta. 7. Somewhere else in the room place locks to impede the player s movement.

GAME PROGRAMMING & DESIGN LAB 1 Egg Catcher - a simple SCRATCH game

Open the Tech Toys Scratch project. Your club leader will give you a copy of this project, or you can open it online at jumpto.cc/toys-go.

Programming with Scratch

5.0 Events and Actions

Ghostbusters. Level. Introduction:

1 Shooting Gallery Guide 2 SETUP. Unzip the ShootingGalleryFiles.zip file to a convenient location.

GameMaker. Adrienne Decker School of Interactive Games and Media. RIT Center for Media, Arts, Games, Interaction & Creativity (MAGIC)

Quintic Software Tutorial 3

Create a game in which you have to guide a parrot through scrolling pipes to score points.

Create a Simple Game in Scratch

Creating a Mobile Game

Adding in 3D Models and Animations

This tutorial will guide you through the process of adding basic ambient sound to a Level.

DESIGN A SHOOTING STYLE GAME IN FLASH 8

Copyright 2017 MakeUseOf. All Rights Reserved.

Whack-a-Witch. Level. Activity Checklist Follow these INSTRUCTIONS one by one. Test Your Project Click on the green flag to TEST your code

NOVA. Game Pitch SUMMARY GAMEPLAY LOOK & FEEL. Story Abstract. Appearance. Alex Tripp CIS 587 Fall 2014

PING. Table of Contents. PING GameMaker Studio Assignment CIS 125G 1. Lane Community College 2015

Game Making Workshop on Scratch

Defend Hong Kong s Technocore

Create Your Own World

AEROPLANE. Create a New Folder in your chosen location called Aeroplane. The four parts that make up the project will be saved here.

Pong! The oldest commercially available game in history

GALAXIAN: CSEE 4840 EMBEDDED SYSTEM DESIGN. Galaxian. CSEE 4840 Embedded System Design

Creating Computer Games

In this project you ll learn how to create a game in which you have to save the Earth from space monsters.

Create Your Own World

In this project you ll learn how to create a times table quiz, in which you have to get as many answers correct as you can in 30 seconds.

Clone Wars. Introduction. Scratch. In this project you ll learn how to create a game in which you have to save the Earth from space monsters.

Memory. Introduction. Scratch. In this project, you will create a memory game where you have to memorise and repeat a sequence of random colours!

SolidWorks Tutorial 1. Axis

Add in a new ghost sprite, and a suitable stage backdrop.

You are going to learn how to create a game in which a helicopter scores points by watering flowers in the city.

Using Game Maker. Getting Game Maker for Free. What is Game Maker? Non-event-based Programming: Polling. Getting Game Maker for Free

Using Game Maker. Oregon State University. Oregon State University Computer Graphics

In this project, you will create a memory game where you have to memorise and repeat a sequence of random colours!

Creating Generic Wars With Special Thanks to Tommy Gun and CrackedRabbitGaming

Fish Chomp. Level. Activity Checklist Follow these INSTRUCTIONS one by one. Test Your Project Click on the green flag to TEST your code

Target the Player: It s Fun Being Squished

Game Design Curriculum Multimedia Fusion 2. Created by Rahul Khurana. Copyright, VisionTech Camps & Classes

Introduction to Turtle Art

Managing Your Workflow Using Coloured Filters with Snapper.Photo s PhotoManager Welcome to the World of S napper.photo

15 TUBE CLEANER: A SIMPLE SHOOTING GAME

Creating a Maze Game in Tynker

AIM OF THE GAME GLACIER RACE. Glacier Race. Ben Gems: 20. Laura Gems: 13

CREATURE INVADERS DESIGN DOCUMENT VERSION 0.2 MAY 14, 2009

Where's the Treasure?

Using Google SketchUp

Engineering Technology

Technical Manual [Zombie City]

Once you have chosen the water world this is how your screen should look.

Introduction. The basics

Before you start, you must go into Advanced Mode. Go to: File > Advanced Mode. You know you are in Advanced Mode when the checkmark appears.

ADVANCED TOOLS AND TECHNIQUES: PAC-MAN GAME

Transcription:

Scrolling Shooter 1945 Let us now look at the game we want to create. Before creating a game we need to write a design document. As the game 1945 that we are going to develop is rather complicated a full design document would typically consist of a couple of pages. To avoid making this tutorial too long we will just give a short description here. The game will look something like this: The player controls the big yellow plane that flies upwards. All four types of enemy planes are shown in the image above. At the bottom the score, number of lives left, and the damage (in the form of the green bar) are shown. 1945 design document Description In this game you control a plane flying over a sea. You encounter an increasing number of enemy planes that try to destroy you. You should avoid these or shoot them. The goal is to stay alive as long as you can and to destroy as many enemy planes as you can. Game objects The background is formed by a scrolling sea with some islands. The player s plane flies over this sea. You can shoot bullets that destroy enemy planes. There are four types of enemy planes: a plane that you encounter and should be destroyed, a plane that fires bullets downwards, a plane that fires bullets towards the player s plane, and a fast enemy plane that comes from behind rather than from the front. Sounds There are some explosion sounds and there is some background music. 1

Controls The player controls the game with the arrow keys. With the space key you fire a bullet. Only one bullet can be fired every five steps. Game flow The player immediately jumps into the game. The player has three lives. When all lives are gone a high-score table is shown. Pressing the <F1> (help) key will give a brief explanation. Pressing the <Esc> key will end the game. Levels There is just one level, but more and more enemy planes will arrive: first only the easy type but later the more difficult types. 2

Illusion of Motion Creating Motion 1. Firstly add the water background to the game 2. Add background 2.1. Load background 2.2. Find the image called water and double click 3. Create a room called Rm_Main 4. Go to the background tab 5. add the background to the room by clicking on the list button 6. Add the value 2 in the vertical speed 7. Play the game and see if the background is moving as expected Adding Island 1. Add the three island sprites to the game 2. Create objects for all three sprites 3. Each island will have a create event and a step event 4. Add a create event 5. Insert vertical speed and set to 2 6. add a step event 7. Add a test variable 7.1. Variable: Y 7.2. Value: room_height 7.3. Operation: larger than 8. Add a jump to position 8.1. X: random(room_height) 8.2. Y: -65 9. Repeat for Island 2 and Island 3 10. To finish add these island to the stage. 3

Main Plane Now that the scrolling background is ready it is time to make the plane that the player will control. This is actually rather easy. First of all we need a sprite for the plane. When creating this sprite there is one important thing. We set the X and Y of the Origin to 32. This means that the origin of the sprite is the centre of the plane. So whenever we later set the plane at a position or test the position, we mean the position of the centre of the plane, not the top-left point, which is normally used as the origin. This is important to make sure that for example bullets come from the centre of the plane, not from the left side. Creating the Plane 1. Insert the plane sprite and call it spr_myplane 2. Make an object and call it obj_myplane 3. Set the depth of the plane to -100 4. Add a keyboard event: Down 5. In the actions add a test variable 5.1. Variable: Y 5.2. Value: room_height-120 5.3. Operation: smaller than 6. Next add a jump to position 6.1. X: 0 6.2. Y: 2 6.3. Relative is checked 7. Add a keyboard event: Left 8. In the actions add a test variable 8.1. Variable: X 8.2. Value: 40 4

8.3. Operation: larger than 9. Next add a jump to position 9.1. X: -4 9.2. Y: 0 9.3. Relative is checked 10. Add a keyboard event: Up 11. In the actions add a test variable 11.1. Variable: Y 11.2. Value: 40 11.3. Operation: larger than 12. Next add a jump to position 12.1. X: 0 12.2. Y: -2 12.3. Relative is checked 13. Add a keyboard event: Right 14. In the actions add a test variable 14.1. Variable: X 14.2. Value: room_width-40 14.3. Operation: smaller than 15. Next add a jump to position 15.1. X: 4 15.2. Y: 0 15.3. Relative is checked 16. Add the plane to your room 17. Your plane should now move around the room without going too far off the screen. Test your plane to make sure, once this has been done you can move on 5

to adding some enemies to avoid. Creating an Enemy 1. Insert an enemy sprite into the game and call it spr_enemy1 2. Also insert the explosion1 sprite and sound, this way we can add some effects to the game. 3. Create an object for explosion 1 3.1. Add an other event called animation end 3.2. In actions destroy the instance 3.3. Select object: Obj_explosion1 4. Create an enemy object and call it obj_enemy1(check solid) 5. Firstly add a create event 5.1. Set the vertical speed to 4 6. Next add a step event 6.1. Add a test variable 6.2. Variable: Y 6.3. Value: room_height+32 6.4. Operation: larger than 7. Add a jump to position 6

7.1. X: random(room_width) 7.2. Y: -16 8. Next add a collision event with the object: MyPlane 8.1. In actions firstly play the sound: Explosion1 9. Then use a create instance 9.1. Object: obj_explosion1 9.2. Relative (this will place the explosion where the plane is) 10. Add a jump to position 10.1. X: Random(room_width) 10.2. Y: -16 11. Add a set Health 11.1. Value: -30 11.2. Relative 12. Add enemy object to the room and test Creating a bullet 1. Insert a Bullet sprite (or make your own) 2. We create an object with this sprite. 3. We will give it the default depth 0 such that it will appear below the plane but above the islands. 4. In the create event we give it a vertical speed of 8 to make it move upwards. 5. Add a step event 6. Add a test variable 7

6.1. Variable: Y 6.2. Value: -16 6.3. Operation: smaller than 7. Add a destroy the instance 7.1. Make sure that self is checked (self meaning the bullet sprite) 8. Lastly open obj_enemy1 and add a Collision event with the bullet you just created 9. Again add the play sound : Explosion 1 10. Destroy the instance 10.1. Other (in this case the bullet) 11. Then add a create instance 11.1. Object: obj_explosion1 11.2. Relative (with will place the explosion where the plane is) 12. Add a jump to position 12.1. X: random(room_width) 12.2. Y: -16 13. Add a set the score relative to 5 14. Save 8

Shooting the bullet 1. Go to the obj_myplane 2. Add a create event 3. Add a set variable called can_shoot 3.1. Variable: can_shoot 3.2. Value: 1 4. Add a keyboard event using the space bar, this will shoot the bullet at any enemies 5. Firstly we want to test whether can_shoot is equal to 1 6. Next we will create an instance of the object: OBJ_Bullet 6.1. X = 0 6.2. Y= 16 6.3. Relative is checked 7. Then set the Variable can_shoot to 0 8. Lastly set Alarm 8.1. Step > 15 8.2. No: Alarm 0 9. Add a new event > Alarm > Alarm 0 10. In alarm 0 we want to add set variable 10.1. Variable: can_shoot 10.2. Value: 1 11. Save and test that the bullet will fire; also check that only one bullet is being created. 9

12. Scores, Lives and Damage To make the game more interesting we will add lives and damage. 1. Create a new object called obj_controller_life, for this game controller will not have sprites attached. 2. Change the depth to - 10000 3. Insert the bottom and life sprites from the images folder 4. Add a create event with the following 5. Add a draw event 6. Add a draw sprite (this can be found in the draw tab) 6.1. Sprite: Spr_bottom 6.2. X: 0 6.3. Y: 404 6.4. Subimage:-1 10

7. Set the colour 7.1. Choose a yellow (or any colour that you like) 8. Add a draw score 8.1. X: 180 8.2. Y: 440 9. Add a draw life images 9.1. X:16 9.2. Y:410 9.3. Image: Spr_lives 10. Add a draw health 10.1. X1: 12 10.2. Y1: 449 10.3. X2: 138 10.4. Y2: 459 10.5. Back colour: none 10.6. Bar colour: green to red 11. Save your work 12. Next add an other event: No More Lives 12.1. Show the high score 12.2. Restart the game 13. Add the controller object to the room (it will appear as a blue circle with a question mark) 14. Create a new sprite: using the second explosion sprite 15. Add a sound: explosion 2 16. Create a new object called obj_explosion 16.1. Add an other event > animation end 16.2. Destroy the instance 17. Return to the controller and add the following 18. Add an Other event: No more Health 18.1. Set the health to 100 18.2. Play snd explosion two 18.3. Add a change of instance 11

Explosion 2 If you had tested your game you may notice that when the plane runs out of health it gets destroyed. To reset the plane to the screen go to obj_explosion2 and add the following. 1. Add a other event called animation end 2. Add a sleep 3. Create an instance of obj_myplane 3.1. check relative 4. set the lives to -1 (relative) You have now created a very basic scrolling shooter. However we are not finished, we need to now add some more complexity to the game. Creating a Controller_enemy 1. Create a new object and call it obj_controller_enemy 2. Add a Create event 2.1. Create instance 2.1.1. Object: Obj_enemy1 2.1.2. X: random(room_width) 2.1.3. Y: -16 2.2. Create instance 2.2.1. Object: Obj_enemy1 2.2.2. X: random(room_width) 2.2.3. Y: -100 2.3. Set Alarm 12

2.3.1. Number of Steps: 200 2.3.2. In alarm no: Alarm 0 3. Add an Alarm event for Alarm 0 3.1. Create instance 3.1.1. Object: Obj_enemy1 3.1.2. X: random(room_width) 3.1.3. Y: -16 3.2. Set Alarm 3.2.1. Number of Steps: 500 3.2.2. In alarm no: Alarm 0 13

More Enemies To make this game harder three more enemy planes are going to be added. The second enemy plane will shoot a bullet straight down. The third will shoot a bullet at the plane. The fourth enemy will fly up from the bottom of the screen, making it the hardest enemy to avoid or shoot. Bullet for Enemy 1. Insert another bullet and call it spr_bullet_enemy 2. Edit the sprite so that it is smaller than the previous bullet 3. Right click on obj_bullet and select duplicate 4. Call it obj_enemybullet 5. Change the sprite to the smaller bullet 6. Change the vertical speed to 8 7. In the step event 7.1. Change the test variable 7.1.1. Variable : y 7.1.2. Value: 480 7.1.3. Operation: Greater than 8. Add a collision event with the obj_myplane 8.1. Set health to relative -5 8.2. Destroy the instance of the bullet 8.3. Play explosion sound 9. 14

Enemy 2 1. Insert a new sprite > spr_enemy 2 2. Right click on object_enemy1 and select duplicate 3. Change the sprite to spr_enemy 2 and call it obj_enemy2 4. In the objects step event add the following 4.1. Add chance 4.1.1. Sides: 30 4.2. Create instance 4.2.1. Object: Obj_enemybullet 4.2.2. X: 0 4.2.3. Y: 16 4.2.4. Relative 5. In the collision with the bullet 5.1. Set the score, change from 5 to 10 Bullet 2 1. Right click obj_enemy_bullet and select duplicate 2. Change the name to obj_enemybullet2 3. In the create event add the following 3.1. Test instance count 3.1.1. Object: Obj_myplane 3.1.2. Number: 0 3.1.3. Operation: Larger than 3.2. Move towards point 3.2.1. X: Obj_myplane.x 3.2.2. Y: Obj_myplane.y 3.2.3. Speed: 8 3.3. Else 3.4. Vertical Speed 3.4.1. Set vertical speed to 8 Enemy 3 1. Insert the third plane sprite and call it > spr_enemy3 2. Duplicate obj_enemy 2 3. Rename it > obj_enemy3 15

4. Change the sprite to spr_enemy3 5. As this is the third enemy if we will change the score to 20 6. In the step event change the following 6.1. Change the chance to 80, this will make the bullet harder to avoid 6.2. Also change the create instance to Obj_enemybullet2 Enemy 4 1. Right click on obj_enemy3 and duplicate 2. Rename the duplicated object > obj_enemy4 3. Add the correct enemy sprite 4. In the create event 4.1. Set the vertical speed to 4 5. In the step event 5.1. Add a test variable 5.1.1. Variable: Y 5.1.2. Value: -32 5.1.3. Operation: Smaller than 5.2. Jump to position 5.2.1. X: Random(room_width) 5.2.2. Y: Room_height + 16 6. Add a collision with the my plane object 6.1. Add a jump to position 6.1.1. X: random(room_width) 6.1.2. Y: room_height + 16 7. add a collision with the obj_bullet 7.1. Add a jump to position 7.1.1. X: Random(room_width) 7.1.2. Y: room_height+16 7.2. Set score to relative 40 Enemy Controller 1. Open the enemy controller > obj_controller_enemy 2. Add a create event 16

2.1. Add set alarm 2.1.1. Number of Steps: 1000 2.1.2. In alarm no: alarm 1 2.2. Add set alarm 2.2.1. Number of Steps: 2000 2.2.2. In alarm no: alarm 2 2.3. Add set alarm 2.3.1. Number of Steps: 3000 2.3.2. In alarm no: alarm 3 3. Add an alarm event > alarm 1 3.1. Create instance 3.1.1. Object: obj_enemy2 3.1.2. X: Random(room_width) 3.1.3. Y: -16 3.2. Add set alarm 3.2.1. Number of Steps: 500 3.2.2. In alarm no: alarm 1 4. Add an alarm event > alarm 2 4.1. Create instance 4.1.1. Object: obj_enemy3 4.1.2. X: Random(room_width) 4.1.3. Y: -16 4.2. Add set alarm 4.2.1. Number of Steps: 1000 4.2.2. In alarm no: alarm 2 5. Add an alarm event > alarm 3 5.1. Create instance 5.1.1. Object: obj_enemy4 5.1.2. X: Random(room_width) 5.1.3. Y: room_height+16 5.2. Add set alarm 5.2.1. Number of Steps: 300 5.2.2. In alarm no: alarm 3 6. Add the object to the room, and delete any enemy planes already in the room. 17

7. Save and test. Enemy planes should come at random times. Check and make sure all 4 planes enter the screen. Finishing the Game You have now finished your first scrolling shooter. At this stage to finish you can add any finishing touches you would like. 18