▶ Part 2: • GameMaker Studio 2: Is... ▶ Support my work: / shaunjs ▶ Source code: shaunjs.itch.i... And that's me out for Christmas. Have a good end-of-winter-thing everyone!
Пікірлер: 133
@SaraSpalding5 жыл бұрын
This is the tutorial I was referring to that initially taught me the maths of isometric grids clintbellanger.net/articles/isometric_math/ If you're feeling brave you can even use this to do the next part of the tutorial without me!
@migueldirnt85 жыл бұрын
Is it possible to do this in gamemaker 1?
@SaraSpalding5 жыл бұрын
yep
@migueldirnt85 жыл бұрын
@@SaraSpalding I' ll try it, thanks
@mithrandrilltharkun19705 жыл бұрын
I have gaps between top and bottom of isometric tiles. Any clue as to why?
@TheXsias3 жыл бұрын
Hello everybody ! For everyone who try this tutorial with GMS2 version 2.3.2.560, i've discovered a bug : If you modify your layer "Map" in the room editor, changing some tiles, it will not change your map when you F5 (run your game). The solution to this is to clic on the little "eye" at the right of your layer "Map" (in the room editor) after your tile edition to set the layer invisible then clic again to set it visible. Somehow, i've the sensation that GMS2 keep some sort of cache or maybe Shaun's code have some news sides effects with newest version of GMS2. I don't know why. Have a nice day ! (And thank you very much Shaun for yours tutorials !)
@zach2842 жыл бұрын
For those getting the undefined value error from the TileToScreenY script, you have to list the code as a function with the following code function TileToScreenY(argument0, argument1) { var _tX = argument0; var _tY = argument1; return ((_tX + _tY) * (TILE_H * 0.5)) + (SCREEN_H * 0.25); } The same has to be done for the TileToScreenX script. Hope this helps you guys. Good tutorial overall
@abramperkins34142 жыл бұрын
or you can do function TileToScreen(_tY, _tX){ return ((_tX + _tY) * (TILE_H *0.5)) +(SCREEN_H *.025) } using the arguments is now redundant as those are arguments now.
@coldsaviour17702 жыл бұрын
thanks man
@tokensgaming Жыл бұрын
Life Savior!
@jeanleebermudezalbert40545 жыл бұрын
19:42 RIP 0 button.
@DonGeritch5 жыл бұрын
awesone, this is what I was looking for! thank you! what I personaly would like to see next is how to make correct movement speed for characters in isometric perspective. I had trouble with it in my little prototype of a Diablo-type game. What I tried to do is to use a formula for finding a radius of an ellipse, in the dirrection from center to the mouse arrow. The character position would be a center for this ellipse and radius would modify characters speed. I expected he would move at normal speed value horisontaly, at a half speed verticaly, and whatever value inbetween in any angle. It almost worked, but as i changed direction character would jitter and pick any speed between 0.5 and 1. I think it's because I'm using the step event incorrectly by placing the whole formula in it and instead I should break it up somehow, but I couldn't figure it out yet.. I'm using GMS1 btw
@darkdraconium5 жыл бұрын
This is easily the best Christmas present! Thanks for working so hard to get it out before the holiday!
@woojinjang80775 жыл бұрын
When I tried this it said that it was trying to index a variable that was not an array. "trying to index a variable which is not an array at gml_Object_oRender_Draw_0 (line 12) - tileIndex = tileData[TILE.SPRITE];"
@lizardrain5 жыл бұрын
I had the same issue, turns out I had written MAP_W twice when I needed to also write MAP_H. If that's not it, then it's some other very minor typo in the for loop, maybe tX and tY are written in the wrong places.
@koalakoala23445 жыл бұрын
I have the same problem and I'm pretty sure there's no typo in it :/
@orb5054 жыл бұрын
Is a foreach not a thing in Game Maker? So: foreach(Tile currentTile in Map) { \\ Do Stuff }; Just interested as I'm coming from a business app developer using C# and finding game dev in general seems to be a world apart in terms of coding structure
@benas72845 жыл бұрын
Please make part 2 player and camera
@Evanski5 жыл бұрын
game maker i like
@SaraSpalding5 жыл бұрын
got good news for you about this channel, friend!
@HammaLlama Жыл бұрын
This tutorial gave me a HUGE leap forward into Gamemaker! Thank you. Even as a programmer and infrequent Unity hobbiest, I found Gamemaker to be confusing at first, but this tutorial taught me a lot more than just creating a isometric game board by watching you navigate the IDE. I've been wanting to create an isometric click to move RPG for a while, and movement is always my downfall. Is there a tutorial for that? I've looked through your videos, but none seem specific enough for iso grid-based movement. Even a point in the right direction would be great. Thanks again. Great tutorial.
@doomtucan50935 жыл бұрын
so instead of individually painting the tiles in the room how do you make it so it paints the terrain randomly so if you have many different ground tiles and water tiles?
@RaineZahra7 ай бұрын
Okay, I'm lost ... how do you create multiple isometric tile layers and stack them on top of each other in a loop? Or perhaps the better question to ask would be how do i create multiple ds maps / ds grids and stack them on top of each other in a loop? I'm struggling with getting more than 1 set of tile data to draw at a time.
@devvydog24784 жыл бұрын
7:20 "anyhay"
@jinsanhon5 жыл бұрын
Where is an article that you referenced to see what is exactly going on at the script TiletoScreen X & Y? I would love to see how the maths work out.
@SaraSpalding5 жыл бұрын
clintbellanger.net/articles/isometric_math/ Here it is!
@MiniMeGaming2 ай бұрын
so i just followed this to a t but i am using objects instead of drawing sprites and my objects are rendering In front of each other and not in the right order like it should be when rendering sprites. anyone know how to fix this?
@dead93735 жыл бұрын
Hi! I Know You Wont Probally See This But I Would Like If You Made A Level Selection Tutorial With Unlockable levels Via completing level 1 unlocks level 2 like that :)
@johndurish40924 жыл бұрын
Oh man the "big reveal'" at the 31:00 mark after all that build up. SOOOOOoooooo cool. Would I be able to fold this map building technique into the Action RPG you just started (late 2019-early 2020)?
@mfb6055 жыл бұрын
MY HERO I've been hoping for an isometric tutorial for a while now!!
@forbiddenhands84745 жыл бұрын
Nice tutorial! Would it be possible to draw the isometric tiles at an angle other than 45 degrees?
@ivargu5 жыл бұрын
Really well crafted tutorials. Clear presentation and excellent coverage of materials.
@makbash17314 жыл бұрын
What about the tiles, located on the same X and Y coordinates, but different Zs?
@brinklebros71364 ай бұрын
This is amazing thank you so much!!
@iamrm1011 Жыл бұрын
Why low fps
@wolleyeinstein96825 жыл бұрын
Can you make a series we’re you make a complete game with isometric tiles
@goatmonkey21125 жыл бұрын
My cat is losing her mind when you move the mouse around as you're talking.
@mythology1005 жыл бұрын
Another Shaun Spalding tutorial = another like. RECEIVE IT!!!
@GeneralJWS5 жыл бұрын
Shaun can you make video covering 2D Platformer Doors that lead to another room. Example: Player is in a town area and wants to enter the item shop there. When player leaves they spawn right outside the door. Thanks!
@Djchappy945 жыл бұрын
I believe heartbeast has a episode in his RPG Basics tutorial series that covers doors and how to get people to spawn in a specific location in the next room.
@FerdinandCoding5 жыл бұрын
Every decision you have ever made in life has led you to read this comment
@dannyrhinehart62212 ай бұрын
Why are my tX and tY undefined???
@lilbigman58804 жыл бұрын
For those who struggle with performance, using surfaces in the isometric renderer brought my fps from 128 to 6000.
@thefufuu31573 жыл бұрын
can you explain how you modified the funtion ?
@lilbigman58803 жыл бұрын
@@thefufuu3157 Draw the isometric world to a surface once, then only draw the surface afterwards unless the world changes.
@Kuzyn4 ай бұрын
@@lilbigman5880 Do you have any tutorial explaining the surfaces? What they are, how to handle them?
@miltonwaddams4220 Жыл бұрын
i keep getting a syntax error on the object create event
@alvideos21453 жыл бұрын
How do you do walls? ,_,
@douglasboldt88175 жыл бұрын
Shaun, I got the tiles to render in isometric view, but now my objects are hidden by it. I have tried to read up on depth but don't seem to get it? Under the instances I set the object depth to -100. hoping it would appear above tiles but no luck. Pretty basic I know, but where do I set object depth? It seems in this tutorial the tile depth is 0 and it varies by a few pixels because of the random function that you inserted. Thx.
@heftykat Жыл бұрын
I did this and everything works except outside the world extra sprites that are not in the MAP fill the rest of the room. Blinking around.
@balthasarrichters43894 жыл бұрын
What's the difference between a "ds_grid" and a normal 2 d Array???
@thefufuu31573 жыл бұрын
@Shaun Spalding ... hey mate how would you merge the rpg tile collision with the isometricifier :D ... basicly the idea would to be to write the "collision" layer into the oRender but you would need 2 oRender ( i guess ) or you would rewrite the collsiion script to colide with a part of the tileset that defines the green/ brown tiles :O
@SmarTV5 жыл бұрын
Mannnn :)
@spacecase73314 жыл бұрын
i tried rendering the room but i ended up with a row of brown tiles outside the room bounds that i hadn't created. when i exit the game, they flash the sprite of the other tiles before the game closes. any clue why? i followed all of the steps in this video exactly.
@КириллКирилл-я1щ5 жыл бұрын
Good afternoon, this lesson is very good, but there is also an easier way, for this, create an object in which to indicate camera set Angel, in all objects specify Image angle with a negative value.
@Lexon25355 жыл бұрын
Would this work for Isometric Hexes? Or would things need to be changed?
@alvideos21453 жыл бұрын
I have a light code that uses tiles, how would i convert it to the isometric?
@Temzy5 жыл бұрын
Hey Shaun big fan here, I was wondering if you could do slope support for your complete gms2 platformer tutorial, thanks!
@JohanKarlemo5 жыл бұрын
he has actually done a slope tutorial
@bengelman26004 жыл бұрын
I use to do this in flash so I'm into how to do this here. I just flatted my radial in the Y by half. so 60 degrees down the camera. 1x2 pixel grid
@smashwarrior57965 жыл бұрын
How do you make the tab on the right that has the room and sprites reappear after you exit them?i did it on accident and I don’t know how to get them back.
@aronlehrmann31805 жыл бұрын
How can I program that if my figure is no longer on an object, it will be destroyed?
@InsufferableCrap5 жыл бұрын
Dude I can't tell you how long I've needed info like this. Thank you so much
@InsufferableCrap5 жыл бұрын
As a side note, I'm hoping that before you release the next video to play around with this and see what I could do. Experimenting with this is gonna be wild
@Kol0salt5 жыл бұрын
I’ve been pretty confused. What is the language he’s writing?, or do gms2 have it’s own coding language? Could anybody please tell me? Ty
@Kol0salt5 жыл бұрын
Marq Thank you i’ve been pretty confused on what the Hell i was trying to learn :)
@imper8185 жыл бұрын
Hey one question how do you actualy type something in the console without the coloorfull boxes? Its completly destroing my brain
@crommit82223 жыл бұрын
There are built in room_width and room_height variables that are dependent on the room the script they are in is run in.
@cyriusgd7465 жыл бұрын
I need help. It loads perfectly but there is a platform glitching out on the side. I dont know what to do
@GrahamErmter5 жыл бұрын
I bet vertex buffers would be great for this, probably a bit more of an advanced tutorial though!
@sylorrin72984 жыл бұрын
Hey, Shaun. Thx for this good tutorial. Wanna know if this can be applied to a turn-based strategy game that would require grid picking. Trying to make a strategy game with grid map but want to make it isometric. not sure if I can still pick those nodes correctly after I using this isometric trick
@InsufferableCrap5 жыл бұрын
Hey Shaun. I know you're probably waiting until the next video to answer this question. But I was really trying to figure it all out by making it so you could add walls to collide with. I tried adding a third index for the tileset to be used as a wall but I needed it to create an instance. How do I prevent it from constantly creating a million instances. I'm not sure how to stop the looping.
@InsufferableCrap5 жыл бұрын
Oh my god I'm so dumb. I was still using local variables which kept the loop going infinitely. I basically made it so that if (tx = MAP_W) && (ty = MAP_Y) it would stop the loop so that it would only go through the grid once to create the objects so it would be able to stop. Quite fun the figure out the puzzle though!
@1HardCoreGaming15 жыл бұрын
How do you make collisions work on this? Like maybe a building with walls that you walk into? Do you have to use objects instead?
@koalakoala23445 жыл бұрын
Screate another two scripts to convert the coordinates back. Then you're able to switch between the cartesian system (which the engine uses) and the isometric system (which is used by the game). That's how I dot it. So for collisions, simply convert all the coordinates to cartesian and you'll have your collision checking. The only problm might be the performance when you're using a lot of objects, but there are ways to improve the framerate.
@Gill2cyclpos5 жыл бұрын
in game maker studio 2 is there a way to add a instance, such as time into a "00:00:00" to send a message or display it in some way?
@Jorvanius5 жыл бұрын
Another nice one. Thanks, mate (Merry christmas, Shaun)
@mithrandrilltharkun19705 жыл бұрын
How do I fix gaps between top and bottom of tiles?
@JJzerro2 жыл бұрын
Thank you for this tutorial!
@paperbag38973 жыл бұрын
Never Mind
@janmiro50473 жыл бұрын
how to get the assets?
@Zyrex2165 жыл бұрын
👋 Hi
@angelovelos63295 жыл бұрын
I need help with drawing and moving the player in the world
@JshPerky4 жыл бұрын
I've followed the tutorial exactly, however every tile on a subsequent row is one z level down, so the topmost tile is the highest and the lowest is the lowest z. Does anyone know what might be happening?
@SaraSpalding4 жыл бұрын
If you've followed the tutorial exactly you will have the exact same results! It's been a while since I made this so without going back to check it's hard to say exactly where you have made a mistake but it sounds like you're drawing in the wrong order or something. Check your loop setups.
@palomovalencia95894 жыл бұрын
I'm not sure if we were having the same problem, but mine were not lined up properly. it was a probelm with the tileheight in the Macro itself, try lowering it and find which one makes it fit proper
@MilkshakeDev5 жыл бұрын
Super helpful!!! thats for the tutorial Shaun :)
@Zekronz5 жыл бұрын
Forgot to destroy grid :P
@kincaidnichols25174 жыл бұрын
Ok I don't get what i'm doing wrong. I copied (literally) everything exactly as you have it (expect I used room instead of screen) and nothing renders. Like, at all. I don't get any errors thrown so i'm not even sure what it's doing to not render anything.
@thefufuu31573 жыл бұрын
drop the oRender into the room ?
@a86276672 жыл бұрын
@@thefufuu3157 nah the 2d map would load if oRender isn't in the room. Draw sprite only works in the draw event so I bet that's the issue
@Kuzyn4 ай бұрын
@@a8627667 So what is the idea to solve that problem? Seems to be no sense to draw it in Draw Gui. edit: turned out that everything is okay but you need to make sure your viewport is enabled and then draw event works.
@DanielRead893 жыл бұрын
This was a great tutorial thanks man!
@beronk66725 жыл бұрын
i want to make a game like rome ad92
@nathan080855 жыл бұрын
I was looking forward to this Thanks :)
@beronk66725 жыл бұрын
great work thanks
@erikan97585 жыл бұрын
Thanks a lot for this! 😊
@lizardrain5 жыл бұрын
I don't understand the purpose of enums. Aren't they exactly the same as macros? Why use enums at all?
@Cl0udWolf5 жыл бұрын
Ludorverr enums are lists. Macros are values. You can do a lot more with a list than a macro, just like you can do more with an array than an integer.
@Cl0udWolf5 жыл бұрын
Ludorverr also a general good way to group types of values
@grapeshott5 жыл бұрын
watch 'State Machines' tutorial
@darwindavidduartezambrano15965 жыл бұрын
O.o Great
@grapeshott5 жыл бұрын
plz, before writing any script, plz explain broadly the fundamentals behind the technique. e.g. You could have told us what you were going to do with the tile
@GameBroJimmy5 жыл бұрын
PLS O PLS make this a online multiplayer, im begging you, would love to play this with a friend
@andresfelipegiraldoandrade38425 жыл бұрын
that is like a 3D Game 0.0 I buy Game Maker and i want to learn :'3
@hhcdghjjgsdrt2354 жыл бұрын
Mr Spalding you should really work on 2.5D development to make Game maker survive. 3D is not necessary.
@ronjonjonron33713 жыл бұрын
hey mate cool stuff, but id really appreciate if if you could completely customize and write out new code for me that applies to my exact specific situation (massively multiplayer procedurally generated rpg) thaaaanks
@ftrgstudio22545 жыл бұрын
hey i was wondering if there is a way to make segmented enemies like the wigglers from Mario bros. because i cant find any tutorials.
@heytyshawn5 жыл бұрын
gonna attempt to convert this to love2d :) not a fan of game maker or really any premade engine
@DrJurdenPeterbergsteinlerwitz5 жыл бұрын
Googles love2d -> 'Free 2D Game Engine'... What am I not understanding?
@heytyshawn5 жыл бұрын
@@DrJurdenPeterbergsteinlerwitz On the website, love2d is considered a framework. It uses the Lua scripting language.
@DrJurdenPeterbergsteinlerwitz5 жыл бұрын
@@heytyshawn What makes it more preferable than, let's say GMS?
@heytyshawn5 жыл бұрын
@@DrJurdenPeterbergsteinlerwitz Sorry for the late reply. I prefer using frameworks over engines because I feel like most engines are too restricted and hide too much stuff. Also, gms uses it's own programming language which is also a downside. It requires me to learn a new language to use the engine (which I can't use anywhere outside it) when I can use c++, lua, c#, java, or any other language I'm familiar with and a framework or library.
@DrJurdenPeterbergsteinlerwitz5 жыл бұрын
@@heytyshawn Ah that makes sense. Thanks for answering. I was just confused by how they advertised themselves as both but I see the difference is slim in certain cases.
@kennethmkline235 жыл бұрын
LOL, why is there an "impeach Trump" add prior to this vid?
@easytooner555 жыл бұрын
HELLO EVERYONE IN THIS TUTORIAL I WILL show you how to donate to me in order to watch
@virdeshmukh5 жыл бұрын
game maker i don't like
@SaraSpalding5 жыл бұрын
got bad news for you about this channel, friend!
@virdeshmukh5 жыл бұрын
@@SaraSpalding it is nice to make games but not nice to publish games
@mix-ousoy34855 жыл бұрын
lol
@aky87935 жыл бұрын
@@SaiyanKirby Undertale is one i think
@DrJurdenPeterbergsteinlerwitz5 жыл бұрын
@@aky8793 Just search 'Games made with Game Maker' on Youdupe
@dreemychara35263 жыл бұрын
Hey I have a problem, I don't know where I made the mistake but my tiles are infinite and keep on going even when i set only one