Integrate Godot and Moralis for NFT GamesFrontend
Recently, I found the ChainSafe Gaming SDK for Unity.
It's amazing for creating Dapps or NFT games.
However, I personally like Godot not Unity - I think that there are pros and cons, but at least for 2D games, my personal preference - so I decided to integrate Godot and Moralis (an awesome platform for Dapps or NFT Games).
This article is for HTML5 Games Only by the way.
And a detailed explanation of Godot and Moralis is differenct from the main point of here so I'll omit it. If you're curious, please see the official website.
0. Requirements #
1. Create a new project on Godot #
Open the Godot, create a new project. For HTML5 game, recommended the OpenGL ES 2.0.
Next, create a new scene and add a new Button and Label, then save it.
In addition, enter "Login" to the text field in the Button and "Sample text." to the Label.
Then, Assign a new script to the Scene and add pressed() signal in the Button.
2. Import the Moralis SDK on Godot #
In Godot, go to the Project -> Export... -> Add... -> HTML5.
Add the following code to the "Head Include".
3. Implement the Moralis Auth in script #
Assign a new script file to the Scene and write code.
The whole code is below.
# Moralis Server settings
export (String) var server_url = ""
export (String) var app_id = ""
# Signals emitting logged-in and logged-out for the Moralis
# Moralis object
# Authenticated User
var current_user = null
# Initialize the Moralis SDK
options.serverUrl = server_url
options.appId = app_id
# Check if user already logged in
current_user = moralis.User.current()
current_user = args
$Button.text = "Logout"
$Label.text = "Logged in!\nETH Address: " + args.get("ethAddress")
current_user = null
$Button.text = "Login"
$Label.text = "Logged out."
After that, set the values of the Server Url and App Id of your Moralis Server in the Scene.
You can see the above values in the Moralis Server Details. If you can't see, you need to create the Moralis account and server.
4. Export #
Click the Project -> Export... -> Export Project.
Create a new folder named "html5" in the project folder. And the file name should be "index.html".
Then uncheck "Export With Debug".
By the way, set the current scene to the main scene in the project settings as follows:
5. Debug #
Finally, we can run this awesome game which only authenticate the Moralis. Open the terminal and enter the followings:
python -m http.server 8000
On your favirote browser, enter "localhost:8000" in the URL bar.
Then you should see the login screen.
When you click the "Login" button, the MetaMask popup will open to login. If you logged in successfully, the sample text will change to your eth address. And the button's text will change to "Logout".
6. Conclusion #
This time, I explained about the Moralis authentication only.
If possible, I would like to make a Godot Moralis Addon.
But before that, the intelligent Moralis Team may make it.