hackathon icon indicating copy to clipboard operation
hackathon copied to clipboard

ThreeEyedGames_Etherenity

Open floAr opened this issue 7 years ago • 1 comments

Type: DApp, PoC of Unity3D and Ethereum, happily married by status. Github Repo: https://github.com/floAr/Etherenity (Dapp) & https://github.com/floAr/Etherenity_Unity (internal Unity project) Contract Code: https://ropsten.etherscan.io/address/0x507e049d16c2827ccf603aa2fd882d4a93bec25e Description: Unity3D is one of the biggest game devloper platform when it comes to mobile games. We at ThreeEyedGames feel tht is important to keep pushing out boundaries and not only to create great games, but also to shape the tools and the technology we are using. We feel like Ethereum can provide a huge benefit and novel aspects to the filed of mobile gaming and want to enable developers withing Unity3D to harness the power of Ethereum through Status.

Web Demo: https://floar.github.io/Etherenity/

What has been done This prototype shows the connection between a Unity 'Game' (Not to much gaming around, due to time constraints) and Ethereum through Status. A simple contract is deployed on Ropsten to allow users to register themself with a nickname. This is the base foundation to build a strong Unity <-> Ethereum connection with Status and allow developers to take advantages of truly decentralized services. Some key concepts were a bit harder to implement with Unity service oriented approach. For now unity uses the web3 instance provided by status through the webpage. This means that calls are routed between webpage and unity container. In a current version, which is sadly not yet bug free this is replaced by a Unity internal interface, which can then bind to status' web3 or metamask or any native provider. This allows the interaction with Ethereum from within Unity, enabling a seamless flow for the developer.

Why is this interesting

  • Mobile games dominate the game market today.
  • Unity allows to easily (most often one-click) deploy a mobile game to web
  • Ethereum allows developers to take advantages of middleman-free services like:
    • Matchmaking
    • Trustless Highscore / Rankings
    • Username / Login system
    • Competitions

Challenges faced

  • Some minor fate related fuckups: phone broke down, windows 10 is not willing to play nicely with some android emulation and so on
  • Unity3D WebGL maturity: While most of the features are there already some minor quirks still exist -> Some data is mocked up now and helper functions are used to skip these steps
  • Time constraints: Due to business trip only the weekend was available. This leads to the API, while beeing sketched out on the whiteboard, still beeing a bit hacky implemented and to general feature scarity

What is the roadmap The aim of this prototype is to mature into a fully fledged solution for Unity developers. Due to Status connection to Ethereum it is possible to allow non-crypto-averse developers to access and harness the power that come with a decentralized approach. We are currently working on this in our free time, any monetary grant would allow us to spend more time and push this harder. Possible collaborations with other Ethereum base game services are on our radar and can also greatly benefit from a smotth Unity integration.

Team Members: Preferred Name: floAr Github Handle: @floAr Slack Username: @floAr Twitter Handle optional: @florianuhde

Come visit us at: http://three-eyed-games.com/

floAr avatar May 21 '17 10:05 floAr