2D Video Game Programming

Video Game Camp


Our 2D Video Game Programming Curriculum is available through our live workshops in Golden, CO and online e-learning courses. The first course titled Level 1-1 is available now!



In this course you will learn how to acquire the GameMaker: Studio video game creation engine and install it on your computer. Then you will get to see videos showing where the key menus and commands are so that you are familiar with the terms and descriptions used throughout our programming curriculum. All of the game resources you need are already included! After the introduction you will have a better understanding of how to navigate the GameMaker interface and you will have access to a PDF full of images that you can use a reference to guide you going forward. Students who complete the course will understand the basic GameMaker engine interface and how to use it as well as how to program their first games using object-oriented programming techniques.

Now with additional upgraded space asset pack! Scrolling space shooters are a very popular type of arcade action game and are easy to create with GameMaker: Studio. In this lesson we will make a simple space shooter game where you will practice using the techniques from the first lesson and learn new ways to apply those techniques. Specifically you will learn about the use of object variables, actions and events to create a coordinated series of interactive situations for players to respond to. You will learn about logic loops for creating a steady stream of enemies, layering and animating backgrounds and destroying unused objects. At the end of the lesson you will have a functioning space shooter that we will build upon in Level 1-3 by adding a graphic user interface, a new enemy type and waves of enemies.

Curriculum Outline

Level 1 – Intro to 2D Game Programming / Instructor

I: Intro to instructor, 2D Game Design and game engine features and benefits. Build the two-player Pizong game!
II: Space Shooter Part 1 – Creating and controlling objects, collisions, alarms, sprite editor, sounds, built-in effects.
III: Space Shooter Part 2 – Creating different enemy types, life bar, HUD and timelines.

Level 2 – The Creator’s Toolbox


I: Background and Sprite Editing – how to customize your game to create a distinct look. Multi-room games, large rooms and basic use of views in rooms. GIMP graphics editor.
II: HacKnight Platformer: Animating movement, terrain, gravity, spacing / timing, player-based game metrics, special areas. Using level-themed special effects.
III: Documentation – keeping notes, journal, design documents and intro to beat charts, etc. Designing from the top-down. World-Level-Gameplay-Event using HacKnight to demonstrate.

Level 3 – Fundamental Design Principles and Techniques


I: Level Design: Using beat charts to see patterns and balance level elements and obstacles. Surprise-variety-fun. Gameplay Design: Common sense design tips for levels. Placement of terrain. Avoiding gamebreakers. Practice programming obstacles for platformer and space shooter levels. Procedural vs Scripted gameplay. Recycling level and gameplay elements.

II: Combat techniques: Signature weapon / move, Attack matrix, looking / feeling cool (empowerment) animating attacks and handling collisions. Displaying damage, projectiles -> 3 A’s Small vs light attacks, combos and Practice with built-in special effects.

III: Enemy and boss AI – how to program enemies and bosses that have distinct and challenging patterns. How to program “thinking” or randomized enemies that are unpredictable. Hybrid of both. Empowering enemies creatively to motivate players. Making large enemies and bosses. Bosses that regain health. Programming multi-stage bosses.

Level 4 – Advanced Game Programming: Only for those who are ready!