FeedProjects
Developers
Settings
๐ŸŽ‰ A new chapter begins: Boardroom has joined Agora
Learn more
protocol logo
Explore / Projects
Decentraland

Proposals

Discussions

Members

Information

Create Proposal

Decentraland

ProposalsDiscussionsMembersInformation
Proposal
Back to Proposals
closedEnded 5 years ago ยท Snapshot (Offchain)

Improving the Toolbox Smart Item In Builder

By 0x5E23...CE0958

by 0xbd5b79d53d75497673e699a571afa85492a2cc74 (DecentralandGod)

Should the following Tier 2: a one-time payment of $1500 - $3000 USD in MANA grant in the Platform Contributor category be approved?

Abstract

Proposal

Add more functionality to the toolbox smart item to enable users to make more dynamic scenes

I will list the updates and then provide more detail below

  • Add a set of โ€œFace Player/Itemโ€ and โ€œMove to Player/Itemโ€
  • Add โ€œFollow pathโ€
  • Improve the Move/Rotate/Scale code (TweenSystem) to be able to run 1 move,1 rotate,1 scale concurrently. Currently limited where only 1 action can be executed at a time move or rotate or scale.
  • Scene Add/remove
  • Attach/Detach Item

Demo / POC

[https://share.decentraland.org/b/scene/77318ec4-638b-4543-a727-688f51b371ce] (https://share.decentraland.org/b/scene/77318ec4-638b-4543-a727-688f51b371ce)

Grant size

3,000 MANA

Beneficiary address

0xbd5b79D53D75497673e699A571AFA85492a2cc74

Description

Full Project Proposal Here https://github.com/wacaine/dcl-smart-items-ce/blob/master/proposals/toolbox-ce.md

Actions To Be Added

Face player

The target item will rotate towards the player at a configurable speed for how fast it rotates and stops when facing the player.

Face Item

The target item will rotate towards the target item at a configurable speed for how fast it rotates and stops when facing the player

Move to player

The target item will move towards the player who invoked it at a configurable speed for how fast it rotates and stops when facing the player

Move to item

The target item will move towards the item at a configurable speed for how fast it rotates and stops when facing the player.

Note on above

All of the above face/move actions will include lock X, Y, Z-axis which do as they suggest. It will prevent movement along the locked axis. This is useful if you wanted to move an item to the same Y coordinate as another item but update any other axis (basically have it move only in the up/down direction).

Follow Item Path

The target item will follow a path of defined items. This is like move to item however you list more than one item. It will also not follow the path strictly but more of a curved path AND rotate the object-oriented facing forward along the path. I do have a POC of this working however the Builder action UI is limited and I see no way to be able to pick an unlimited amount of items. I must pre-configure the max number of selectable items. I am also not sure how nicely this will work with multi-player. I plan on leaving this just as an advanced feature only the CE repo will have and not try to pull it into the main repo.

Motion Control

Allows a player to pause, stop, resume an action

Improve the Move/Rotate/Scale code (TweenSystem)

Currently, you can execute just one Rotation, Move, or Scale at a time. Executing two at the same time will cancel one of them out. I want to add the ability to enable 1 Rotation + 1 Move + 1 Scale all at the same time. More than 1 of these actions at the same time will have the same cancelation effect as the first just like today but only against that action type: move, rotate or scale.

Add Attach/Detach Item

Will attach 1 item to another giving the attached item the position, rotation, scale of the target/host object. This is very useful to move items in one group instead of individually. Attach centered flag.

Scene Add/remove

Action will let you remove/add an object. Not the most elegant way to handle the user experience object/movement but has its uses. One is removed objects do not contribute to scene limitations and boost scene performance.

Specification

Demo / POC

I started work the same day I saw the DAO Funding proposal as a POC and you can see the work I have completed here

[https://share.decentraland.org/b/scene/77318ec4-638b-4543-a727-688f51b371ce] (https://share.decentraland.org/b/scene/77318ec4-638b-4543-a727-688f51b371ce)

I estimate I have about 70% of the deliverable complete. I am optimistic that this proposal will be approved because I believe in the value of adding the toolbox functionality (I have already logged more hours than I probably should have not knowing if this will be funded or not). Should the funding be approved I will finalize my work and make it available as outlined in the deliverables below.

Personnel

My Portfolio

I won first place in the recent CyberPunk Contes that included a mini-game. In the mini-game, I had to disable access to areas, disable platforms, keep track of how many times a user did something. I exclusively used the Builder and the provided smart items to make my scene. In doing so I am very familiar with the Builder and smart item current limitations.

https://decentraland.org/blog/announcements/cyberpunk-2021-meet-the-winners/ View it in the scene pool here [https://builder.decentraland.org/view/pool/2b1522a0-3768-426f-990b-9cd716d9cb20] (https://builder.decentraland.org/view/pool/2b1522a0-3768-426f-990b-9cd716d9cb20)

I have made improvements to existing smart items.
https://github.com/decentraland/smart-items/pull/27

Another contest submission for the Voxter Contest involved a smart asset they provided. You can find my submission here: https://builder.decentraland.org/view/pool/a1890011-77d7-415c-aeb2-452e3a186391?realm=localhost-stub. Again I used the Builder and but this time also the SDK to enhance the Voxter smart item given to the contestants improving its experience and features in the Builder. Enhancements can be found here: https://github.com/pabloes/voxters/pull/2

Roadmap and milestones

Time to Complete

I am past the 70% completion mark already. I estimate at most more 2-weeks until completion from the time the proposal is accepted (sadly this is not my full-time jobโ€ฆyet! :) ). Should the funding be approved I will finalize the work I have already started and make it available as outlined in the deliverables above.

Deliverables

The code will be publicly available at my public GitHub repository here. https://github.com/wacaine/dcl-smart-items-ce. The reasoning for the name of the repository: โ€œsmart-itemsโ€ since that is what they are and โ€œceโ€ for Community Edition. I will upload the source code and a premade item.zip that can be dragged into the builder for usage. Directions on how to do that can be found here https://docs.decentraland.org/builder/import-items/

I will also open a pull request against the main smart-items repository (here https://github.com/decentraland/smart-items). I will work with the Decentraland Foundation team to try and get it merged into the main repo so it will be even easier to make use of. There is no guarantee the Decentraland Foundation will merge this code into the main branch. This step is dependent on the Decentraland Foundation Team time to review, code standards, other projects/goals they have going on, and likely not be completed as quickly as the custom drag/drop item.

Vote on this proposal on the Decentraland DAO

Continue Reading
Connect Wallet to Add Note
0
Votes 36
VoterCast PowerVote & Rationale
0xD72B...497a86
337,617

yes

0xa76D...8dA62f
150,000

yes

0xe2b6...f55a18
144,611

yes

0x8Cff...D2Fe07
115,018

yes

0x1F14...964c1b
110,000

yes

SHOW MORE
VOTE POWER
0
Connect Wallet
Proposal Status
  • Tue June 22 2021, 05:53 pmVoting Period Starts
  • Tue June 29 2021, 05:53 pmEnd Voting Period
Current Results

1-yes

1.199M

2-no

14.801

0%
DocumentationBrandingContact Us
Home
This Project is Currently Disabled

If you would like to enable it, please checkout below.

Boardroom Subscription

Sign up for an individual subscription (access all projects on the platform)

Subscribe
Enable Project

Enable the entire project for every user

Enable Project
Contact Us