But what are we going to set the rotation too? That said, for those that do want to add some custom logic, there is a GameMaker Language that affords slightly more flexibility. Some of the best advice Ive ever received as an indie developer is to start your project right away. This tutorial has created a TutorialResourcesfolder for you within the project files, and when you open the file explorer to choose a sprite, it should open on that folder where you can find the sprites used in the "Images" sub-folder. event for the world object. With this action, we check to see if there is an instance of the player object in the game room because later we want to access certain variables from that instance. F5 Step 1. Finally, how powerful is this software? Now that its the right size, lets draw on it. At the moment it's 32px, which means that the player would have to move right up to the edge of the view camera window before it will move to follow, which in an arena shooter like ours is just too small we want it to move before that so that the player can see what is around them. Now we need to add an instance variable to the object in the Create Eventwhich will be used to hold our score value. Lets rename our new object to If you dont have any sprites of your own, you should be able to download some from the web. Essentially, the higher the depth, the "nearer" the camera it is and the lower the depth the further away, so a layer at depth -200 will draw under a layer with depth 300, for example. Before going any further though, let's just go over a few of the core concepts that you should take away with you from this section So, open this object now for editing and go to the Step event and add this action just before the Destroy Objectaction : With that added all you need to do is select the sound to be played from the menu (there will only be the one sound that we have added), and there is no need to check the "Loop" checkbox, as that will make the sound loop continuously until the game ends or we call an action to stop it. Origin Click where it currently says No Sprite and select Scale Image On the right is the Well start with an But what isa layer? . Bounding Box In this short Assign the object the enemy sprite too (spr_enemy), as what we are going to do is make our enemies "grow" in size and then spawn, so that the player has a visual cue that the spawner is there and that an enemy is coming and they can move out of the way and prepare. on the Add Eventbutton: In the image above you will see that we have highlighted the "Step" category, and within that the general Step Event, as this is what want to add to our object. Simply put, layers are conceptual 2D spaces that we can use to store things, and the order in which we have the layers within the room editor will affect the depthat which the instance is drawn: In the above image, you can see that by changing the layer order we can change whether the player instance is being drawn over the enemy instances or not. Go ahead and press The following image is a schematic representation of how layers are rendered to help you visualise what's going on: In our tutorial game, we have just set the bullet instances to use the same layer that the instance of "obj_player" is assigned to by using the layer name "Instances" from the room editor. As with almost everything in GameMaker Studio 2, you can give this new layer a name like "TilesLayer" or something, and then you can go ahead and assign the tile set that we made previously to it. Name your project as you please and save it somewhere safe. This means that should we want to change it, we onlyneed to change it in this one event, and all the rest of the actions will "just work".