The Threejsverse project is an attempt to create a interconnected universal worlds using ThreeJsCannon library.
This threejs project is written and designed to load stylized and baked lights/shadows 3d assets so the environment looks and feel realistic.
The postprocessing is set to match a vray like rendering and soft shadow that follows around non static assets such as the local and online player’s avatars and vehicles, static assets such as buildings do not receive lights or cast shadows because the environment assets should already have baked light/shadows.
Original purpose: this project was originally designed for loading urban design from 3ds max vray (this is the reason why the postprocessing was set to a copied 3ds max vray real-time NVidia fast rendering settings).
Popular application: can be used for 3d browser games development, engineering simulation, artificial intelligence simulation and other simulated physics projects.
New purpose: to develop a threeverse project that is universally interconnected occupying a physical space (the idea is to keep the players within the threeverse without having to leave the simulation to prevent experience interruption).
Why make the Threeverse?
Threejs is the best 3d rendering library that exists, to create a virtual world that feels more like our world where ecommerce can take place, any players can create and account and posses properties and sell digital or real assets which can be delivered to the buyers (the idea is a universal virtual market using threejs or threeverse).
Click OK. I’m not redirected back to the name input (broken?)
Click on an avatar to load (I don’t have an avatar URL)
Once finally in the level (after clicking on some other avatars to load), mouse look just doesn’t work. The camera immediately shoots up in the air as soon as you hold down one of the mouse buttons to look around. At this point I tried walking around, but the experience isn’t great, so I closed the website.
Maybe I’m missing something. How do you test your own code? (Not meant as an insult. I’m genuinely wondering, since it’s very obviously broken immediately from the start - at least on Desktop) Is this meant to be played on touch screens or mobile devices only?
When testing your own software, always assume your users are evil people trying to break your code by filling in things you don’t want them to.
The loading screen / bar repeated itself like 6 times before just stopping.
I’ve briefly skimmed through your code. The only thing I can recommend is to stop using jQuery (seriously, there is no valid reason to use it these days, unless you’re using other libraries that depend on it) and try to use some form of abstractions in your code. Try to apply SOLID principles where you can to make your code more readable and maintainable. Trying to learn Typescript (I’ve seen you posting against Typescript in other topics in the past) would benefit you greatly for projects of this size, because - if done right - the compiler will tell you about possible bugs beforehand.
I would suggest trying to learn a framework like Svelte, Vue or React and stop building/maintaining the user interface like you’re doing now. It’s really messy and prone to lots of bugs.
(P.s. I’m criticizing because you’re selling this source code )
(P.p.s: After getting in your game, the mouse-look behavior is exactly the same as I mentioned before. It doesn’t work at all)
I was trying to make a video of your new code as well, but now it seems to be “loading” infinitely without doing anything…
Yes I am having that problem, I think I edited to ruin (I am rusty its been years since I work on this), I am restoring the original. I copied this 3 years ago from Sketchbook, if you wish to learn how its made.
Its an attempt to rewrite it because the original code was realy messy, it was originally made for android or mobile, so now i am rewriting it for desktop use.
Pushing the #Threeverse game engine performance to its limit to learn its breaking point. So far it hasn’t yet break, excited for the next threejs release.
#Threeverse projects is being used for events and interior design show casing for contractors to win projects by getting clients to explore the projects in virtual experience using threejs library.
Threeverse Project Virtual Geometry will soon be released to handle large cities, Threeverse utilizes web worker and asynchronous threejs renderings allowing threejs to run inside a web worker and transfers only the SharedArrayBuffered canvas data this allow an even faster smoother renderings and seamless physics eliminating lags on a large quantity assets and avatars animating at the same time on a web browser by combining all meshes as one BufferGeometry mesh including the avatars, vehicles and other objects in the scene, saving down memory usage.
Added point and click navigation, click anywhere on floor and click or click to another position to change destination then click the marker to walk to destination.
What kind of device do you use to develop and test your project? I cannot control my character, I cannot look around. For a “verse” project, I really think you should fix the “feel” of your engine before focusing on the “look”.