Uploaded July 2025 | Updated September 2026, 6 hours ago
This video tutorial shows you how to achieve a simple wind effect which you see in a lot of 2D games with trees, bushes etc., basically foliage that is being moved to make the level pop more. Here I show you an easy out of the box way or the advanced shader way (based on Xor's shader code).
The easy way is simply to have an asset player and apply the underwater effect on it. Then place all image you want to be be moved/animated through it there. Aaaaand that is it. The downside of this approach is that it can look a bot artifacty (if that is even a real word).
The default way is to have instances and use a shader for drawing. This approach looks cleaner, but you need to take into account that you have to assign each sprite its own texture page (so 4k texture page default size is no bueno). For more details how the whole code works visit Xor's website and there you can find a sample project.
@XorDev
Xor's shader blog with the shader code found here:
xorshaders.weebly.com/tutorials/8-wind-shader
π Support me and get fresh game art and game maker projects every month:
patreon.com/1upindie
Follow me on:
πΈ Instangram: instagram.com/1upindie
π¦ Twitter: twitter.com/1upIndie
π¬ Discord: discord.gg/gvr98nb
π Udemy: udemy.com/course/become-a-video-game-developer-with-gms-23 (See youtube about page for discount)
0:00 Easy wind effect with GameMaker's effect layer or the normal way with shader code
1:27 The easy way
3:15 The normal way with shaders
5:17 Issues with drawing
This video tutorial shows you how to achieve a simple wind effect which you see in a lot of 2D games with trees, bushes etc., basically foliage that is being moved to make the level pop more. Here I show you an easy out of the box way or the advanced shader way (based on Xor's shader code).
The easy way is simply to have an asset player and apply the underwater effect on it. Then place all image you want to be be moved/animated through it there. Aaaaand that is it. The downside of this approach is that it can look a bot artifacty (if that is even a real word).
The default way is to have instances and use a shader for drawing. This approach looks cleaner, but you need to take into account that you have to assign each sprite its own texture page (so 4k texture page default size is no bueno). For more details how the whole code works visit Xor's website and there you can find a sample project.
@XorDev
Xor's shader blog with the shader code found here:
xorshaders.weebly.com/tutorials/8-wind-shader
π Support me and get fresh game art and game maker projects every month:
patreon.com/1upindie
Follow me on:
πΈ Instangram: instagram.com/1upindie
π¦ Twitter: twitter.com/1upIndie
π¬ Discord: discord.gg/gvr98nb
π Udemy: udemy.com/course/become-a-video-game-developer-with-gms-23 (See youtube about page for discount)
0:00 Easy wind effect with GameMaker's effect layer or the normal way with shader code
1:27 The easy way
3:15 The normal way with shaders
5:17 Issues with drawing
![Boost compile/test time [Game Maker | Basics]
This basics video tutorial shows you how to use reduce testing/compiling time in GameMaker.
So this is the scenario, you write two lines of code and want to test your changes and hit F5. But this is not good because that takes more then one minute. How do we get this faster because waiting one minute or more each time for short testing isnt fun.
But lets start from the beginning, what is compiling and what has it to do with testing or even creating executables? To put it into laymends terms, compiling is the act of assembling or putting things together from different sources. That is what is happening when you press F5 and run your game in the virtual machine (VM) or the YoYo compiler (YYC). It stores all files in a temporal folder and create a useable/runnable version of your current project. So if you have tons of big images and high quality songs in your project you increase the compiling time by a lot.
To remedy this temporary:
- put no or dummy images/songs to reduce files size
- use compressed sound files (.ogg)
- use as little images in total which are not needed in early to mid stage production
- good hardware (cpu/ram + ssd) for loading fast in and out
In later to last stages of making your game you put in the art and music to not bloat/cripple up your testing/compiling capabilities. Having thousands of objects and scripts is not affecting the overall testing times (almost) at all.
Offical manual on compling/testing:
https://manual.yoyogames.com/Introduction/Compiling.htm
π Support me and get fresh game art and game maker projects every month:
https://www.patreon.com/1upindie
Follow me on:
πΈ Instangram: https://www.instagram.com/1upindie
π¦ Twitter: https://twitter.com/1upIndie
π¬ Discord: https://discord.gg/gvr98nb
π Udemy: https://www.udemy.com/course/become-a-video-game-developer-with-gms-23/ (See youtube about page for discount)
CHAPTERS
0:00 Testing speed is terrible, how to fix this
1:00 Subscribe
1:11 What is compiling
2:02 Target platform and virtual machine
2:58 What compiling is doing in GameMaker
4:08 Replace big files with dummies or compressed versions
4:49 Capitan Obvious, faster hardware will boosts test times Boost compile/test time [Game Maker | Basics]](https://i.ytimg.com/vi/deQKpHW-O5o/mqdefault.jpg)
![Update V2023.1 - No bling bling but 2 must have functions [GameMaker]
The newest patch V2023.1 comes with some good quality updates. The highlight is the new move_and_collide function and audio_play_sound_ext. These two are worth the update by itself.
In a nut shell, move_and_collide is taking in vertical and horizontal movement inputs and checks if there is a collision, if yes you cannot go there. This is super easy to use for beginners and advanced users.
The audio_play_sound allows you to directly influence the sound file with a struct. It makes playing and controlling sound files more convenient. The other additions are that you can oscillate through a sound file with a sound effect (no idea what this is good for) and you can use sdf fonts, which smoothen pixelated fonts. This method is only of externally pulled fonts during runtime, so the use is limited. This feature will be in the future expanded to the internally stored fonts.
Sdfs are very powerful way to create light weight bitmap heat maps, which are use for fast light system or other means. Xor has a wonderful article for this:
https://xordev.substack.com/p/gm-shaders-mini-raymarching-1351092
Tldr:
- move_and_collide for easy collision setups
- customise sounds further
Offical blog and release notes:
https://gms.yoyogames.com/ReleaseNotes.html
https://gamemaker.io/de/blog/version-2023-dot-1-easy-collisions-crisper-fonts-and-new-audio-functionality
π Support me and get fresh game art and game maker projects every month:
https://www.patreon.com/1upindie
Follow me on:
πΈ Instangram: https://www.instagram.com/1upindie
π¦ Twitter: https://twitter.com/1upIndie
π¬ Discord: https://discord.gg/gvr98nb
π Udemy: https://www.udemy.com/course/become-a-video-game-developer-with-gms-23/ (See youtube about page for discount)
2:39 xor
CHAPTERS
0:00 The newest GameMaker update 2023.1 has dropped
00:26 Particle editor and new fx effects postphoned
00:39 Should you update to this version?
01:02 Easy collisions
02:30 SDF fonts - make pixelated fonts crisper
03:26 Static structs - Nope
03:36 Temolo audio effect
05:20 audio_play_sound_ext - more instant control over a sound file
5:30 Game shown: Garlic Update V2023.1 - No bling bling but 2 must have functions [GameMaker]](https://i.ytimg.com/vi/ePlAaqK8UFQ/mqdefault.jpg)
![Slime jumper [Game Maker Studio 2 | Enemy Ai]
This enemy ai video tutorial shows you how to make an enemy that that jumps randomly in GameMaker Studio. Typically those kinds of enemies are slimes for a reason.
The idea is quite simple. You need to the enemy that goes left and right like you maybe saw in my previews enemy ai videos. After that you setup a variable that runs down. Once that variable is 0 or smaller you reset the direction to an upwards angle plus set gravity to a value so that it pulls down the enemy. Now the enemy is jumping. To reset the jumping motion you have an additional collision in the step event that resets the jumping. Thats it!
π Support me and get fresh game art and game maker projects every month:
https://www.patreon.com/1upindie
Follow me on:
πΈ Instangram: https://www.instagram.com/1upindie
π¦ Twitter: https://twitter.com/1upIndie
π¬ Discord: https://discord.gg/gvr98nb
π Udemy: https://www.udemy.com/course/become-a-video-game-developer-with-gms-23/ (See youtube about page for discount)
Previous video here:
https://www.youtube.com/watch?v=hTPHzHM2KQ0
Emcee Flesher CC4by
https://opengameart.org/content/super-dead-space-gunner-merc-redux-platform-shmup-hero
https://opengameart.org/content/space-war-man-new-laser-and-enemies
0:00 What we will do
0:34 Subscribe
0:46 Quick theory how it works
1:44 Coding part Slime jumper [Game Maker Studio 2 | Enemy Ai]](https://i.ytimg.com/vi/eY4kcxdUH3s/mqdefault.jpg)

![Hexgon cells - How to draw [Game Maker | Basics]
This basics video tutorial shows you how to setup hexagon cells in GameMaker.
Hexagon cells are pretty popular in strategy games and can make each cell look fancy. Drawing/placing these cells can be challenging because their shape is not as straight forwards as rectangles. So what you need to understand here is that you have to place them correctly near to each other. Each horizontal line of cells is a sum of the cell width or the sum of a cell width plus half. The height is bit wonky also, since you cannot take the full height nor the half.
Tldr: It is complicated, not too much but a bit
π Support me and get fresh game art and game maker projects every month:
https://www.patreon.com/1upindie
Follow me on:
πΈ Instangram: https://www.instagram.com/1upindie
π¦ Twitter: https://twitter.com/1upIndie
π¬ Discord: https://discord.gg/gvr98nb
π Udemy: https://www.udemy.com/course/become-a-video-game-developer-with-gms-23/ (See youtube about page for discount)
CHAPTERS
0:00 What we will do, hexagon cells/shapes
0:38 Subscribe
0:55 How hexagon shapes stick to each other
3:55 Quick setup, a spawner creates all hexagonal instances
4:50 Double repeat loop to add cells vertically and horizontally
5:30 Create each time a loop ends a hexagon instance
5:48 Set xx and yy to place the instances in their correct spot
7:16 Setting xx to with the width of a cell
7:52 Nullifying the iterated hor_ADD values to create a new row
8:17 Setting yy to with the height of a cell
8:37 Adapting the xx to snap correctly horizontally
9:10 Correcting the nullifyed xx values Hexgon cells - How to draw [Game Maker | Basics]](https://i.ytimg.com/vi/fXYyV3OnidA/mqdefault.jpg)
![Bat Boy - Better then Shovel Knight? [Game Review]
To be clear from the start, both Games are excellent (S-Tier). But only Shovel Knight has been a big success so far (deserved!). I think Bat Boys quality should put it into the line of best retro platformers on par with the inspiration. This review shows you what you can expect from the game in 2026 and what Bat Boy changes/adds to the mixture.
If you compare both games, they do have a lot of similarities, one is a goofy Knight with a shovel where as Bat Boy is trying to do that from the sports angle. The main difference is that Shovel Knight starts off strong but never evolves beyond that. Yes, Shovel Knight has spells to compensate for his short range but they are mostly used for combat. His mobility, doesnt change at all (beside one dash item). Boy Boy in contrast gets from each boss their signature ability which makes him at the end of the game a mobility power house. That gives the player a lot of ways to exploit the level design if they wish too. I am actually confused why nobody is talking about this game in high praises (maybe sports angle isnt doing so well as the joke knight angle). It does deserve it.
Tldr 9.5/10:
- Great graphics, charming animations, good music
- Tons of secrets, great level design
- Fair gameplay, no cheap deaths, Game feels like a breeze
- Abilities make the player a mobility power house
- Rewarding exploration
- 6 hours completion time (I want more!)
Bat Boy found here:
https://store.steampowered.com/app/1709350/Bat_Boy Bat Boy - Better then Shovel Knight? [Game Review]](https://i.ytimg.com/vi/fz1uDPOVQK0/mqdefault.jpg)
![Patch V2.3.7 - New exciting features [GameMaker Studio 2]
The newest patch comes with some good quality updates and some new features. Nothing that would be ultra exciting but good stuff anyway. The 3 new effects/filters for the fx layer are my highlights of this patch 2.3.7 but the some minor changes to performance are also very welcome.
Release notes:
https://gms.yoyogames.com/ReleaseNotes.html
π Support me and get fresh game art and game maker projects every month:
https://www.patreon.com/1upindie
Follow me on:
πΈ Instangram: https://www.instagram.com/1upindie
π¦ Twitter: https://twitter.com/1upIndie
π¬ Discord: https://discord.gg/gvr98nb
π Udemy: https://www.udemy.com/course/become-a-video-game-developer-with-gms-23/ (See youtube about page for discount) Patch V2.3.7 - New exciting features [GameMaker Studio 2]](https://i.ytimg.com/vi/gAhffsHxrN8/mqdefault.jpg)
![Placing Towers on click [#3 Tower Defence in GameMaker ]
This is the 3nd video in a short Tower Defence series made in GameMaker.
What is left now is to have a mechanism that allows us to place dynamically in the game houses on a grid. To snap to a grid we use the mouse x,y coordinates and substract the mudolo (rest values) from it. Then we assign a random sprite index to the instance and pass that information to on click created house also in. And last but not least we have two checks which if true disable placing a house at this part of the grid. First we check by a collision check if there is already a house being created on this spot/grid part and second a tile index check if on this mouse position a tile other then 0 was set (0 is default and not set). Thats it!
π§ For the future: This series will have 3 videos where all the basics are setup and a 4th optional one where constructors are used as a solid spawning setup. The project can be downloaded and since it is ultra small, is free to use (graphics are free also, check out the notes)
π»Project + assets found here:
https://1up-indie2.itch.io/free-tower-defence-project-gamemaker
overworld graphics: Beast CC0
https://opengameart.org/content/overworld-grass-biome
Enemies:
ThKaspar Orga by
https://opengameart.org/content/micro-character-bases-basics
explosion:
JROB774 CC3by
https://opengameart.org/content/pixel-explosion-12-frames
π Support me and get fresh game art and game maker projects every month:
https://www.patreon.com/1upindie
Follow me on:
πΈ Instangram: https://www.instagram.com/1upindie
π¦ Twitter: https://twitter.com/1upIndie
π¬ Discord: https://discord.gg/gvr98nb
π Udemy: https://www.udemy.com/course/become-a-video-game-developer-with-gms-23/ (See youtube about page for discount)
CHAPTERS
0:00 What we will do
0:49 Subscribe
1:01 The concept what we do
2:00 Draw and snap to grid
4:17 Place a house on mouse click
5:25 Assign random preview sprite for houses
6:52 Check if we can place the house there
11:48 Game shown: Itorah Placing Towers on click [#3 Tower Defence in GameMaker ]](https://i.ytimg.com/vi/gL-ZSEaecXc/mqdefault.jpg)
![Pathfinding #3 - Best with grid [Game Maker Studio 2 | Advanced]
This advanced video tutorial shows you how to create the most powerful target ai/pathfinding with mp grid in GameMaker Studio 2.
The idea is quite simple. You need only 2 objects, one that setups the grid to be used. And the other object which can link their own path with the grid to create an optimal route to a destination. This is a very power tool that does the pathfinding for you.
// previous videos:
https://youtu.be/RmOqnp5d33Q
https://youtu.be/UZhLV13HAno
// General video on paths in GameMaker:
https://youtu.be/2xpqQ9rqFLI
π Support me and get fresh game art and game maker projects every month:
https://www.patreon.com/1upindie
Follow me on:
πΈ Instangram: https://www.instagram.com/1upindie
π¦ Twitter: https://twitter.com/1upIndie
π¬ Discord: https://discord.gg/gvr98nb
π Udemy: https://www.udemy.com/course/become-a-video-game-developer-with-gms-23/ (See youtube about page for discount)
0:00 Introduction to the pathfinding series part 3
0:49 Subscribe
1:07 The setup object
8:05 The ai/enemy
14:48 Game shown: Astalon: Tears Of The Earth Pathfinding #3 - Best with grid [Game Maker Studio 2 | Advanced]](https://i.ytimg.com/vi/gqzsBhb7ov4/mqdefault.jpg)
![Homing Rocket in 2 lines [Game Maker | Basics]
This basics video tutorial shows you how homing can work in GameMaker Studio with 2 lines of code. There will be a follow up video on a homing rocket barrage like you see in games like Armored Core, but the cheap mans 2D version.
I got the inspiration from Ellaris who is a discord member, so thanks for the idea buddy! The 2 lines are very easy to do and work more or less but are a building block to advance this concept.
First we need to create the rocket and give it an inital speed, direction and angle to start of with and gradually change the flying direction.
So what are those 2 lines? Well, we add constantly in the step event of each rocket to it a value that gradually (delayed) turns towards its target position. For that we need the current direction of the rocket and the perfect direction from the rocket to the target (which we get by the rockets x,y and the targets x,y and get it by point direction). Then we get the resulting angle difference and use sign to clamp the result to 0,1,-1. That added to the current direction turns the rocket towards the the target, but we can use a fixed value to increase/decrease the turning around speed to our liking. Then we set the new direction to the image angle so that visuall it looks sound aswell. Thats it!
The code if found as usual in the comment section.
π§ For the future: There will be follow up video that shows how to visually advance this core setup to an homing missile barrage
π Support me and get fresh game art and game maker projects every month:
https://www.patreon.com/1upindie
Follow me on:
πΈ Instangram: https://www.instagram.com/1upindie
π¦ Twitter: https://twitter.com/1upIndie
π¬ Discord: https://discord.gg/gvr98nb
π Udemy: https://www.udemy.com/course/become-a-video-game-developer-with-gms-23/ (See youtube about page for discount)
CHAPTERS
0:00 What we will do
0:59 Specific hit animation (elemental, weapon etc.)
1:11 The 2 lines that steer the rocket
2:28 When the rocket hits an enemy
2:45 Player setup, input and spawning a rocket
5:13 What the 2 lines mean in detail Homing Rocket in 2 lines [Game Maker | Basics]](https://i.ytimg.com/vi/guKiHqvvpxY/mqdefault.jpg)
![Xp and popUp system [#11 Vampire Survivors Remake in GameMaker ]
This is the 11th and final video in a series on remaking Vampire Survivors in GameMaker.
The first part of this video tutorial shows you how to make a xp system that makes scale upwards. Before we can make a menue popup system possible we need to block things to like spawing, player movement, enemy redirecting. That we do by a simple check if the an obj_upgrade is present in the room. This object is being spawed if we have a level up and goes away if one of 3 choises is being selected. So we block coin collecting, the spawning of new weapons, player input (to move while an upgrade is happening) and the enemy control loop is being overritten so that the enemies dont animate and move towards the player. Thats it!
π§ For the future: This series will will build expanded the further we go into the series. This series has ended offically with this video. The current project and an upgrade version will be added to my patreons and itch.io buyers.
π»Project + assets found here:
https://1up-indie2.itch.io/vampire-survivors-mini-engine
π Support me and get fresh game art and game maker projects every month:
https://www.patreon.com/1upindie
Follow me on:
πΈ Instangram: https://www.instagram.com/1upindie
π¦ Twitter: https://twitter.com/1upIndie
π¬ Discord: https://discord.gg/gvr98nb
π Udemy: https://www.udemy.com/course/become-a-video-game-developer-with-gms-23/ (See youtube about page for discount)
CHAPTERS
0:00 What we will do
1:03 Subscribe
1:15 The concept what we do
3:18 xp system
4:34 Define the popup/upgrade instance for blocking
5:24 Block player input
5:50 Block coin collecting
6:22 Block weapon spawning
6:57 Block enemy spawning
7:24 Over ride enemy control by nullifying speed and animation
8:48 Block player animation
9:58 PopUp/upgrade position and setup
10:42 Setting up obj_Upgrade
13:41 Create a bouncing animation with an animation curve
21:12 Congrats and thank you for watching Xp and popUp system [#11 Vampire Survivors Remake in GameMaker ]](https://i.ytimg.com/vi/h5uuTQHDq90/mqdefault.jpg)