Video summary

GameMaker Studio 2: Complete Platformer Tutorial (Part 1: Basics)

Main summary

Key takeaways

Gaming

GameMaker Studio 2: Complete Platformer Tutorial (Part 1: Basics) - Summary

This tutorial covers the foundational steps to create a simple platformer game in GameMaker Studio 2, aimed at beginner developers. The instructor guides viewers from starting a blank project to having a basic player character that can move left and right, collide with walls, fall due to gravity, and jump.

Storyline / Goal:

  • Build a complete platform game from scratch.
  • Progress from simple colored squares to a functional platformer with smooth movement, collision, gravity, and jumping mechanics.
  • Later parts will include menus, screen shake, flourishes, and more advanced features.

Gameplay Highlights:

  • Player represented by a green square sprite.
  • Walls represented by gray rectangles.
  • Player can move left and right.
  • Player collides properly with walls.
  • Gravity pulls the player down.
  • Player can jump when on the floor.

Step-by-Step Guide & Key Tips:

1. Setting up Sprites:

  • Create two sprites: one for the player (s_player) and one for the wall (s_wall).
  • Use 32x32 pixel size (default can be 64x64 but can be changed in preferences).
  • Fill player sprite green, wall sprite gray.
  • Set the origin point of sprites to the middle center (16x16) for consistent positioning.

2. Creating Objects:

  • Create two objects: o_player and o_wall.
  • Assign the corresponding sprites to each object.
  • Objects hold the game logic.

3. Designing the Room:

  • Use the default room (room0).
  • Place player and wall objects in the room.
  • Walls form the level boundaries and platforms.
  • Use the instance layer to place objects.
  • Drag and drop with ALT key to place multiple instances.

4. Basic Movement Logic:

  • Add a Create Event in o_player to initialize variables:
    • HSP (Horizontal Speed) = 0
    • VSP (Vertical Speed) = 0
    • GRV (Gravity) = 0.1 (later increased to 0.3)
    • WALK_SP (Walk Speed) = 4
  • Variables store speeds and gravity values.

5. Input Handling (Step Event):

  • Use the Step Event (runs every frame, ~60 FPS):
    • Check keyboard inputs for left, right, and jump keys.
    • Use keyboard_check() for continuous key hold detection.
    • Use keyboard_check_pressed() for detecting jump key press on the current frame only.
  • Calculate movement direction:
    • move = key_right - key_left (results in 1, 0, or -1)
    • Set horizontal speed: HSP = move * WALK_SP
  • Update player’s x position: x += HSP

6. Collision Detection and Response:

  • Use place_meeting() to predict collisions before moving.
  • For horizontal movement:
    • If collision detected at x + HSP, set HSP = 0.
    • Use a while loop to move the player pixel by pixel closer to the wall until just touching it.
  • For vertical movement:
    • Similar logic applied using VSP and y coordinate.
  • This ensures smooth, pixel-perfect collision handling.

7. Gravity and Vertical Movement:

  • Increment vertical speed by gravity each frame: VSP += GRV
  • Update vertical position: y += VSP
  • Player falls naturally and lands on platforms.

8. Jumping:

  • Check if player is standing on the floor using place_meeting(x, y + 1, o_wall)
  • If on floor and jump key pressed, set VSP = -7 to move upwards.
  • Gravity will pull the player back down after the jump.

Additional Tips:

  • Use comments (//) to label sections of code for clarity.
  • Use semicolons to end lines of code (good practice).
  • Variables declared with var inside the step event are temporary and last only for that frame.
  • The tutorial encourages rewatching and checking the GameMaker manual for functions used.
  • The game runs best at 60 FPS for smooth movement.

Outcome:

By the end of this part, you have a working player character that moves left and right, collides correctly with walls, falls due to gravity, and can jump—forming the core mechanics of a platformer.

Featured Gamer / Source:

  • Tutorial by Shaun Spalding, a well-known GameMaker educator.
  • Shoutout to Patreon supporters: Dan Angel Rodriguez, Harold Gidry, Jason McMillan.

Rate this summary

Your feedback will help improve summaries.

Improve this summary

Reprocess with a stronger model when the summary feels incomplete or inaccurate.

Pro

Translate summary in another language

Pro

Ask questions to this video

Chat for follow-up questions, clarifications, and source-backed answers.

Coming soon

Share this summary

Original video