πŸ’‘ Inspiration

Previously, we participated in several hackathons with similar projects but for different blockchains. After completing our projects, we realized that the basic logic was easily migratable between the various blockchains, so we decided to migrate our implementation to other networks.

Unfortunately, we have not been able to recreate an implementation similar to the others, but the basic logic of this application is the same.

The main reasons why we started working on this product were several:

  • In the next few years, it will be necessary to embark a large number of developers if you want to make blockchain applications mainstream.
  • Learning a new programming language is not easy and takes time (It is estimated that learning a new programming language takes between 2 and 6 months on average).
  • Video game development requires many skills. Metaverses, only from the point of view of programming languages, require at least 2 types of languages:
    1. A language for video game development
    2. A language for the development of smart contracts
  • According to Unity.com, over 61% of game developers know how to develop for Unity3D.
  • According to a StackOverflow survey, about 11% of all developers use Unity3D.
  • Currently, there are 4.5 million registered Unity3D developers on Toptal.com, and it is by far the most popular game development software platform.

A product that would allow Unity3D developers to create ICP applications without the need to learn the languages ​​and tools for developing smart contracts, would allow a large number of video game developers to be on board very quickly, significantly reducing onboarding times and costs.

✨ What it does

Our application provides developers with a Unity3D interface through which it is possible to create and deploy NFTs on ICP.

Within the application, there are several archetypes that present different implementations of the Dip standards.

The archetypes are editable by anyone at will, although at the moment we recommend the use of the standard ones.

From the interface, developers can:

  • launch a local network
  • deploy a contract
  • minting tokens all automatically.

Currently, we have decided not to implement any library to manage the interaction with contracts because we believe that it cannot add any usefulness to the tool.

Later, we will consider whether to implement them after interviewing some users.

πŸ”¨ How we built it

The project is built in C #, taking advantage of the Unity libraries.

Within the project, there are some archetypes containing standard implementations of the ICP's protocols written in Rust.

At this moment, being in the testing phase, only one archetype is available (Dip721).

Each developer is free to upload their archetypes, use existing ones or modify them.

When a developer interacts with the Unity3D client, this automatically calls the DFX functions present within the selected archetypes and allows the developer to have an experience similar to the console. With this project, a developer can work with ICP directly from the GUI without having to learn how to use any tools or programming language.

It also doesn't require you to install any other dependencies other than our tool. We are currently working on using Docker within the project to simplify the migration of the application to other OS.

πŸ”₯ Challenges we ran into

The original architecture of our project had to be completely different.

We were planning a client in Unity and a server that, taking the client's data, would be able, through a Jenkins pipeline, to create and deploy a contract.

Unfortunately, we weren't able to recreate a similar architecture.

We didn't have much time left, so, in the end, we opted for a client-only architecture.

πŸ’― Accomplishments that we're proud of

The architecture adopted within the project has several advantages.

The fact that the contracts are present within the client and are visible to all allows all users to modify the archetypes and share them with others.

With this architecture, anyone can access the contract and customize it according to their experience. After contract customization, everyone can deploy and interact with contracts thanks to our tool.

πŸ“– What we learned

Before this hackathon, we had worked with various blockchains and participated in several hackathons, but we had never used our knowledge in the world of ICP.

With this event, we were able to learn how ICP works and what the logic is behind it.

We learn about its standards, DFX, Canisters, and Dfinity.

πŸš€ What's next for Supernova Deployer

Our goal is to create a tool for Unity3D that allows you to deploy on all blockchains and that facilitates the integrations between them. Below is our roadmap: RoadMap

Built With

Share this project:

Updates