Build an Amazing Space Shooter in Gamemaker
5.0 (7 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
542 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Build an Amazing Space Shooter in Gamemaker to your Wishlist.

Add to Wishlist

Build an Amazing Space Shooter in Gamemaker

Learn the basics of Gamemaker in a short time, and then apply that knowledge to make your own games and apps.
5.0 (7 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
542 students enrolled
Created by Peter Morgan
Last updated 9/2017
Current price: $12 Original price: $95 Discount: 87% off
3 days left at this price!
30-Day Money-Back Guarantee
  • 4.5 hours on-demand video
  • 3 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion

Training 5 or more people?

Get your team access to Udemy's top 2,000 courses anytime, anywhere.

Try Udemy for Business
What Will I Learn?
  • Learn the beginnings of coding in GML, the language of GameMaker
  • Produce your own SpaceBlast game you can then share with friends.
  • Build on your new programming foundation to start creating your own games.
  • Learn of online resource sites which offer free graphics, sound and music for you to use in your games
View Curriculum
  • Students will need a Windows or Mac PC and be able to use it at a beginner level.
  • Student will require the Free GameMaker Studio software package downloaded, ready to install on their PC.

If you have even a slight interest in making games, then this beginner game maker course is for you.  We will work together over the next 4 and 1/2 hours to make a really fun game which will leave your family and friends in disbelief that you created it yourself. There's even a challenging boss fight to conquer. You'll be amazed at how easy the program is to use and navigate once you begin.

I'll show you the basics of building using Gamemaker Studio, giving you the tools to then move on and start creating your own games.  Some things you will learn include:

  • Controlling your ship with the mouse and keyboard
  • Adding multiple enemies and multiple enemy attack patterns that increase the difficulty over time.
  • How to add a menu system, and a save and load system.
  • The power of parenting objects to minimise the workflow.
  • Creating multiple powerups to make the game more fun and engaging.
  • Utilising simple, but useful, effects to make the game feel more alive.
  • How to incorporate a boss fight that returns periodically, but offers more of a challenge each time.
  • Great sites that give you free sounds and music to use in your own games.

Join me in this course, but be prepared to change the way you look at games forever.

To future students, my challenge to you is to beat my current highscore of 9220, that 3rd boss is kind of tough.

Note: This course is based on Gamemaker Studio 1.x, and demonstrates how to obtain the free version from YoYo Games.  As of March 2017 though, the registration for new licenses from yoyogames has been discontinued.  If you already have a license for Gamemaker Studio 1.x you can use that to follow along, otherwise you can use the free Gamemaker 2 trial version.  Be aware it is limited in how many sprites and objects it can create and also has a different interface.  Version 1.4x can still be downloaded though, and the link is provided in the first lecture.

Who is the target audience?
  • This course is an introduction to game making, aimed at anyone who has an interest in learning how to make games.
Compare to Other GameMaker Studio Courses
Curriculum For This Course
33 Lectures
Your First Steps
1 Lecture 02:06
  • Introduction and welcome to the course.
  • Demonstration of what you will be learning to make over the course.
  • Instructions on how to install Gamemaker in preparation for using it in the following lecture.
Preview 02:06
Building the Games Foundation
6 Lectures 51:15
  • Overview on the basics of the Gamemaker program layout
  • Build the first room of the game
  • Room window, room views and ports explanation
  • How to obtain and use the Course Resource zip file
  • How to load a background to the room
  • Creating a Sprite
  • Creating an Object
  • Information on how to add/remove objects into the room
  • How to run the game
Building Your First Room

  • Add movement and shooting controls to the player ship
  • How to capture input and use that input to control an object
  • How to handle objects leaving the room
Controlling Your Ship

  • Adding controlled shooting to the player ship
  • Introduction to alarms
  • How to set the direction and angle of objects
Defining the game as a Shooter

  • Overview of the Sprite Editor
  • Introduction to collision masks
  • Simple enemy attack pattern
  • Introduction to collisions
Adding an Enemy

  • Give enemies some variety by utilising the image_speed variable
  • Introduction to using the image_index of a sprite
  • Improve the game collisions
  • Add the ability to restart the game by utilising a game control object
  • Introduction to Macros

  • How to fade an object out over time using alpha values, and the image_alpha variable
  • How to scale an object
  • How to add an explosion to an object
Preview 06:42

Questions to test your knowledge.

Building The Games Foundation
6 questions
Creating the Game Mechanics - Part 1
7 Lectures 47:52
  • Overview of what will be taught in Section 3 of the course
  • Adding a parent object and what benefits that brings

  • Description of the three variable types in Gamemaker - Local, Instance and Global
  • Add an Enemy Spawner object for generating random enemies
Enemy Spawning

  • How to spawn enemies outside of the room
Improved Spawning

  • Using the sprite editor to vary the colour of the enemies
  • Modify the spawning code to randomly pick one of the coloured enemies
  • Make the enemies aware of the player and set their direction when spawned
Varied Enemies

  • Using the Draw event to add a score to the game
  • How to add a font to the game

  • Add a shield powerup the player can fly over to pickup, restoring a shield point.
Shield Powerup

  • Add a shield graphic to the user interface (GUI) to represent the players current shield
  • Using image_index, image_speed and sprite frames to easily represent player stats
  • Options for player/enemy ship collisions.
Shield GUI

Review of the Game Mechanics - Part 1 section

Creating the Game Mechanics - Part 1
6 questions
Creating the Game Mechanics - Part 2
9 Lectures 01:07:14
  • Add another enemy type that can shoot at the player
  • Description of the event_inherited() function
Adding Another Challenge

  • Add the collision code for the enemies laser
  • Add minor explosions for laser hits
Enemy Lasers

  • Add the new enemy shooter to the enemy spawner object
  • Description of the hspeed and vspeed variables
Another Enemy Spawn

  • How to add a difficulty curve based on player score
Increasing the Difficulty

  • Add a powerup smartbomb for destroying multiple enemies at once
  • Identify objects that reside within a radius of the player
Smartbomb Powerup

  • Identifying enemies to enable custom powerup drops
  • Add a smart bomb GUI to represent the number of bombs held
  • How to add debugging/testing abilities
Balancing the Game

  • Add a screen flash effect, which will initiate when the smart bomb explodes
  • Introducing view_xview and view_yview to draw a rectangle.  Note this can also be done with (x,y,room_width,room_height,false) as our room is the same size as our view.
Flashy Impact

  • Add a screen shake effect, which will initiate when the smart bomb explodes
  • Extend our look at view_xview and view_yview to now move the view slightly
Shake the World

  • Add a smart bomb ring demonstrating the explosion size
  • How to draw and animate a circle expansion
Preview 06:54

A review of the Game Mechanics - Part 2 section

Creating the Game Mechanics - Part 2
6 questions
Boss Fight!
5 Lectures 55:33
  • Add Boss sprite and object
  • Create bosses entrance
  • Introduce states via a boss fight state
Boss Fight

  • Give the boss the ability to shoot a laser directly towards the player
Boss Shooting

  • Create a homing missile
  • Code the missile giving it a gentle curve to it's turning when tracking the player
  • Create a ability on the boss enabling missiles to be fired at various times of the battle
  • Create a particle smoke effect for the missile fire
Homing Missile

  • Add explosion and effects for when the boss is destroyed
  • Add ability to generate progressively harder bosses based on players score
Destroy the Boss

  • Add ability for damage to be shown on the boss when hit
  • Incorporate shield bar into the bosses sprite
Feedback to the Player

Review questions for the boss fight section.

Boss Fight!
6 questions
Finalising the Game
5 Lectures 48:11
  • Overview of a website where you can create game sounds and download royalty free music
  • How to quickly import multiple sound files into Gamemaker
  • Add sound file to certain parts of the game
  • How to use audio emitters and gain with your audio

Music supplied in this lecture are credited below:

Severe Tire Damage Kevin MacLeod ( 
Licensed under Creative Commons: By Attribution 3.0

Sounds! Bringing the Game to Life

  • Give more control over the players ship
  • Add a custom cursor
  • Add smoke behind the player ship and bosses missile with a particle effect
Particles and Polish

  • Creation of a parent button
  • Add new Menu room and add the buttons for the menu
  • Loading a custom font for the button text
  • Persistent objects and how to use them in the game efficiently
  • Adding a highscore

Creating a Menu

  • Defining a script and why you would use them in the game
  • How to save and load the highscore - saving and loading text files
  • Capturing if the player achieved a highscore in-game
  • Add a menu system in game to return to the main menu
Saving and Loading a Highscore

  • Adding a title screen
  • Adding a game over screen
  • Compiling the game into an EXE for distribution.

Note: if you want to compile the game so it runs fullscreen, go to the Global Game Settings button, then under Windows, and the Graphics tab select the "Start in Fullscreen Mode" option.

Also, don't forget to change your code and disable your testing keys - escape and also 'T' which generated the smartbombs!

Thank you for joining me for this course, hopefully you can take what you’ve now learnt and apply it to your own games.  I’ll have future Gamemaker courses coming up, so keep an eye out for those.  I also have a youtube channel and a twitch stream coming up where you can see tutorials and other great info to help you along the way.

Please leave any comments in the comments section and I’ll answer them as promptly as possible.  Thanks again, and congratulations on creating your first game.

Title Screen

Questions on finalising the game

Finalising the Game
6 questions
About the Instructor
Peter Morgan
5.0 Average rating
7 Reviews
542 Students
1 Course
Game Maker and Developer

I spent my youth teaching High School Mathematics and Computer Studies, before moving into the business world and delivering tech support, web design and programming improvements.

Eventually my love of gaming called and I started to move my programming skills more into the gaming side of things.  Gaming is such a fundamentally fun thing to do for many people, and the rise of games in the last generation as an acceptable form of social media has been phenomenal.  I believe we're just seeing the start of our gaming potential as a species, and am thrilled to be a part of the rising wave.