banner
Moscle.dev

Moscle.dev

moscle.eth | life in new tech IG: moscle.dev Fullstack Engineer / Blockchain Engineer 🍎Apple lover 💻 Centralized Exchange - Software Engineer #blockchains #web3 #fullstackdev
twitter
github

ETHGlobal Autonomous Worlds Experience Sharing

ETHGlobal Autonomous Worlds

Screenshot 2023-06-01 9.41.11 PM

TL;DR The key is the presentation and online judging of the 2 to 4-minute video.

ETHGlobal virtual hackathon#

pros#

  • Develop projects using new technologies
  • Participate in the competition without traveling abroad
  • Longer competition schedule
  • Opportunity to interact with developers from different time zones
  • Tax-free prize money (?)
  • Projects can be seen by people from different countries

cons#

  • It is difficult to fully focus on participating in the competition due to non-attendance and long schedule
  • Time zones are usually not friendly to the Asian time zone
  • Participants are developers from around the world
  • Language challenge
  • Lack of competition participation feeling
  • The technology used may be the latest, lacking documentation or having bugs

Participation experience#

Background#

The main purpose of participating in ETHGlobal Autonomous Worlds this time is to develop a game using the architecture of MUD2. This is a big challenge for me, as I have no experience in game development and developing games on the frontend development chain using this framework, which is basically React + Typescript. Basically, I have only developed a website using NextJS, and that was two years ago. My teammate is the frontend teammate from the previous ETHTaipei Hackathon. He has experience in game development but also has no experience in developing frontend games.

Game concept#

The game concept we came up with this time is a Rogue-lite & shoot 'em up game. The idea was inspired by HoloCure. I have always wanted to challenge myself to create a game similar to HoloCure, but with the theme of the Taiwanese Vtuber 極深空 that I am following. At that time, I wanted to implement this game in Rust, and this opportunity came up to actually create the game during this competition.

During the competition#

The documentation for MUD2 in the days leading up to the competition was all for MUD v1, and the Quick Start was also empty. It wasn't until two days before the start of the competition that an updated Quick Start tutorial was available, but it failed when I tested it. It required some debugging. It wasn't until the day before the start of the competition that a complete and executable tutorial was updated. This was indeed a challenge for us, as we had to develop a game using unfamiliar or unused frameworks. It was a big challenge.
The competition started from 0:00 AM on Friday and ended at 0:00 AM on Tuesday, but the official MUD workshop was from 1:00 AM to 5:00 AM, and most of the Sponsor's offer time was also during the early morning hours. Basically, we watched the replay of the workshop, and I also had to go back to my hometown over the weekend to help with my brother's wedding, so I couldn't fully focus on participating in the development for a long time. In addition, it was difficult to achieve what we wanted to do with the game as a blockchain game. If the results of each shot, the number of bullets, the character's health, the enemy's health, and the enemy's movement path all needed to be uploaded to the chain, there would be a transaction confirmation time. There is already a delay of more than one second on the local chain, and there may be even longer delays when connected to the testnet or mainnet. We also considered calculating the results on the browser side and returning them, but this could potentially lead to cheating. Originally, Rogue-lite games were single-player, so even if cheating occurred, it would not have any impact. However, our idea was to mint the data of the cleared character as an NFT, allowing the character to be introduced into other MUD game worlds. We learned from our previous participation experience and started building from the core of our project, focusing on simplicity. By Tuesday night, we were still refining the project, but we thought we couldn't upload the video after 0:00, so we urgently recorded a demo video and successfully uploaded it in the last few minutes. The video had to be between 2-4 minutes long, and the website needed time to check the length during the upload. Our video was recorded separately for the demo and explanation, and the emergency upload made the entire video awkward.

Online Judging#

The online judging began the day after the competition due date. First, those who needed to demo their projects had to enter a room and fill out an online form. The host would then call out the names based on the form and assign them to a judging room. I think one thing they did well was that after the host set everything up, the Judging room link assigned to each group would appear when refreshing the ETHGlobal project page. The judging process started with the host playing the demo video for each group (yes, playing an awkward video in front of a group of people...), and then two judges would ask questions. I think this was the best judging stage I have experienced in a Hackathon. The judges actually looked at the project's repo and asked questions based on the content of the smart contracts you wrote. They also raised questions about the repo and provided suggestions for further improvement of the project.

Final thoughts#

This was our first time participating in an ETHGlobal competition, and both technically and in terms of the competition mechanism, it was a learning opportunity. It was very helpful for our participation in the ETHGlobal HackFS 2023 hackathon in the future. After discussing among ourselves, we concluded that we need to make a good video, at least set aside a day to make the video, and telling the story is the most important thing. The visual functionality of the demo should be simple, and the demo video and the questions asked by the judges during the Online Judging are probably the most important parts of the entire competition. And most importantly, English English English! There was basically no Chinese used in this competition, except for communication with teammates. All the documents, schedules, Discord, and judging were all in English. In the future, I hope to try introducing myself and the project I want to do in the Idea Brainstorming & Team Formation Session meeting room and find developers from different countries to participate in the project together. That should be fun.

escape-from-chain#

This is the project we created this time. Our core concept is that rogue-like games are usually single-player and have no continuation after completion. We wanted to create a game where, after completing the game, you can mint the ability allocation, equipment choices, and character appearance information of your cleared game character as an NFT. Then, you can project the character into other MUD worlds through the NFT and interact with others. It's a bit like a Pokémon card machine or Fate/Grand Order Arcade. We didn't have enough time to implement this idea this time, but we plan to try using Rust + Bevy in the future.

Support:#

Moscle.dev



Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.