A downloadable tutorial project

Buy Now$10.00 USD or more

How to go from nothing, to a feature-complete, zelda-like, action RPG using GameMaker Studio 2! This page allows you to access the source code for each individual episode of my free YouTube tutorial series, as each episode releases.

A Free Demo of the final game we build in this series is available for download below!

Patrons of my work can access these files by linking their account here.


  • Player character that moves in 8 directions and animates in 4
  • State machine & Entity based system
  • 3 Unique item scripts: Hookshot, Bow, Bombs.
  • Scalable and versatile systems for:
    • Enemies
    • Combat
    • Entities (liftable, throwable, destroyable, lootable, talkable, useable)
    • Item drops & collectables
    • Unique items
    • Dialogue & responses
    • Shops and item unlocks
    • Quest flags
    • Saving & Loading with multiple slots

This series is aimed at beginner to intermediate level developers familiar with the basics of GMS2 and involves some tricky concepts. Total beginners might prefer to work on a simpler project, and may find more value in my Complete Platformer series.

Updated 17 days ago
StatusIn development
Tagsarpg, GameMaker, gms2, Tutorial, zelda


Buy Now$10.00 USD or more

In order to download this tutorial project you must purchase it at or above the minimum price of $10 USD. You will get access to the following files:

Episode 1 - Resolution & Moving around 23 kB
Episode 2 - Manual Animation 68 kB
Episode 3 - Tile collisions 71 kB
Episode 4 - State Machine 102 kB
Episode 5 - Initialisation & oGame 145 kB
Episode 6 - Camera & Screenshake 148 kB
Episode 7 - Drawing Text 179 kB
Episode 8 - Queuing Text 189 kB
Episode 9 - Entities 194 kB
Episode 10 - Dialogue part 1 194 kB
Episode 11 - Dialogue part 2 195 kB
Episode 12 - Z height and shadows 204 kB
Episode 13 - Melee attack states 232 kB
Episode 14 - Melee attack hit detection 247 kB
Episode 15 - Entity hit response 258 kB
Episode 16 - Entity Collision 258 kB
Episode 17 - Entity Fragments 266 kB
Episode 18 - Entity Fragments #2 266 kB
Episode 19 - Room Transition 279 kB
Episode 19 as .YYP 324 kB
Episode 20 - Room Transition #2 282 kB
Episode 21 - Lifting things 293 kB
Episode 22 - Throwing things 294 kB
Episode 23 - Better interaction 295 kB
Episode 24 - Enemy slime 309 kB
Episode 25 - Enemy chase behaviour 310 kB
Episode 26 - Enemy attack animation 279 kB
Episode 27 - Enemy taking damage 286 kB
Episode 28 - Enemy being destroyed 286 kB
Episode 29 - Displaying Player Health 293 kB
Episode 30 - Taking damage 288 kB
Episode 31 - Player Death 313 kB
Episode 32 - Quest Flow 366 kB
Episode 33 - Item Drops #1 380 kB
Episode 34 - Bombs 419 kB
Episode 35 - Coin UI 428 kB
Episode 36 - Item UI 445 kB
Episode 37 - Using Items 445 kB
Episode 38 - Item Drops #2 449 kB
Episode 39 - Equipment Cycling 449 kB
Episode 40 - Bow & Arrows 482 kB
Episode 41 - Hookshot Functionality 490 kB
Episode 42 - Hookshot Visuals 489 kB

Download demo

Final Game Demo 2 MB

Development log

View all posts


Log in with itch.io to leave a comment.

Viewing most recent comments 2 to 41 of 43 · Next page · Last page
(2 edits)


A: You can make some more examples with quests?


1. Kill a certain amount of Slime e.g. 4

2. Destroy a specific item, e.g. a chair

3. Combined quest, e.g. the first and second quest from this list

4. Collect a certain amount of mushrooms (they can fly out of the grass after it is destroyed, or you can pick them up) e.g. 5

B: You can make normal melee attack monster with e.g. sword?

BUG? I see when we make longer dead animation of slime and we will enter it after killing it, while it is still animating, it takes our energy...

BUG? Arrows don't collide witch WALLS...

PROBLEM: When i make ITEMDROPBOMB e.g. from plant i must make in oDropBomb in Create write "spd = 0;", you dont have this in movie... why?

Hi Shaun. I am experimenting a bug on my version of my game that i made with your tutorial and it also happens on your version of the game that I download from this site. The hurt sprite does not work properly. there are 2 frames that wont appear when you get hurt and when you bonk on a wall. But there is 2 directions that works just fine.

I think it might be due to an update on game maker studio platform. Does anybody else have the same issue ? 

If I download episode 42, it does the same thing and I did not change anything. Help ?


hello! If I make the purchase for the code, do I get access to all the code as it releases or just the code up to the point that i bought it? thanks!


One thing that doesn't work well for me so far is using SPACE to talk. Roll does it, starts the conversation, chooses, but when it comes to the last conversation window where it should end, he starts the conversation all over again. I watched the movie 5 times and I don't know what's wrong. I used the D key instead for dialogue, and SPACE was left to start the dialogue. Any idea?

(1 edit)

Hello. I can use some code to commercial project when i buy it there? Shaun you can answer?

Deleted 16 days ago

hola,no se porque pero cuando estoy en el juego esta en una pantalla pequeña y no lo puedo jugar

Deleted 3 days ago

Same here :-( 
I can download the yyz files, but the environment sprites you show you in your first tutorial isn't there.
@ShaunJs could you help us out?

Deleted 3 days ago

The link should work and works on my end. It is a direct link to the file so it will start downloading automatically. (Hence the open and close tab effect you're describing.) Check your downloads!

Hello I think I wrote well the commands but in my game at the end of moving it returns to left (chapter 2)

I would like someone to help me pls 

double check ur code, i did all episodes and everything works fine


Will this cover swimming? I haven't seen an action rpg tutorial series that covers transitioning from walking/jumping to swimming. 


Sadly not, the demo showcases everything we're going to cover!

you can make a transition when you step close to the water just like you do to enter rooms and change the sprite to swiming


Sorry if you've already answered this, But how many episodes do you plan to do in total?


my current estimate is somewhere around 50, give or take an episode or two.


ok cool, only asking because I’m really good with gm8.1 but was never able to make the transition to gms 2. Your series is really helping me a lot.

cant download the sprites :(


Chrome was automatically closing the tab when I tried to download the assets from the youtube description in the tutorials.  Instead I copied the link and pasted it into Edge, youtube came up with a page 'Are you sure you want to leave YouTube?'.  I clicked on 'GO TO SITE' and it downloaded the zip file.


Does anyone know if this series/scripts will work with 2d platform projects?

This one certainly will: https://shaunjs.itch.io/shauns-complete-platformer-tutorial-series

I have a problem, when i put global.iUI = instance_create_layer(0,0,layer,oUI); the game doesnt run, and if i take it off there is no UI on screen... please help ;-;

There's a lot of things you might have done, but this points to something going wrong inside the oUI object so check the code in there first to see what might be happening.

Hi bro, do you have this course of tutorials in Unity? :3

I would also be interested in a Unity version

sorry to tell you he only does gamemaker. Check udemy courses there are some great ones there

Afraid not, I have very little experience with Unity!

Hello. I'm using your dialogue system but for the life of me. I cannot make it so that after they have finished their lines in the switch, they wont repeat the dialgue until the game ends and would only say, "We have talked before" Any help would be appreciated or a better way to reach you.  

Watch the episodes on dialogue again and make sure you understand it thoroughly. Doing this kind of thing is fairly straightforward once you understand how the whole system works :)

(1 edit)

Hi been following long just the beginning of the series on episode 2 (part 2: Animation) of this series. The scripted is causing an error code.

action number 1
of Create Event
for object <undefined>:

Variable <unknown_object>.direction(8, -2147483648) not set before reading it.
 at gml_GlobalScript_PlayerAnimateSprite (line 2) - var _cardinalDirection = round(direction/90);
gml_GlobalScript_PlayerAnimateSprite (line 2)

I have written the code twice to make sure if the mistake was on my end, and every word matches the video. If anyone can point me in the right direction or give me some understanding what going on. Anything would be helpful

Deleted 86 days ago

Thanks, I had the same problem and this solved it.

TL;DR  wrap the script code for PlayerAnimationSprite in a function called: function PlayerAnimationSprite( ) { .... }

For other people struggling with this, scripts changed in 2.3 and have to work differently. The source code will work as GameMaker will convert the scripts to the new style.

I have made a video explaining this issue:

Just a question. By purchasing this you have access only to the code of the episodes or to the entire code of the final game?
Thank you. 

Just the episodes as they release.

Please help


my npc isnt turning

(1 edit)

make sure you origin is were its so-post to be for you npc because if its not at the center it wont turn 


Se pegar esse pack, em com todos os códigos para eu poder usar a vontade no meu projeto, apenas mudar os personagens?? E crair minhas fases? E meus comandos?

(1 edit) (+1)

Yes, just please avoid using the artwork if you can.

Do you offer the sale of game scripts only?

Hi, I'm mozquito, and I'm really enjoying your series of videos. As much as it is a little difficult because I don't know much about English, I can understand 90% of everything. Your tutorial is giving me strength to continue on my projects. Keep doing these wonderful tutorials, and you can be sure that when my game comes out, I’ll give you all the credit. Thank you! <3

I was already forgetting, I'm Brazilian. =)


Hello Shaun. Are you planning on updating the final version of the game?  (Same as in the Demo). And if you already have, what features have you added? I appreciate your work.


I want too!

Would be great to get this final version looks very good. Also patching up individual chapters to reach a base version still requires a lot of time..

Awesome tutorial boss! Its helped me a lot on my way to learning coding and making artwork for my game all kinds of stuff.  But im having an issue with the text boxes when i draw them the way you did they dont stretch downwards only to the right...so i only have a long and shirt text box above the text on sceen lol. any thoughts?

Great tutorial. just bought it. could you also just provide all images, so we are able to follow your coding and configuration stuff on our own, and just use precreated images to import when needed?

Thanks for your great work!

All the image assets are provided in a zip file in the video description of each video =)

Loving the tutorials 

Giving me more ideas

Hey Shaun, can you try exporting .yyp versions of the source code, that might allow it to run on my mac.

Can you open the entire game ? Personnaly i can't, i'm stuck on the first screen, the houses have no roof and I have no idea why

Hiya, I've added this for the latest episode.

For when a tutorial on how to put music on GMs 2? :P

hello Shaun, I bought your tutorial proyect, unfortunately, the sourcecodes aren't able to run on my computer. How can I fix this?


hello shaun, I haven't heard anything back from you.


I don't really know how to help you. All you've told me is "it doesn't work".


Little bug, so when I click on the bat in the right corner he takes damage, so try to fix it.

Ah yeah that's just debug, won't be a thing in the tutorials =)

(1 edit)

will we be getting the source code for the final game demo?

When all episodes of the tutorial series are released, the source code will add up to that yes.

(1 edit)

A little bug,  while having one hit left to be defeated if you go do a transition lets say go to the houses , the slimes are still moving and if they hit you while doing the transition the character is defeated but the transition takes effect and when you are back to the houses your health will be at max and you will be on the spot where the transition takes you as normal, I think it there should be some code added to have all enemies and enemy projectiles (if there are going to be any) to freeze frame so the transition can go as intended .

Interesting, thanks!

(1 edit)

No mac version?

(1 edit)

I do not have a mac. I therefore can't make a mac version of the demo. Can they not use .yyz files?

Me either I wasn't aware that it HAD to be on windows.

...This is the button you need, I'm fairly sure the mac IDE should be able to import a .yyz just fine.


(1 edit)

Even if you had access to a Mac you would also have to purchase (from Apple) a developer license, then set up GMS (on Windows) to connect to the Mac. (If you were publishing a Mac version of the game).

Pausing the game while transitioning to another room causes this script error:You also can roll diagonally while pressing down, but you can't roll diagonally pressing up. 


Hey so I just bought this for $10 and only got the player walking in a black background and was wondering if and when there will be full access to the full source code. Thank you

The source code will be added episode by episode as they release. You won't have to pay again, but it's not out yet.

Oh okay sorry, Thank you!

 you can run out of bounds i a few places 

Noted! Thank you!


Just finished it master Shaun. Not to brag but I only Activated my Stickey Keys about 10 times :) .  Another great tutorial awaits.

Viewing most recent comments 2 to 41 of 43 · Next page · Last page