Let’s dive into the world of game development with Game Maker 2. And today we’ll start with options in Game Maker. Let’s create a new project by selecting
New Blank and naming its variables.
Parameters can be added to objects. The object can be almost anything, starting with the hero and enemies, and ending with objects that control some logic in the game. Right-click the Objects folder in the Assets Browser to create an object and select Create -> Object.
An object named Object1 will be created. It needs to be renamed immediately. It is recommended to add a prefix to the name because if we have an object with the name hero and we want to add a sprite that will also be called hero, we will get an error that a file with that name already exists. Therefore, each object must have the obj_ prefix. Thus, the object that I will create will be called obj_vars.
After creation, the object will open immediately. Here you can specify a sprite for the object, specify whether it will be visible, and a few more options. Now we are interested in the events window. This is where we will write the code that will control our object.
Click the Add Event button and select Create. Event type
Create is called when the object is created and it is convenient to set some initial characteristics here. Double-click the left mouse button to open the code editor.
In the editor, we will create
heroExp parameters, which will be responsible for the experience of our object. These parameters are of type integer. We will also add the parameter
heroName, which will be of type string, and the parameter
heroAlive, which will be of type bool
heroExp = 50 heroName = "Maksym" heroAlive = true
Now let’s add another type of event called a draw. It is responsible for displaying the object. To do this, click
Add Event again and select Draw -> Draw in the list. I will open the editor for this type of event and write the following in the code
draw_text(20, 20, heroExp) draw_text(20, 40, heroName) draw_text(20, 60, heroAlive)
draw_text function is used to display text, the first two parameters are the x and y coordinates, and the third parameter is the text to be displayed. Let’s now add our object to the room and try it and see what happens.
Add the object to a room
Assets Browser you need to open the
Rooms folder and double-click on
Room1. The room window will open. In the top left,
Instances must be selected to be able to add objects to the room. Now our object can be simply dragged into the room. It is also worth changing the background color so that the text displaying the object is visible. To do this, in the room options, you need to select ``Background’’ and choose a color (Color option). I chose black because the text will be white.
Now that everything is ready, press F5 to start the game.
Dynamically change variables value
Now let’s try to add an event that will change the value of our parameters. Let’s add the
Key Press - Up event, which will be called every time the
Up button is pressed on the keyboard, and the
Key Press - Space event. The up button will add experience to our object and the space button will kill our object.
Add the following to the
Key Press - Up code
And next code to
Key Press - Space
heroAlive = false
And let’s start the game. If you press
Space, the parameters will be changed.
Local parameters are available only within one object. If you want to add a parameter to which all objects will have access, you need to add
global. before the name of the parameter. Example
global.heroAlive = true
And now this parameter can be changed or used in other objects