In our Step Eventaction workspace, we need to add the following action at the end of the current list, if mouse down(from the Mouse And Keyboardaction library): This action functions just like the if keyboard downaction and performs a conditional check to see if the left mouse button is being held down (remember, "if" conditionals check for a true or a false return value) and the subsequent blocks we add will be within this conditional and should only be run if the conditional returns true - essentially, the mouse button is being held down so do something. Now, proceed to make a section . Lets make a new Drag & drop is meh but you can use it anyway. After completing this event, on the other hand, will run every step of the game, which for us should be 60 times every second. Click the Add Eventbutton now and select the Draw Eventcategory: As you can see, there are multiple draw events to choose from, but for this we simply need the general draw event, which is the one at the top of the category list (highlighted in the image above). If you wish to play around with what you have learned so far, we recommend that you save the project in its current state - so that you can continue from the same point later - then save it again with a different name and edit the renamed project so as not to lose or change anything that is important to future Once in the workspace you edit the parameters that it requires, and then continue to Drag and Drop further actions to "chain" them to the previous one. setting is pretty smart, and it does a good job, so I wont change it for my sprite. Are complex RPGs possible, for instance? Youll now be greeted with a Workspace on the left and an asset browser on the right. The second part of the code checks to see if the Y position of the object is at the bottom of the screen. You can change this manually by clicking on the preview. This means that changing an instance's properties will not change the properties of the object it was made from, however changing an object will change all subsequent instances created from it. You will get a warning saying that this action cannot be undone, which is fine since this is a new sprite and we aren't going to over-write anything, so click "Yes" to continue. But dont be mistaken: this is still a pro-level IDE that powers some highly successful titles. Where GameMaker differs, however, is in its relative simplicity and target audience. While normally proprietary languages are a bad thing, GML is really . Happy developing! So, double click on the Player in the Asset Browser and then choose Events > Add Event. Just remember that before you start experimenting, save thisproject file and then save it again under a different name and experiment a bit with the renamed file before loading the original to continue with the tutorial. For that we use the if key downaction which will evaluate to either true or false if the given key is being held down, and if it evaluates to true, then we will move the instance by 4. . They can be any size you like, and GMS 2 has a camera/viewport system, so our room doesnt have to be the same size as our screen. With this sprite we need to change the origin. We covered how to add a sprite in the first part of this tutorial, so we'll only briefly run through the procedure here: If you have used the sprite that we used for the tutorial, you should be placing the origin near the bullet image "head" (as shown in the image below), as that is the point that we want to rotate it around and "pin" it into the room with. Object Panel Name your project as you please and save it somewhere safe. The same for the collisions mask, as having the wrong collision mask in your game will seriously affect the gameplay and the fun of the player. If it isnt, we check if the player is pressing A on the keyboard. So, if you want something to appear above or below something else, it should be placed on an explicit layer. top left You can hold down the middle mouse button Go ahead and run your game again.