The room settings
In this tutorial we will see the room settings to develop our environment. You can adjust the bases of your game by configuring physics, room size, speed and free graphics memory in addition to several options that we will see below …
1.0 – Our room
This is our scenario, delimited by the white stripes that make up the rectangle. By clicking on the virtual ROOM SETTINGS button we will access the scenario settings panel.
In this panel we will have the possibility to adjust the most important functions that GameMaker offers us to modify the size of our scenario, the physical world, initial graphic options and the option to free the memory of our GPU.
The current list of options to modify is as follows:
- Room width: Gestiona la anchura de nuestro escenario en píxeles.
- Room height: Manage the width of our stage in pixels.
- Room Speed: Manage the speed of our game. GameMaker Studio interprets this as “steps per second”, one step is a cycle of reading our code, the default is 60 steps, meaning that our engine will read 60 times per second the code that is currently active in our scenario.
- Physics pause: Pause the Box2D physics system at the beginning, all objects that have been declared physical will cease to have interaction with the environment being simple static objects.
- Physics gravity X: Adjust the gravity of our physical world on the X axis (coordinate plane).
- Physcis gravity Y: Adjust the gravity of our physical world on the Y axis.
- Pixel to metters: Determine the value of 1 meter in pixels, the lower this number is, the higher the speed at which a physical object moves through the environment.
- Iteration speed: Number of times aspects of physics are calculated. As an example we could mention the number of times per second that calculations are made in a collision.
- Update speed: Number of times the source code related to the physical world is read. Similar to the steps per second, but with the difference that the physical world is relative to delta time. It´s an independent system and adjusting this value to twice the current room speed will not make our world move faster.
- Tex flushing: This variable of type Bool (1-0, true / false), will tell our engine if we need to free the memory of old images when loading this level, so we will avoid running out of space in the Ram memory of our graphics card (GPU) at Load new assets. In a normal situation, if the level to be loaded contains the same graphic library as the previous scenario, this option must be disabled. In this way the loading of the level in question will be much faster.
- Tex Interpolation: It is variable bool (1-0, true / false) type, our engine will tell if we interpolate our textures, giving a more smoothed appearance in HD content. If we want to work with Pixel Art assets, this option must be disabled.
1.1 – Interface settings
The interface settings are important. In this panel you can configure elements such as the speed of our camera to zoom to an object and sensitivity of our mouse to the scale or rotate an object.
Moment this section is not working, waiting to meet the requests of the community. So we will be happy to hear your suggestions and implement functionalities.
Update: There is already an update with more options included for this section…
You can see in this list the first four options offered so far:
- Camera Z-Wheel: Adjusts the speed in pixels on the Z axis. This allows us to zoom at different speeds with the mouse wheel.
- Icon scaling: This simplified value adjusts the size of the icons that represent functionalities added to our objects. The icons are also automatically scaled when you zoom in or out of the camera.
- ScrachPad scaling: In almost all 2D / 2.5D projects, video games are created around a resolution. Depending on the resolution of our assets, we need to configure the sensitivity of our mouse when sliding our cursor when we scale an object. Being able to choose a value that satisfies us depending on the occasion.
- ScrachPad rotating: With this value we can adjust the sensitivity at the time of rotating an object, being a less sensitive low value that travels more direction points. A low value will allow us to define precise rotations with decimals, while a high value will make our object rotate more sensitively by skipping more units of direction.
We strongly recommend that you view the video located at the beginning of this article to get a clear idea of this section.
The video tutorials provided on the YouTube channel support subtitle contributions from users. This means that any user can contribute to add subtitles with the editor and the new contribution program of YouTube subscribers.
And here our tutorial today, thanks for your reading and see you in the next article!