In this tutorial we want to make a simple platformer with some neat little extras to demonstrate what GMnet ENGINE can do. Our platformer will have:
Before we can get started, add the asset to an empty project. Depending on what you want to do, you have three options.
obj_htmeto your project.
Great! No matter what option you chose, you propably want to take a look at the configuration, so let me walk you through.
The configuration can be found in
scripts/htme/htme_init. The first things in this configurations are the enums that are used by the engine. Just ignore them and jump straight to
The first thing you'll find under configuration is
randomize();. That assures that the random operations Game Maker does are truly random, which is important for the engine.
After that you can set the debug level. Valid options can be found in the enum
htme_debug and how debugging works is explained in the comment. Leave it on the default option for now.
Let's skip ahead to
self.global_timeout. That's actually the only important configuration option and even that can stay on default if you want. Timeout specifies after how many steps of inactivity the connection between client and server will die and you will be disconnected. The default is
5*room_speed which basicly means 5 seconds. When client and server don't communicate to each other for 5 seconds, they are considered to be disconnected.
So yeah that was all there is to configure for now.
Follow the next steps of the configuration. They will explain how GMnet ENGINE (or GMnet PUNCH to be precise) enables you to connect to other players even behind a firewall.
» Next topic: PLUS - Setup udphp
« Previous topic: What is GMnet ENGINE?
All pages in this manual are licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Manuals / GMnet ENGINE Manual
|0. What is GMnet ENGINE?|
|1. Basic configuration|
|2. PLUS - Setup GMnet PUNCH|
|3. PLUS - Hosting a master server|
|4. Starting the engine|
|5. Setting up the basic platformer|
|6. The network controller|
|7. Adding a player|
|8. A second room and doors|
|9. Showing a list of players|
|10. Adding day/night|
|11. Creating a chat system|
|12. Conclusion / What's next|
|BONUS 1 - PLUS - ONLINE lobby|
|BONUS 2 - Global Sync|
|BONUS 3 - LAN lobby|
|BONUS 4 - Event Handlers for Connecting/Disconnecting|
|BONUS 5 - RPC|
|Local and remote Instances|
|Instance scope and rooms|
|Players and Playerhashes|
|States of the engine|
|mp_map_syncIn and mp_map_syncOut|
|VarGroup SyncTypes (mp_type)|
|PLUS - GMnet PUNCH|
|PLUS - Master Server (GMnet GATE.PUNCH)|
|The debug overlay|
|PLUS - GMnet GATE.TESTER|
GameMaker: Studio is owned by YoYoGames. GMnet is not affiliated with YoYoGames.
The GMnet logos use icons from Entypo (http://entypo.com/) and Open Iconic (https://useiconic.com/open/). They are licensed under CC BY-SA 4.0.