Buying for a Team? Gift This Course
Wishlisted Wishlist

Please confirm that you want to add Learn to Code in Game Maker Language to your Wishlist.

Add to Wishlist

Learn to Code in Game Maker Language

Learn the basics of game development in GML.
4.3 (43 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.
410 students enrolled
Last updated 7/2015
English
$10 $20 50% off
21 hours left at this price!
30-Day Money-Back Guarantee
Includes:
  • 3.5 hours on-demand video
  • 5 Articles
  • 3 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Have a coupon?
What Will I Learn?
Learn to understand and write GML code
Learn how to create a maze game
Apply knowledge to other programming languages
View Curriculum
Requirements
  • Students will need to be able to perform basic tasks on a computer (such as installing software or unzipping folders)
  • Students will need to download and install GameMaker: Studio
Description

Learn the the basic concepts of programming while developing games in the fun and friendly language Game Maker Language (GML).

Learn and Master Core Programming Concepts With GML.

  • Types and Operators
  • Loops and Conditionals
  • Functions and Return Values
  • Objects and Instances


A Powerful Tool to Create Amazing Games

We'll learn about the essentials of programming. By using GameMaker: Studio, we can take what you're learning and immediately apply it to actual games. You will also get a glimpse of the structure of video games.

GameMaker: Studio is a powerful and growing tool that is breaking its way into professional development. Developers often use GameMaker: Studio to quickly prototype and create games that don't require the power of other languages, like C++, Java, and C#. Hotline Miami, Spelunky, TowerFall Ascension, and Gunpoint are only a few examples of the great games that can be created with GameMaker: Studio.

Content Overview

While designing this course, I kept absolute beginners in mind. When you begin this course, you will be taken from the very basics and work your way up to the more complex concepts. There will be several quizzes along the way to test your knowledge of the concepts you are learning.

By the end of the course, you will understand core programming concepts, how to create games in GameMaker: Studio, and you will have a cool maze game that you can show off to your friends and family.

Who is the target audience?
  • Anyone who wants to easily create games
  • Beginner programmers who want a friendly environment to learn in
Students Who Viewed This Course Also Viewed
Curriculum For This Course
Expand All 64 Lectures Collapse All 64 Lectures 03:38:40
+
Introduction
13 Lectures 21:37

You can download the assets that will be used in this course here.

Resources
00:22

Open GameMaker: Studio for the first time and create a project.

Preview 01:17

Familiarize yourself with GameMaker: Studio's user interface.

Preview 01:48

Learn how to change GameMaker: Studio's theme.

Changing Themes
01:15

Learn how to import custom themes.

Custom Themes
01:29

Learn how to attach external editors to GameMaker: Studio, such as Gimp.

External Editors
01:22

Learn how to import sprites and use sprite sheets.

Importing Sprites
01:46

Learn about sprite origin points and how it can affect the positioning and rotation of an instance.

Origin Point
01:24

A brief overview of the different features in the room editor.

Room Editor
02:55

Learn how to use backgrounds and tile sheets.

Backgrounds and Tiles
03:11

Learn how to create objects.

Objects
01:29

Learn how to create an application that you can share with others.

Creating an Application
01:52

Learn how to import and export your projects.

Importing and Exporting Projects
01:27

Quiz yourself on the things you have learned in section 1.

Section 1 Quiz
5 questions
+
GML
34 Lectures 02:06:21

Learn how to display text with the show_message(), show_debug_message(), and draw_text() functions.

Preview 05:40

Comments are an important part of coding. They allow notes to be created within your code to remind yourself of how the code works. Learn how to create single-line and multi-line comments.

Preview 03:05

Variables are the easiest concept in programming, and the most important as well. Learn what a variable is, how to create one, the different types of variables, and how to access them.

Variables
03:14

Learn about the importance of using a naming convention when creating a new variable.

Naming Variables
2 pages

Arithmetic, such as addition, subtraction, multiplication, and division, can be performed on variables. This is a common thing, and something you will do often. Learn about performing these operations on variables, as well as the shorthand for each operation.

Arithmetic
02:51

When performing arithmetic, you must follow an order of operations. This is the same as in algebra. Learn about the order using PEMDAS.

PEMDAS
01:18

Some variables are only accessible in certain parts of your code; this is scope. Learn about instance variables, local variables, and global variables.

Scope
05:02

There's another way to create global variables, but its usage is highly debated. It's considered bad practice to use this method, but it is a part of GML, nonetheless. Learn how to create a global variable using the globalvar keyword.

Global Variables
1 page

Macros are similar to variables, except their value does not change. Learn how to create macros and use them in your code.

Macros
01:48

In many types of games and applications, string manipulation is very common. The simplest form of string manipulation is concatenation. Learn how to take two strings and conjoin them.

String Concatenation
03:36

A quiz about string concatenation.

String Concatenation
3 questions

Conditionals allow you to make decisions. For example, you may only want to show a message if the player's health is above a certain amount; you would use an If Statement for this. Learn about flow control with If-Else Statements.

If-Else Statements
03:30

There are many other comparison operators. Learn about each one.

Comparison Operators
1 page

Conditional operators allow you to evaluate many expressions in one conditional. Learn about the conditional operators.

Conditional Operators
04:25

Boolean expressions are not limited to conditionals. You can evaluate expressions as true or false anywhere in your code. Learn how to evaluate an expression and store the return value in a variable.

Boolean Expressions
02:34

Switch Statements are useful when you need to evaluate an expression and then execute one of many different blocks of code based on the value. For example, you may want to display a message to a user in their native language; you could use a variable to store which language is being used, and then display the appropriate message using a Switch Statement.

Switch Statements
05:40

Dive a little deeper into what a function is, what return values are, and how to use them.

Functions and Return Values
05:47

When you need to execute code multiple times, you should look at loops. The For Loop is the most common, and also allows for very dynamic code when used in conjunction with arrays.

For Loops
04:21

Sometimes you need code to execute indefinitely. That's where While and Do-Until Loops come in. Learn to use these loops while avoiding the infamous Infinite Loop.

While and Do-Until Loops
06:31

Arrays allow you to store many values inside of one structure. These are useful for many things, such as inventories in RPG games. Learn what an array is, how to create one, and how to access its data.

One-Dimensional Arrays
03:41

Two-dimensional arrays expand upon one-dimensional arrays, and allow much more content to be stored. Learn what a two-dimensional array is, how to create one, and how to access its data.

Two-Dimensional Arrays
06:35

Learn about the most common events, Create, Step, and Draw, their subevents, and when they're executed.

Create, Step, and Draw Events
05:11

Sometimes you need code to be executed, but not immediately. In these cases, you can set an alarm, much like you would before you go to sleep, that will execute code when it goes off. Learn how to set an alarm, execute code when it goes off, and how to tell if an alarm has already been set.

Alarms
04:20

Learn how to create your own event.

User Events
01:34

Learn how to detect key presses through code.

Keyboard and Ord
02:04

Learn about X and Y positions.

X and Y Positions
03:41

Scripts allow you to create your own function. Learn how to create a script, add arguments to it, and supply a return value.

Scripts
04:42

Sometimes you need to allow optional arguments. In this video, learn how to allow those optional arguments, and how to add Intellisense to your script so that you can see which argument you are on inside of the editor.

Optional Arguments and Intellisense
05:02

When you allow optional arguments, it's often a good idea to supply a default value to be used when no other value is supplied. Learn how to do that in this video.

Default Arguments
01:17

Accessors allow you to directly access and modify arrays. Learn about the array accessor, how scripts accept arrays as arguments, and how to modify an array from a script.

Array Accessors
08:48

When thinking about the relationship between objects and instances, you can think of a blueprint and a finished product. In this video, dive deeper into what objects and instances are.

Objects and Instances
04:40

Instances have built-in variables. Learn more about instances, instance creation, instance destruction, and instance IDs.

Instances
06:32

Maps are associative arrays, which means that each entry has a key and a value. Learn how to create a map and access the different values it contains.

Maps
04:23

Learn how to use asynchronous messages, and execute code once the user has read the message.

Asynchronous Messages
04:13

Wrapping up Section 2.

Section 2 End
00:16

A quiz covering many topic from section 2.

Section 2 Quiz
7 questions
+
Gummy's Maze
17 Lectures 01:06:26

Gummy's Maze sprites.

Resources
00:08

Learn about what we will be doing in this section.

Goals
03:21

Import all of the sprites you will need.

Importing Sprites
03:08

Learn how to create a main menu for your game.

Main Menu
14:35

Learn how to make Gummy move.

Player Movement
07:10

Learn to create a view and make it follow the player.

Views
01:44

Learn how to animate Gummy when he walks.

Player Animation
04:39

Learn how to create enemies that can move in different directions.

Enemies
03:33

Learn how to add lives and allow Gummy to die.

Death
07:59

Learn how to add a game over screen.

Game Over Screen
02:16

Learn how to create a simple background from the wall sprite.

Background
01:37

Learn how to create a goal that moves the player to the next room upon contact.

Adding The Goal
02:23

Learn how to create collectibles with a parent object.

Collectibles
06:10

Learn how to create a collectible blockade that will only disappear once the player has collected every collectible.

Collectible Blockade
02:32

Learn how to add an end game menu and add a finishing touch to the game.

End Game
04:37

Commented project.

Finished Project
00:13

A quiz covering topics from section 3.

Section 3 Quiz
4 questions

End of Course.

End of Course
00:20
About the Instructor
4.3 Average rating
43 Reviews
410 Students
1 Course
Indie Game Developer

My name is Nicholas Cohran. I am an indie game developer. I've always had a passion for video games, and I became interested in programming at eight years old. Since then, I have learnt many programming languages, from GML to C. In 2011, I started a YouTube channel where I would upload tutorials on creating specific things in GameMaker. This became more popular than I had expected, gaining over 500 subscribers and several Twitter followers.

Report Abuse