1 / 52

Game Maker Tutorial

Game Maker Tutorial. Where to Get. Game Maker Tutorials http://ictmindtools.net/gamemaker/tutorials/ Introduction Clickball Where is it? Shooting Maze Game Monsters Maze Game 2 Scoring & Lives Sprites Platform Moves Jumping Ladders Backgrounds Variables Programming Challenges

hieu
Télécharger la présentation

Game Maker Tutorial

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Game Maker Tutorial

  2. Where to Get.. • Game Maker Tutorials • http://ictmindtools.net/gamemaker/tutorials/ • IntroductionClickball • Where is it?Shooting • Maze GameMonstersMaze Game 2 • Scoring & LivesSpritesPlatform MovesJumping • LaddersBackgroundsVariables • ProgrammingChallenges • Game Maker 8.1 Download • http://www.yoyogames.com/

  3. User Interface rooms: the scenes (levels) in which the objects live backgrounds: the images used as background for the rooms objects: the things in the game instances: one particular occurrence of an object sprites: images that are used to show the objects sounds: these can be used in games, either as background music or as effects scripts: small pieces of code that can be used to extend the possibilities of your game Introduction

  4. Your First Game • Step 1: Set up the Game area • Start Game Maker and create a room where the action will happen: • Click the 'Add Room' icon • Choose a background colour • In settings, make the room caption 'Catch the Ball'

  5. Your First Game • Step 2: Add in the Sprites you need - a ball and a wall • Click the 'Add Sprite' icon • Name it sprBall • Click Load Sprite, and find the ball image. • We also need a wall sprite. • Find it in the Pacman folder. • Name it sprWall • Naming Sprites, Sounds & Objects • every sprite  sprXXXX • the sounds  sndXXXX • the objects  objXXXX.

  6. Your First Game • Step 3: Create the objects • create ball and wall objects • need an object to put in your game.  • A sprite just represents the object. • Click the Add Object icon • Name it objBall • Choose the Ball sprite to represent the object • don't make it solid. (It's best not to make moving objects solid.) • It interferes with the Game Maker collision detection system and your object may become 'stuck' • Add in a wall object.  • Name it objWall, choose the Wall sprite, and make it solid.

  7. Your First Game • Step 4: add them to the room • Put it in the room and add a wall • Open the room • Add in a ball (left click) • Delete (right click) • Add in walls (hold Shift and click) • Copy Multiple Object (Shift + Left click) • Move Object (Ctrl + Left Click)

  8. Your First Game • Step 5: Set up the Events for when your game is played • Events are the things that happen in your game. • We want the ball to start moving in a random direction. • Open the properties for the ball object • Add in an Event for when the ball is created. • Choose start moving in all directions at speed 8 • the ball moves 8 pixels for each step of the game.  • If the game is running at the normal speed of 30 frames per second, then there will be 30 steps every second.  • You can change the game speed in the settings tab of the room properties    

  9. Your First Game • Step 6: set a bounce action for when the ball collides with the wall. • Add in an event for when the ball collides with the wall. • Set the ball to bounce. • Step 7: add score • Add in an event to the ball object for when the left mouse button is pressed. • Set the score to 1, but make sure you choose Relative. • Left Button vs Left Press ?? • Relative vs Absolute ??

  10. Your First Game • Step 8: add alarm • Approx every second we will make the ball change direction.  • setting an alarm clock to trigger an event every second. • set the alarm clock when the game first starts, • each time the alarm goes we will make the ball change direction • reset the alarm.

  11. Your First Game • Step 9: add sounds • set a sound(sndBeef1) for when the ball collides with the wall. • set a sound(sndGunshot1) to the ball object for when the left mouse button is pressed. • Create beef1 and gunshot1 sounds • the collision event with the wall • Play sndBeef1 • the left button press event • Play sndGunshot1

  12. Your First Game • Step 10: setting a background • improve the appearance by setting a background. • Step 11: add information • add information to tell the user how to play the game

  13. Your First Game • Step 12: Ending your Game • Let's say we want the game to end when the player's score is 20. • Each time we add to the score, we will check whether the score is equal to 20 Ending the Game more Gracefully • Extension • improve the Ending Game by creating a text object and putting it in an ending room

  14. Your First Game • Extension • Making your Ball Bounce Accurately off Walls • you need to treat horizontal and vertical walls separately.  • Create sprites and objects for a ball, a horizontal wall block and a vertical wall block. • Add a room and draw a box around the ball using the sprites. • start the ball moving in a random direction and set events to make the ball bounce

  15. Official Tutorial • Official Tutorial • Tutorial: What is a Good Game? (zip file, 190 KB) • Tutorial: Your First Game (zip file, 850 KB) • Tutorial: Creating a Scrolling Shooter (zip file, 1.8 MB) • Tutorial: Maze Games (zip file, 1.4 MB) • Tutorial: Platform Games (zip file, 1.6 MB) • Tutorial: 3-Dimensional Games (zip file, 1.1 MB) • Tutorial: Multiplayer Games (zip file, 210 KB) • Tutorial: A First Person Shooter (zip file, 2.4 MB)

  16. A Scrolling Shooter • Variables and properties • Properties/variables that each instance • x  x-coordinate of the instance • y  y-coordinate of the instance • hspeed  horizontal speed (in pixels per step) • vspeed  vertical speed (in pixels per step) • direction  current direction of motion in degrees • 0-360: 0 is horizontally to the right • speed  current speed in this direction • visible  whether the object is visible (1) or invisible (0) • solid  whether the object is solid (1) or not solid (0)

  17. A Scrolling Shooter • Variables and properties • global variables: • score  current value of the score • lives  current number of lives • mouse_x  x-position of the mouse • mouse_y  y-position of the mouse • room_speed  current speed of the room (in steps per second) • room_caption  caption shown in the window title • room_width  width of the room in pixels • room_height  height of the room in pixels

  18. A Scrolling Shooter • Game Maker Variable • in the Control tab: • Set the value of a variable • If a variable has a value • A Scrolling Shooter : 1945

  19. A Scrolling Shooter • The illusion of motion • background image  back_water • set the Vert. speed to 2.

  20. A Scrolling Shooter • The illusion of motion • create three sprites with the images • island1.png, island2.png, island3.png  spr_islandX • uncheck the box Precise collision checking • create objects with three sprites • spr_islandX  obj_islandX • Uncheck solid • Depth : 10000 • The instances with highest depth are drawn first

  21. A Scrolling Shooter • The illusion of motion • Add Event to obj_islandX • Create : Set the vertical speed  2 • Step –65 for the y-position to make sure the island starts completely above the room.

  22. A Scrolling Shooter • The main plane • create spr_myplane with myplane_strip3.png • in files that end with _stripXX • XX indicates the number of subimages. • check the box Precise collision checking • create obj_myplane • spr_myplane  obj_myplane • Uncheck solid • Depth : -100

  23. A Scrolling Shooter • The main plane • Add Event to obj_myplane • Add keyboard event • <Left> : if (x > 40)  (-4,0) • <Right> : if (x< room-width-40)  (4,0) • <Up>: If (y > 40)  (0,-2) • <Down> : If (y<room_height-120)  (0, 2) Don't forget to check the box labeled Relative positive y-direction is downwards Origin : (0,0)

  24. A Scrolling Shooter • Enemy and weapon • create spr_bullet with bullet.png • create obj_bullet ( spr_bullet) • Add Event • Create : Set Vertical Speed  -8 • Step

  25. A Scrolling Shooter • Enemy and weapon • Add Event to obj_myplane • Create : • Alarm 0 : • <Space> • Test Variable • can_shoot equal to 1 • Start of a block • Create instance (0, -16) , relative • Set Variable can_shoot  0 • Set Alarm 0 Number of Step  15 • End of a block

  26. A Scrolling Shooter • Enemy and weapon • Add sound • snd_explosion1.wav • snd_explosion2.wav • Add Sprite & Object Explosion • spr_explosionX  obj_explosionX • Add Event : obj_Explosion1 • Add Event : obj_Explosion2

  27. A Scrolling Shooter • Enemy and weapon (make the first enemy) • create spr_enermy1 with enermy1_strip3.png • create obj_enenrmy1 ( spr_enenmy1) • Depth  0 • Add Events • Create • Create : Set Vertical Speed  4 • Step

  28. A Scrolling Shooter • Enemy and weapon (make the first enemy) • Collision : obj_myplane • Collision : obj_bullet

  29. A Scrolling Shooter • Add Object • Create object : controller_enemy • Uncheck  visible • Add Event • Create • Alarm 0 • Add object to room

  30. A Scrolling Shooter • Scores, lives, and damage • Create snd_background with background.mid • Create spr_bottom with bottom.png • Create spr_life with life.png • Create object : control_life • Add Events • Create

  31. A Scrolling Shooter • Scores, lives, and damage • Add Events • No More Lives • No More Health

  32. A Scrolling Shooter • Draw

  33. A Scrolling Shooter • Scores, lives, and damage • Change Events in obj_enemy1 • Collision : obj_myplane

  34. A Scrolling Shooter • Scores, lives, and damage • Change Events in obj_explosion2

  35. A Scrolling Shooter • More enemies • create spr_enermy2 with enermy2_strip3.png • create obj_enermy2 ( spr_enermy2) Depth  0 • Add Event • Create : Set the vertical speed 4 • Step • Create instance • obj_enermybullet1 (0,16) • Collision : obj_myplane • Collision : obj_bullet

  36. A Scrolling Shooter • More enemies • create spr_enermy3 with enermy3_strip3.png • create obj_enermy3 ( spr_enermy3) Depth  0 • Add Event • Create : Set the vertical speed 4 • Step • Create instance • obj_enermybullet2 (0,16) • Collision : obj_myplane • Collision : obj_bullet

  37. A Scrolling Shooter • More enemies • create spr_enermy4 with enermy4_strip3.png • create obj_enermy4 ( spr_enermy4) Depth  0 • Add Event • Create : Set the vertical speed -4 • Step • Collision : obj_myplane • Collision : obj_bullet

  38. A Scrolling Shooter • More enemies • Create snd _explosion3 with explosion1.wav • Create spr_enermybullet1 with enermybullet1.png • Create obj_enermybullet1 ( spr_enermybullet1) Depth  0 • Add Event • Create : Set the vertical speed 8 • Collision : obj_myplane • Outside Room • Destroy the instance

  39. A Scrolling Shooter • More enemies • Create spr_enermybullet2 with enermybullet2.png • Create obj_enermybullet2 ( spr_enermybullet2) Depth  0 • Add Event • Create • Collision : obj_myplane • Outside Room • Destroy the instance

  40. A Scrolling Shooter • More enemies • Change Events : controller_enermy • Create • Alarm 0

  41. A Scrolling Shooter • More enemies • Change Events : controller_enermy • Alarm 1 • Alarm 2 • Alarm 3 5 3

  42. Maze Game • Add 2 rooms : Set the room size to be 480x480 pixels and set the grid to be 32x32 pixels • adding 3 sprite • sprWall sprPerson sprTarget • Create objects • Now create a wall object: Name it objWall • Use the wall sprite • Make it solid (so things can't pass through it) • Create the person object : Name it objPerson • Use the person sprite • Create a target object : Name it objTarget • The target object should not be solid, as the player needs to be able to move on top of it.  When the player collides with the target object, the game will continue on to the next room.

  43. Maze Game • Set up movement for the person • Add an event to the person object for the Keyboard  <Left> • Add the action from the Control tab 'If instance is aligned with grid‘ • Set the snap horizontal and snap vertical to be 32 pixels. • Add a start moving in direction • Set the direction to be left and speed to be 4 • Add actions for the up, down and right keys.  (You can use the duplicate event option to make this job easier) • To stop the person moving • add actions for the <No Key> event • Click the centre block in the 'Start moving in a direction' options.

  44. Maze Game • Set up collision handling • If the person collides with a wall it should stop, so add a collision event • Add a collision event to the target object for a collision with objPerson

  45. Maze Game • Draw 2 maze-like rooms • making sure that you have walls all around the outside.  • Place the person and target at the beginning and end of your maze

  46. Monsters • Add in 2 sprites • one facing left and the other facing right • objMonsterleft, bjMonsterRight • Make a monster object : objMonster • Add a create event for objMonster • Add in a Start Moving action • make it start moving to the right. • Add a collision event for objMonster • add in the following actions: Paths are another way of doing the same thing, but without using collisions with blocks to turn the monster around.

  47. Maze Game 2 • To make the maze more interesting, we should be collecting diamonds along the way.  • A door stops the person from getting to the target.  When all the diamonds are gone, the door disappears. • The target does not appear in the room until all the diamonds are collected.  • Add 2 new sprites • sprDoor and sprDiamond  • Add 2 new objects • objDoor and objDiamond.  • Make the door solid as it acts like a wall

  48. Maze Game 2 • Add sounds • for picking up the diamonds : sndDiamond • for opening the door : sndDoor. • Place diamonds around your maze. • The objDiamond should have a collision event with the person • It should then play the diamond sound and destroy itself

  49. Maze Game 2 • Place the door so that it blocks access to the target • Don't put any diamonds on the other side of the door! • In the person object • add a collision event with the door object, stopping the person and aligning it with the grid.  • Just the same as you did with the wall object • When all the diamonds are gone, the door should play a sound and destroy itself.  • Add the step event to the door object • Add the 'If the number of instances is a value' action.  (On the Control tab) Choose these options: • Step event : occurs once for every step of the game, which is usually 30 times a second.

  50. Maze Game 2 • play a sound and destroy the door if there are no diamonds left • add block markers to our actions •  Save and play your game to test whether it works as expected.

More Related