Creating an empty gamemode
Last updated
Last updated
A gamemode is a feature provided by the core
modules, as part of the normal level load and initialization process. It means you can attach a game mode to specific levels and then whenever you load that level, the gamemode will be activated.
Before you dive into this part of the tutorial, make sure to create an empty level in the CoinCollection module. Open the World Editor, click on File
in the top-left toolbar and choose New Level
then click Save Level
and make sure to place it in our CoinCollection module like this:
We need to be able to initialise the game mode, create a new file in data/CoinCollection/server/gamemode.tscript
with the following contents:
This is a static method and it is called from the core
scripts.
Add the following piece of code to the end of gamemode.tscript
:
This does what it says on the tin, it's a method on the CoinCollectionGameMode
object that is triggered when the mission starts, after the mission finish loading.
Since we added a new script file, we'll need to execute it, in the file data/CoinCollection/CoinCollection.tscript
, change the function initServer
to the following:
Then set the gameModeName of the scene object to CoinCollectionGameMode
:
Remember to save your level.
Finally, go back to the main menu, click Single Player
, choose your level and run it. Then look in the Console (tilde on US-layouts, for me it's the ½ key), and see if the message "CoinCollection mission has been loaded" is printed.
If it is, then awesome! Your gamemode is working! However, it's a rather boring game, you can't really move around in the game or do anything really.
Now, we need to associate our gamemode with the level. First select the scene object in the scene tree: