I've been developing a plug-in to integrate multiplayer features provided by Epic Online Services into a game built with Godot.
And now you can download an Extremely Early Access release of "The Endov Society" interactive video game software provided for entertainment purposes to see it in action. :)
The blurb:
Join/find/create lobbies with up to 32 members! Unlock achievements! Change outfits! Get surveilled! Become more or less suspicious! Get promoted!
Also features an episodic story that will have you asking "Is this a demonstration?".
Some technical details:
The EOS SDK supplies a shared library binary (which exposes a C ABI) to be distributed with the game.
My addon uses Foreigner (a Godot wrapper for the Foreign Function Interface `libffi`) with some additional patches for buffer/struct support to interact with the shared library.
I chose this approach rather than using something like GDNative & developing the main addon in something like C/C++ because...
(a) Multi-platform compilation is a pain;
(b) The code isn't particularly performance critical currently;
(c) GDScript enables much faster iterative development;
(d) This was a motivating example for what's possible via FFI to encourage adoption in Godot;
(e) Avoid requiring C/C++ skill to contribute.
Thanks for your interest & hope you'll consider downloading & trying it out.
* While using a service like EOS has trade-offs, the no financial cost to developers plus the "no account required" Device ID based features of Epic Online Services have IMO potential for innovative multiplayer experiments by Indies & in Game Jams.
"The Endov Society" has no dedicated host but makes use of the realtime lobby & member attribute update functionality to provide some degree of interactivity. And I think there's a lot more fertile ground to explore in that area.
* The tools I created to parse & generate API metadata (in JSON) to assist binding generation could also assist other people interested in creating FFI (or other) bindings to EOS for other languages/engines.
2 comments
[ 3.4 ms ] story [ 14.1 ms ] threadAnd now you can download an Extremely Early Access release of "The Endov Society" interactive video game software provided for entertainment purposes to see it in action. :)
The blurb:
Join/find/create lobbies with up to 32 members! Unlock achievements! Change outfits! Get surveilled! Become more or less suspicious! Get promoted!
Also features an episodic story that will have you asking "Is this a demonstration?".
Some technical details:
The EOS SDK supplies a shared library binary (which exposes a C ABI) to be distributed with the game.
My addon uses Foreigner (a Godot wrapper for the Foreign Function Interface `libffi`) with some additional patches for buffer/struct support to interact with the shared library.
I chose this approach rather than using something like GDNative & developing the main addon in something like C/C++ because...
(a) Multi-platform compilation is a pain;
(b) The code isn't particularly performance critical currently;
(c) GDScript enables much faster iterative development;
(d) This was a motivating example for what's possible via FFI to encourage adoption in Godot;
(e) Avoid requiring C/C++ skill to contribute.
Thanks for your interest & hope you'll consider downloading & trying it out.
* I am hoping this will eventually see an Open Source release, for specifics on that, see: https://gitlab.com/RancidBacon/epic-online-services-for-godo...
* While using a service like EOS has trade-offs, the no financial cost to developers plus the "no account required" Device ID based features of Epic Online Services have IMO potential for innovative multiplayer experiments by Indies & in Game Jams.