2D Video Game Programming Level 1-2

Posted on
Course Dates: Open-ended
Enrollment Dates: Enroll Anytime
Who can Enroll: Anyone
Course Language: English
Price:  FREE
Alex Chacon
Alex Chacon
Alex Chacon is a video game developer and workshop instructor for programs that help teach creative computer skills. With over a decade of programming and independent game development experience Alex has put together several unreleased games and mini-games, animated videos and other projects for fun and for personal education purposes. For the past five years ...
2D Video Game Programming Level 1-2

About this course

Level 1-2 Overview:

You will build a space shooter step-by-step using GameMaker: Studio to program objects and add them to a room. You will learn how to make objects that respond to player input and objects that carry out their tasks with no input at all. You will set up a logic loop that keeps enemies and asteroids coming for you to practice your aim and test out properties that you can customize. You'll learn how to make your ship faster and more heavily armed if you want. The best part is that we teach you in a way that shows you how these properties work and what their potential is when used together.  In the next and final lesson of Level 1 you will improve upon this space shooter and add a new enemy type and a graphic user interface for your players. 

GameMaker's proprietary drap-and-drop method takes real code and translates it into an array of menu icons to make learning code easier by visually representing code with pictures. For students it's generally easier to be able to visualize objects, edit them and arrange them to create game elements rather than learning to code these elements from scratch using conventional code editors. It's still not "simple" to program a game but GameMaker makes it much easier to learn how.

 Level 1-2 covers the following material:

1. Practice using GameMaker: Studio's interface and menus

2. Using layering and motion to create a dynamic background

3. Creating objects and making a central player object that responds to input

4. Making objects respond to events with actions using GameMaker's drag-and-drop programming method

5. Creating an enemy and obstacle for the player to overcome 

6. Programming each object into a continuous game loop using real world object-oriented coding techniques

7. Seeing the whole picture - how the actions we took are related to the material ahead and the relationships between points made throughout the lesson.

At the end of this lesson there will be a test to determine if the information was fully absorbed by the student. The answers should help students to understand the true intention and meaning of important material that was highlighted or tips that were mentioned in the videos that may have been overlooked.


Students who complete the course will be familiar with the GameMaker engine's interfaces, menus and buttons. Students will understand how most of the basic commands they were shown work and how they are related. Using object-oriented programming techniques and real tips about clean coding students get best-practice advice on how to not make a sloppy, bug-filled game. Students will program a functioning game and be able to customize it using methods they will practice as they go through the lessons - things like changing variables and loading resources. Most students will be inspired / enthusiastic about learning more ( an understatement from past experience ) and will be experimenting to see what changes they can make to customize their version of the classic arcade Space Shooter. 


Course Structure

  • Section 1: Loading and Setting Up Game Resources
    • Loading the Sprites, Backgrounds and Objects
    • Loading the Sprites and Backgrounds
    • Section 1 Quiz
      • Question 1
      • Question 2
      • Question 3
      • Question 4
      • Question 5
  • Section 2: Programming Asteroids and the Player Ship
  • Section 3: Creating an Enemy and Finishing the First Lesson