Skip to content

Renewal New DAO Explorers: Mobile, VR, and Desktop (in Godot & Bevy)

EnactedGrant Request

Proposal Details

Author0x83f9…c820
PublishedApr 12, 2024 16:13
Voting beginsApr 12, 2024 16:13
Voting endsApr 26, 2024 16:13
Snapshot#bdd6f49

Grant size

155,560 DAI

Tier

Higher Tier

Beneficiary

0x0481…1466

Description

![image](https://i.imgur.com/723PkKB.png) ## Introduction We are very excited to have met and achieved the objectives outlined in our latest proposal. Whether in the Godot-developed client for mobile or Bevy for desktop, it is possible to enter and explore the different worlds of Decentraland, interact with other players, customize your avatar, and discover all new places. Thanks to this solid base, today we are in very good shape to propose even more and enrich the Decentraland ecosystem. ## The Bevy client as a springboard for creators ![image](https://i.imgur.com/3yu0Ckr.png) On the one hand, we have the client made in Bevy, which, while **working very well and smoothly**, is the perfect scenario to test and iterate on new functionalities that will **enrich the content in Decentraland**. We want to allow content creators to **add lights, set up ambient lighting**, and **access the GLTF internal content** in order to accelerate the creation pipeline based on this really solid standard. Additionally, we know some features *are long overdue* and need to be released as soon as possible, such as **cinematic camera and scrollable UI.** Iterating on these new functionalities in the Bevy client first will allow us to quickly discover if there are blockers or any challenges, and **make appropriate documentation and specifications** so that both the Mobile/VR client in Godot and the Foundation Desktop in Unity can easily implement them as well. ## The Mobile and VR era for Decentraland ![image](https://i.imgur.com/n0gkf7f.png) Developments on the Godot client have focused on providing a *final beta product*, and this is now ready to be used. The mobile versions **are already in stores**, in a **public beta** and you *can explore* any type of scene and *interact with other players*. Having worked in the last grant to prepare the foundations serving Mobile and VR, we can now iterate to **improve performance and optimization** to achieve a solid experience in both targets. At the same time, we want to start focusing on perfecting both products by adding ambient sounds, music, alerts and differentiating them by **adding a UX designed specifically for VR**. In terms of optimization, we will do research to minimize annoying hiccups which, although already improved over the web client, are not tolerable for the VR version. In this sense, we will work together with Bevy if it is necessary to expose tools that allow this to be improved on the content creator's side. We'll also provide guides and development tools for content creators to test their scenes on Mobile and VR. ## Old content also matter We’re going to keep implementing the **SDK6 Adaptation Layer**, so old content is accessible from our Explorers. This is an SDK7 scene that can run the SDK6 scene converting the messages to be used by the SDK7 runtime. Public document with this same information, just in case: https://docs.google.com/document/d/1aefap7cayJGMfEUmyHViwFRlkD4sROGfE9HALqnj1PY Watch our videos! https://www.youtube.com/watch?v=Pb8kyCvauFQ&list=PLBmhkGNdurqgz7OD5uDIdDVYvGkBIApCo&index=4

16 Comments

daoMay 27, 2024

Renewal New DAO Explorers: Mobile, VR, and Desktop (in Godot & Bevy) This proposal has been ENACTED by a DAO Committee Member (0xfb1afa4dc069ffb47b19dbee196045d508fcd5a2) Vesting Contract Addresses: 0xe7924d7892605e2d3a96d539e326426364d7fc37

daoApr 26, 2024

Renewal New DAO Explorers: Mobile, VR, and Desktop (in Godot & Bevy) This proposal is now in status: PASSED. Voting Results: * Yes 91% 10,491,095 VP (81 votes) * No 1% 42,462 VP (5 votes) * Abstain 8% 1,014,156 VP (3 votes)

leangodotdevApr 25, 2024

Hey Nikki, thanks for your feedback :slight_smile: and sorry for the delay ### VR and Godot Regarding the VR, we've been more dedicated to the Mobile version in the previous grant. As secondary objectives, we wanted to make a VR-build and an experimental-build for Web. We achieved both of them: - The VR build was shown in the Testing Tuesday; the demo video is here: https://www.youtube.com/watch?v=tS-B-waNlVI&list=PLBmhkGNdurqgz7OD5uDIdDVYvGkBIApCo&index=5. After demonstrating that it works well with the same codebase as mobile, we're in good shape to propose all of the features exposed in this proposal. - About Web: there are some blockers, but the experimentation succeeded. We can confirm that it is possible to make a build there; there are just not enough devs for this renewal. Maybe later if the community demands it ### Bevy Have you given the client a try? It's a frequent concern, and it's understandable. There are many reasons to maintain developing the Bevy client, but the ones why we chose the first time still apply (open-source project; ECS based just as DCL). Since the addition of Godot to the project, it has also served as the first iteration of code to make the implementation faster in Godot. This is because both codebases are developed in Rust. In the previous grant, we also kept Bevy to divide the efforts into two future-promise projects; it's hard for a small team to target multiple platforms, so focusing on a specific target was key to the velocity we could achieve. ### The two grants It's a challenge, but I mentioned in the `BID` that it's to perform a role that we've practiced more or less in the previous grant and, for sure, in the first one. If you pick the previous grant budget and make the sum of the two, you'll get a bit more because we added two Scene Developers (for migration and support). We feel confident about the scopes proposed :)

NikkiFuegoApr 24, 2024

While I have not seen progress on the VR side of things, I have personally tested mobile and once all the bugs and crashing is addressed, I do think it will provide a great experience for mobile users. I am not a mobile preferred user, but I do see the greater benefit of having this adaption. I do not understand still the *need* for the Bevy client as I'm not well versed enough in that but from the small research I have done, I see it just adding another layer of different programming for builders that I'm not sure is necessary. But again I could have that completely wrong as I said I'm not well versed. Happy to learn. I do share others sentiments of the worry having the team split up into two different projects (this project and the SDK support). Not so concerned with a group having two grants as I am spreading the team thin. With my experience in managing teams, things can get delayed and out of sorts when a small team is focused on two large initiatives. All that being said, I voted yes as I believe the progress I've seen on mobile alone warrants the approval. Although I do hope the crashing is fixed soon so I can *really* get a taste of the experience :slight_smile: :pray:

EibrielApr 18, 2024

Voting **Yes**, the team did an amazing work with both explorers. Being able to use Decentraland from the phone is just amazing! Keep the good work!

leangodotdevApr 18, 2024

Hey all here, I'm forwarding this message posted also on Discord and shared with Foundation: Hello there! :slight_smile: :information_source: We'd like to share a series of things with you on this occasion. ## `Join BETA testing of Decentraland DAO Explorers` :video_game: :test_tube: First, we invite you to test our **BETA Explorers** and provide us with all the feedback you think is appropriate to improve them. *In Mobile, the most mature version is Android. iOS, as of today (2024/04/18), has VoiceChat and LiveKit disabled (allows multiplayer in Genesis City and Worlds) to be able to polish other points before advancing development*. - **Android**: https://play.google.com/store/apps/details?id=org.decentraland.godotexplorer - **iOS**: https://testflight.apple.com/join/KF4r3jlU - **Desktop** (MacOS/Windows): https://github.com/decentraland/bevy-explorer/releases/tag/alpha-2024-04-09-20-41-58 Remember you can join our Discord server to provide feedback, report issues/bugs, or ask for help :slight_smile: https://discord.gg/6mGqPnjujT ## `The future of the team` :people_hugging: We are reaching the end of this cycle, and we also want to share with you that although we will continue to work together, this team will be split into two. On the one hand, Seba and Lean will move to the `Technical Liaison and SDK Support Team`; on the other, BevyDev Ltd. and Kuruk will dedicate themselves fully to the development of the explorers. ## `Renewal the Explorers proposal` :briefcase: :warning: We have already published a proposal to continue the **Explorers** project. Your vote and feedback will be very welcome: https://decentraland.org/governance/proposal/?id=c58ef920-ce49-481a-ab52-dba2747d9770 Thanks for supporting us! This is funded by the Decentraland DAO.

DedHeadJApr 18, 2024

Thank you for the breakdown, much easier for me to digest. I'll have to reach out to the other Lean to see how they are doing :grin:

leangodotdevApr 18, 2024

Hey Lyla! Our team is currently working together on the previously quoted grant (https://decentraland.org/governance/proposal/?id=cb04d870-5ff6-11ee-af3f-d9f6b00b3bf3). This one will finish next April, 30th. Now, we're in the middle of splitting the team into two parts. - On one side, Seba and I, are fully dedicated to the Technical Liaison and Support Team: I'll take mainly the `Technical Liaison` role and also make support and workshops. Seba will be a support but also migrate SDK6 scenes to SDK7. - On the other hand, Mateo and BevyDev Ltd., will be fully dedicated to the explorer development. Why do we post the entire team in this proposal? We'll keep working together, not on the same product as we used to do, but on very related things, e.g., Bevy client is going to be used to introduce new features in the SDK and iterate faster, the SDK6 Adaptation Layer has to be implemented by the explorers (Mobile, VR and Desktop). In the BID proposal, there is a document with some details also: https://docs.google.com/document/d/1ff8qHuuT1RPu0Xt_sKzNhqsaOo15KsbcQ_b3l5iICsk And numbers: - In the previous grant, we charge by 580hr/month of Core Engine development, Mateo, BevyDev Ltd. and Lean. And 160hr/month of Jr. Scene Developer, Seba. - Now we're estimating for this grant by 380hr/month only for Core Engine development, Mateo and BevyDev Ltd. And 24hr/month for Managing, Lean. - And also now we estimated for the SDK Support propopsal, 160hr of Technical Liaison and Support (Lean), 160hr for Scene developer and Support (Seba), and 160hr for Scene Developer (Agus and Giorgio) Hope this is more understandable :) PS: you tagged another Lean

DedHeadJApr 18, 2024

Hello @Lean, my fellow "Holy Ones holder" I am so happy to see your growth. You have done well friend and I am happy for your recently approved grant: [[BID-0009] Protocol Squad & Coding Cave (decentraland.org)](https://decentraland.org/governance/proposal/?id=4e5dd188-3c30-4ac7-b182-c7b0dc7de002) I understand that certain people will work on this grant and others on the recently passed but can you kindly summarize who will do what within each grant considering they are both full time jobs. I read what you already wrote but a summary in a bullet point or spreadsheet would be best for my understanding. Thank you kindly Jenn

KurukApr 17, 2024

@HPrivakos, I would like to add from what Lean wrote that I'm going to be dedicated to the Godot Explorer version full-time, and BevyDev Consulting UK is going to be dedicated to the Bevy Explorer full-time We are not going to be directly involved in the SDK support.

leangodotdevApr 16, 2024

Hey HPrivakos! It's a good one. Now the *** Technical Liaison and SDK Support team*** bid has passed, we can bring more light here. Seba and I will be fully dedicated to the other proposal (the support). In the proposal https://governance.decentraland.org/proposal/?id=cb04d870-5ff6-11ee-af3f-d9f6b00b3bf3 which finishes next April, 30th we're finally charging by ~ 600hr of Core Engine development per month. And also by 160hr of Jr Scene & Godot Developer. In the proposal we're voting on now, there is an estimation of 380hr of ***Core Engine development*** per month, and there is no charge of ***Jr Scene & Godot Developer*** this time, instead, I'll be charging by some managing stuffs so the Core Engine devs can focus on technical stuffs. This is reflected by the difference between the two budgets.

HPrivakosApr 16, 2024

I have issues with the protocol squad doing both Godot and Bevy development and doing the SDK support team at the same time. Can you ensure you will be able to do both correctly at the same time? They seem to both be full time jobs.

HuepowApr 14, 2024

Hey @leangodotdev , thank you for the detailed explanation about the time with link to be better informed on the project workflow and hours. I had completely different perspective of it and didn't understood the budget and time. Now its clear with a budget and I understand that you cannot offer a linear calculation of time and budget, but only an estimate based on previous experience and a proposal with commitments to fulfill, so the cost of the work depends on achieving the goals at each stage. Thanks for breaking down. It also feels good to hear about your hands-on experience with Godot, Bevy and Rust for the future project milestones You raise a good point here about LLMs which i haven't considered before: because you have sharply defined tasks and specific ones. However I would still suggest to try to use the newest and updated GPT-4 Turbo model from April 9 with code-writting GTPs. There are some good improvements in coding and currently top 1 at benchmarks of LLMs, that may help potentially to win some time in the long run or to code something unique, or even polish when it come to varitations and not specification. P.S. We have a big important event in September - **Metaverse Fashion Week** and i believe you guys can do your best, before it happens with all available tools which might come on the way in exponential progress in this year Changing my vote to "**Yes**"

leangodotdevApr 13, 2024

Hey Huepow! I'm glad to answer that! First of all, you can get better input by seeing the links that I left such as the project where the tasks that were planned are located (with their respective PRs where they were completed) and the proposal from which the continuation of this project derives ( https://decentraland.org/governance/proposal/?id=cb04d870-5ff6-11ee-af3f-d9f6b00b3bf3). I wish the calculation were so linear but that is not the case. We have experience working in both Godot and Bevy, and the Rust language. The best estimate we can provide is the one we specify in the proposal, and to which we can commit as we did in the previous proposal. As you will see in the final numbers, the costs are not fixed per month, and we focus on achieving the objectives set in each milestone. I can report that, unlike the last proposal, in this one, there is 200 hours less dedication per month (and it is reflected in the final budget). About LLMs, I completely agree with `HPrivakos` said, I've tried, and whenever it applies we try to take advantage of them, but we're not building something generic or repetitive task. It's very specific and most of the time you'll need to correct the AI and hardly iterate. Hope this answers your doubt, please let me know :slight_smile:

HPrivakosApr 13, 2024

LLMs are currently terrible for highly skilled low-level code, saying "you can do this faster with ChatGPT" doesn't make sense for that proposal, it's not trying to generate thousands of questionable-quality media article. Did you ever tried to write specific code using ChatGPT? You spend more time correcting the AI rather than writing the code yourself directly.

HuepowApr 12, 2024

Hi there, I really value the incredible work you all are doing. As we approach the midpoint of 2024, we have seen the release of Claude 3 Opus and the latest update for ChatGPT 4 Turbo from April 9, 2024 which one is breaking benchmarks which ones potentially able to speed up workflow up to 20-30% Now lets try to break down the work with an approximate complexity levels: (low = 1 day, medium = 3 days, high = 5 days) and assume a standart 8 hour work day #### GODOT DEVELOPMENT * **Milestone 1: Mobile and VR** * Research techniques to reduce hiccups (medium complexity) * Add sound effects (low complexity) * Implement Wallet Connect and Magic natively for Mobile (high complexity) * Expose Dev Tools to debug scenes (medium complexity) * Make a guide to debug in Mobile and VR (low complexity) * **Milestone 2: VR/XR client** * Create definitive visuals (medium complexity) * Improve UI/UX with 3D content (high complexity) * Try to publish to Meta Store, Windows version for connected headsets (high complexity) * **Milestone 3** * Make graphics settings customizable (medium complexity) * Make Avatar optimization (high complexity) * Try to make a public official release on the AppStore and Play Store (high complexity) * Implementation of the SDK6 Adaptation Layer (part 2) (medium complexity) #### BEVY DEVELOPMENT * **Milestone 1** * Properly exposing Dev Tools to debug scenes (medium complexity) * Cinematic Camera, Scrollable UI panels, Rich UI text (high complexity) * Publish signed executables (medium complexity) * **Milestone 2** * New scene runtime functionality, In-world UI, Lights support (high complexity) * Support Scene Permissions (medium complexity) * **Milestone 3** * New scene runtime functionality, Smooth transitions into animations (high complexity) * Expose and allow to modify internal content of GLTFs (high complexity) * Implement Friends using Matrix (high complexity) If we calculate - we have: * **Total hours for Godot development tasks:** 336 hours * **Total hours for Bevy development tasks:** 272 hours * **Combined total hours for both:** 608 hours In parallel = around 300h Considering 1 day as 8 hours , in total approximately it will be: * **Godot development tasks:** 42 days * **Bevy development tasks:** 34 days * **Combined total days for both:** 76 days In parallel = around 40 days 1 week have 5 work days, in total it will be: * **Godot development tasks:** Approximately 8.4 weeks * **Bevy development tasks:** Approximately 6.8 weeks * **Combined total weeks for both:** Approximately 15.2 weeks In parallel = around 8 weeks Considering that work going in parallel, in total we can make an assumption about 8 weeks In **8 weeks** this work can be done by the whole team considering 8h per day and 5 work days per week 8 weeks = 2 month Considering the availability of Claude 3 Opus and ChatGPT Turbo with a new update from 04.09.24 which one is on the top of bench marks currently, it can speed up work process from 20% to 30%. In this case i would use 25% and 40$ expanse for each person Right now i will calculate the time from parallel workflow for hours, days, weeks and month, considering 8h per day and 5 days per week - 25% speed up by AI i described above: 300h - 25% = **225 hours** 40 days - 25% = **30 days** 8 weeks - 25% = **6 weeks** 2 month - 25% = **1.5 months** **In total we have: 225 hours**. If we devide requested 6 month for 225 hours and 5 work days per week it will be around 2 hours per day *Let's talk about requested budget:* Each person will earn approximately $172.84 per hour, considering $155,560 for 225 hours of work divided among 4 people Each person would earn approximately $25,926.67 in 1 month - 40$ for 2 subscriptions = **$25,886.67** And for the next half of the month 12,943.33$ - 40$ for 2 subscription = **12,903.33$** 1. For **1,5 month** , 5 work days per week and 8h per day - each person would earn **38,790$** 2. For requested **6 month** and 2h per day and 5 work days per week, each person would earn around **345$** for 2 hours ____________________________ The data I provided is approximate. In this scenario if the data is wrong, please prove that with a construct that breaks down tasks, assigns hours to each task, or highlights **differences** by presenting a well-thought-out alternative that better explains or optimizes resource allocation and budgetary needs for **$155,560**