SDK: Looking for feedback & ideas

Hey @pablo!

I agree that it would definitely be a game changer. I like the idea of maybe having the owner/devs provide the infrastructure, maybe as a middle step until we figure out another way to do it.

Someone had proposed using Jitsi in the past, similarly to what Matrix does.

Maybe that would be a way to do it

Hi @NChamo,
Here after are a few things that I think would have a great benefits for dev as for players’ experience:

  1. Ability to use external JS/typescript libraries
    (as asked by Pablo as well). This would allow the devs to give their games more features by reusing already existing implementation for so many things (for instance cryptographic algorithms). This would also give them the ability to share common code between different scenes.

  2. Ability to attach an entity to any players
    (as asked by Corv, but not only the one-person player, but also the other avatars on the same scene). At least we need to know who are the avatars in the scene boundaries and be able to poll their position, so that we could set the attached object position accordingly. However it won’t be sufficient as, (I guess) the displayed position of the avatars is extrapolated, so we need to use the same extrapolation and be sync for the attached entity position.

  3. Avatar in preview
    Would be very useful to include a ‘dummy’ player avatar in the preview mode, as we could really appreciate the final rendering of our scene before deployment.

Regards
Ludo

Hey @Ludo!

Thanks for all the feedback! I’ll try to go one by one:

  1. Yes, completely agree that this is a must. We actually managed to make some fixes (soon to be released) that should allow more Typescript libraries to be used, but we are still short on plain JS libraries. Fixing this won’t be so easy, since we need to change the core of the bundling/module resolution part of the SDK.
  2. I’m currently working on this, but only for the current player. Scene still don’t have awareness of the other players, so that will be a little more difficult to implement. But we will get there.
  3. I’m not sure I understand what you mean with ‘dummy’ avatar. You of course have your own avatar when you are on preview mode, and you could connect more times with different browser windows. Could you explain a little bit more?

Thanks!

Nico

@NChamo
Let me explain better #3: I mean when you’re in preview, you do have the point of view of the player but you don’t have his/her body (= avatar). When you switch point of view (‘V’ key), you see nothing. Sometimes, it would help to visualize ‘a’ body for the player so that we can scale the scene more precisely, or just to get an overview of the final rendering.

For point #2, here is what happens when entity’s movement is extrapolated by the scene code and the avatar’s movement is extrapolated differently by the platform (this is a capture from another player’s point of view):

When you say “Scene still don’t have awareness of the other players,” I guess there is the info about the other players somewhere because I can see them in my explorer window. Would be useful to forward this info to the scene.
I think this point is important to be addressed to improve multi-players experience.

Regards

Hey @Ludo!

Thanks for the clarifications.

Regarding #2, thanks for the video. I see the problem you are mentioning, and it’s pretty clear. And I completely agree that in order to improve multiplayer experiences, this needs to be addressed.

About #3, please come by the discord server, in particular the channel #support-sdk, because I do see the avatar when I press “v”.

Hey everyone!

It’s been a while, but I wanted to provide an update on a few of the ideas that were mentioned here.

We have been working on a few bug fixes that were not reported on this post, but we also implemented a some features you asked for:

  1. The ability to move the avatar (link)
  2. The ability to hide avatars (link)
  3. The ability to disable passports (link)
  4. The ability to attach entities to the player (link)
  5. We fixed the visibility of the avatar on preview mode

Also, we are currently working on:

That’s it! Just wanted to keep you updated :slight_smile:

If you have more feedback, please keep it coming!

cc @pablo, @tmalexandre, @Corv, @Eibriel, @Ludo

1 Like

Hi @NChamo,
The new features are amazing.
Thanks for these improvements.
I’ve checked them out, very useful.
Btw, I didn’t work with the DCL SDK for the last 6 months and I see today a real performance improvement (loading time). Well done.
Regarding moving the player (new service movePlayerTo), I see the avatar being animated (small jump) each time the service is called. It makes sense in some cases, but IMHO it would prevent from moving the player smoothly on a path, for example.
Is there a way to deactivate the jump, by any chance ?

Hey @Ludo!

I’m glad you like the changes :slight_smile:

Regarding the small jump animation, I just created an issue to fix it. We are also having other problems with unwanted animations when avatars move. We will work on it!

1 Like

There is an idea that haunts my mind but I don’t know if it will be technically possible.
Could you implement a feature to change the Avatar size inside the scenes?
for example for a scene the avatar starts 1: 1, but after taking a potion it gets smaller and can enter through smaller doors and see the scene bigger (a bit like Alice in Wonderland).
maybe it’s technically impossible, but it makes me imagine worlds within other worlds and I need to raise the question.
the experience outside the scenes, and by default, would be the same as before.
Owners of more lands would continue to be more visible with more bigger buildings, and owners of fewer lands could create worlds within their parcels.

1 Like

Any Chance to have HTML/DOM port for UI.

Working with current SDK UI stuff is a bit messy, while having HTML would give us a lot of webkit features working well, and if we can even include React …

1 Like

Great ideia! That would be amazing!

@ina, it sounds really interesting!. Right now avatars are rather static, but I could see a feature where something like that could be possible.

@pablo , regarding the UI, I agree it’s currently a pain. I’ve suffered it too many times. The thing with HTML is that Unity doesn’t support it. There are some workaround, like this one, that plugin doesn’t even work on wasm. Have you seen or found something online that could help in this scenario?

2 Likes

Thanks @NChamo , I don’t have anything, maybe I was thinking some way to handle the DOM that is on the browser, I know there are layers and it’s not possible to access DOM directly from webworkers, maybe some interface to allow it, but I don’t have idea how to implement it.

Btw, other topic, to enable wearables for better gaming integrations in decentraland, it would be cool to be able to receive an event or whatever in SDK when user changes his active wearables. Right now I think it’s not possible, correct?

Hey @pablo

Indeed that is not possible today. Could I ask you to create an issue on the github repo? Also, if you (or anyone on this thread) wants to implement that (or any other) feature, I would be more than happy to provide any guidance or help required.