Godot gaming SDK - Completion of work (transition)
Short Name
Description
KPIs
Delivery of:
Strategic assessment - The timing and payment of this work will be evaluated by Eric in relation to the wider gaming business development effort.
A FIO SDK built for Godot available as a plugin with the given API endpoints functioning.
Automated tests that can be run as a scene within Godot.
Budget Description
Payment summary
Completion of Milestone 1
USDT: 1,000
Liquid FIO: 1,000 (USDT equiv)
Completion of Milestone 2
USDT: 750
Liquid FIO: 750 (USDT equiv)
Completion of Milestone 3
USDT: 750
Liquid FIO: 750 (USDT equiv)
Total for Project
USDT: 2500
Liquid FIO: 2500 (USDT equiv)
Milestone 1 Research
Questions to Answer
Is there a C# library that I can use to handle the serialization and the signing of transactions using ECIES?
If I can't find a solution using C#, what platforms do we want this library to function on? This will determine the libraries I try to find to link with GDNative.
How are different libraries compiled to function on the different platforms: NDK for Android, G++/clang for desktop, etc.
Determine if it would be better for GDNative to be a wrapper for the SDKs that are currently available: Typescript SDK for HTML5, Swift SDK for iOS, Kotlin for Android.
Deliverables
A clear report on the route that I will take in the implementation of this SDK:
Whether that be pure C#, or GDNative.
The libraries that I will use in either case, along with short descriptions of why I have chosen those libraries.
Which endpoints I will fully implement within the SDK. I would like to limit the scope to those endpoints that can be actually using in a game, especially if my work must be duplicated to get implement the SDK on different platforms.
A test implementation of the encryption for FIO request and OBT data.
I will come out of this stage knowing which libraries will work to encrypt the FIO request and OBT data using DH with the ECIES standard. This means that I will have to implement at least a test version of the Push Transaction API endpoint for this stage.
Milestone 2 Implementation
Deliverable
Build out the SDK for Godot using the roadmap provided by Milestone One.
Create tests for the SDK.
Perhaps create a test suite that can be used with any SDK...
Notes
By the end of this stage the C# SDK will be completed, with tests.
Milestone 3 - Make a Game
Deliverable
I have a couple of ideas right now, but I believe that each one revolves around this idea of a marketplace that uses FIO to function. So, I'll probably try to make a simple marketplace plugin for Godot that uses FIO requests to confirm transactions, just like the ecommerce video that showcases FIO.
Current games I would like to explore:
Tankii: A top down slow paced bullet hell game where you are a tank. Adding NFTs that are purchasable to the game wouldn't be incredibly difficult as the game itself is quite simple.
Zoological: The webkinz of web3.
Right now I am leaning toward expanding Tankii, into having NFTs that you can purchase using FIO requests.
I am open to other ideas, but I would like to stay away from a game centered around FIO requests. I feel like if the whole game is FIO requests, those begin to stack up and they could start costing quite a bit. It's not sustainable from my perspective, but I'm open to being proven wrong.
links to
Activity
Eric Butz March 7, 2023 at 10:07 PM
Talked with Sterling and we agreed to close this out. FIO is working with some gaming companies to integrate the SDK so we should be able to get to a good example soon.
Covers the remaining work and payment for:
The completed Godot SDK:
Will be a Godot plugin downloadable from the Asset Library.
Will be open source so the Godot or FIO community can maintain it and build it out for additional API endpoints.
Will have all the Getters, Transactions, and Actions endpoints, but will not have the Block Product Actions endpoints.
Notes:
The Godot SDK will be based off of the design of the swift SDK.
The plugin will be written using GodotScript, the pythonic language used to program in Godot.
I am not including the block producer nor transaction endpoints here because I do not think they are necessary for game development platforms.
I will share my progress on the plugin with the Godot community through their Reddit, along with any game that I make that uses FIO. Hopefully I can garner some interest in the product itself.