Want to make games for Xbox One, PS4, or Ipad?
Awesome! That's what gamedevU is all about. We'll take you from being a gamer with zero programming experience all the way to being a Pro Indie Developer, able to publish on whatever platform you want.
This course teaches you to start game development using GameMaker: Studio. It's a really great cross-platform game development IDE which lets you make your game once, and then publish to multiple platforms.
This course is the first part in a modular series of courses from gamedevU that will let you go from total beginner to Pro Indie Developer after taking all the courses. This course is a solid first step, and it's the most important, because it will build your fundamental understanding of game development and get you started in the right direction.
This Level 1 course will have you feeling fluent with GameMaker: Studio.
You're going to make 2 games:
You'll learn programming in a style that makes it easy to understand, even if you've never done any programming. Better yet, you'll never feel like you're "studying". The concepts are made easy and are built in to the course to where you'll pick up all the programming skills naturally.
The course includes 59 videos which will walk you through the entire process.
Learn how to get the most out of this course. Memorization is not the goal. The goal is understanding the concepts behind everything so that you can apply each principle yourself.
There are four criteria that constitute Fair Use. Learn what they are and your permissions with the material we will be creating.
Learn how to import sprites into your project.
Learn how to import backgrounds into your project.
Create a room for your game.
Create your first object and place it in the room.
Learn about origins and how they affect the alignment of sprites.
Events and Actions control the functionality of your game. Make your first Events and Actions in this step.
Learn the difference between an object and an instance.
In this segment you'll see how sprite masks affect collision detection.
Create a click event and assign actions to it.
Learn how to add your first sound effect to an event.
Bulk importing of assets is a huge time saver. Try it out.
Your first dose of coding in GML (Game Maker Language). We'll write a script to assign a random sound to a variable, and call that sound from the click event we previously created.
Add a control object and get it to play music.
Let's add a title screen.
Who's keeping score? We are. Well, after this chapter, we are.
A score is no good if you can't see it. So let's put it up on the screen.
The title screen doesn't need a GUI, so we need to use our control object to detect when the game is on the homescreen, and have it not draw the score for that screen.
Creating invisible colliders for boundarys is a really efficient way to manage "surfaces" in our game.
We'll make some more levels.
When you beat a level, the game needs to go to the next level. So let's do that.
When you beat the last level, there's no "next level". So we get a huge error message. How do you fix that?
One of the most important concepts in the entire course. Don't skip this video. Your game will not be successful if it's not really a game. But what does it mean to be a "game"? Is there an objective criteria?
Probably not. But for the purposes of gamedevU, we have an actual, objective standard. And this one simple thing is the difference between a unique, successful game vs. "just another one".
Learn where you're headed next.
Let's get our sprites and backgrounds added via bulk import.
An awesome tool for getting free, usable retro game sound effects.
Where to find royalty-free music.
We'll do a bulk import of all the sound effects we made earlier, and then we'll use the built-in image editor to create a couple sprites.
Learn about image_speed and image_index.
Let's randomize our image_index.
Making the paddle.
We need to make a boundary object just like we did in our previous game.
Making the paddle move when you press the left and right keys.
Let's make sure the paddle doesn't leave the screen.
It's not brick breaker unless the ball can bounce off of things.
And if the bricks don't break, there's not much of a game. So let's get those bricks to break when hit.
Learn about the point_direction function and how we can use it to calculate the new angle for the ball to bounce at.
We need to create a simple gamestate for whether we are "playing" or "between lives".
The ball should launch off the paddle when we press the spacebar.
How directions are noted in GameMaker.
Do you like cheats/glitches? Then you've probably already seen the one in our game. So let's fix it.
Let's make a control object like we've made before.
We need to detect when the game starts and when the game ends, and change the "lives" and "score" variables according to those.
Adding a titlescreen.
Removing the score and lives GUI from the titlescreen.
We need to detect when all the bricks are gone, and then change levels when there are none left. So let's write some code in our control object to do it.
When you lose all your lives or beat the game, it needs to restart and go back to the titlescreen.
Make your game cool, and actually a game.
Let's use seashells instead of bricks.
A little image editing.
Making objects from our shell images.
Parents and inheritance - no longer just a family feud.
If the ball bounces perfectly horizontally, it can get stuck. Let's make sure that doesn't happen by measuring the absolute value of the vspeed (vertical speed).
Item drops from broken bricks makes a brickbreaker game much more fun. Let's try a quick example you can expand on later.
Now that we've made our treasure, let's make it fall.
Earn an extra life at 2,000, 4,000, 8,000, 16,000 points.
Add some more treasure drops, remake the game with your own art, add your own sounds and music... And then send me a copy of your game for a special prize (a link to a picture of David Bowie).
My name is Nick Baldwin and I am a coder, speaker, teacher and trainer living in St Augustine, FL. I teach both the technical and business aspects of game development to aspiring indie game developers. I am the founder of gamedevU, a hub for teaching game development and promoting Gamer Culture. I am also the organizer and facilitator of both GameDev Jax and the International Game Developers Association (IGDA) of Jacksonville.
I regularly teach live workshops on developing games for Xbox One in coordination with Microsoft at the Microsoft Store in Jacksonville, and I travel around the region speaking at various tech events evangelizing for the indie game development industry.
I am a serious geek in my heart of hearts, and I ABSOLUTELY LOVE Retro Games. It is my passion and my business to teach other people the skill of making their own games.