Create viewer for Opensim using BJS

Hello Folks!

I just recently read an article on Hypergrid Business website which spoke about the military creating a viewer using BJS for Opensim. Myself have created a grid using OS (attached pic of it) and have interest in making a viewer of my own. Since Im familiar with BJS and use it in my work one including the landing page for my business Tinico Enterprise (www.tinico81.com) I thought it would be great to create a viewer in which folks can see their grids minus having to download software such as Firestorm or Second Life. How do I go about doing this? Thank you so very much!!

:heartpulse::green_heart:,
Mekaboo

1 Like

Hiya Mekabooā€¦ welcome to the new forumā€¦ good to see you again. Good topic, too.

I think the U.S. Army bailed on that project.

There is a paragraph about 1/3 down the pageā€¦ ā€œI recall also that the US Army under the MOSES group were working on a web viewerā€¦ā€

Anyway, that website is a little newer/fresher, with lots of news and searchable terms/names.

It seems that OpenSim/HyperGrid experimentersā€¦ are not happy with the performance they are getting from web-based viewers, especially on mobile devices. Understandable.

Iā€™m not knowledgeable on these things, exceptā€¦ back in the ā€œold daysā€ (25 yrs ago), we experimented with VRML generated from telnet-based MOO/MUD servers (SenseMedia/LambdaCore). We used the Chaco Pueblo VRML-enabled moo/mud client (and also CosmosPlayer browser plugin)ā€¦ to view the moo in 3D.

We felt very lonely, but we knew that our VRML/3D experiments would ā€œcome back aroundā€ eventually. Here we are, eh? :slight_smile:

The only ā€œmodernā€ for-BJS world-server I have ever walked-around-withinā€¦ is @nasimiaslā€™s 500blog.com ā€œthingā€. I donā€™t know WHAT he runs on the server-side, but I doubt that it is OpenSim-related. Still, ā€œNazā€ is one of the hottest and friendliest coders that I have ever met.

If ANYONE could ā€œadaptā€ openSim dataā€¦ to 500blog data, itā€™s Naz. I have never seen a challenge of ANY kindā€¦ beat him. Iā€™m not sure that he is human. Iā€™m thinking MAYBE he is a robot, built-around a Cray super-computer. :smiley:

In the beginning, OpenSim/HyperGrid-active versions of 500blogā€¦ would likely be ā€œview onlyā€. Users from 500blog wonā€™t be able to interact with ā€œoutsiderā€ grids, nor will other grid-folk be able to interact with 500bloggers. But, each side could see/watch the other side/grid. View only. You could tour an OpenSim grid/world (by entering the gridViewer room at 500blog)ā€¦ but, no avatar would be genned on the remote grid.

Ok, perhaps a fully-mobile non-authed-in ā€œghostā€ could appear in the remote grid. Canā€™t push any buttons or collide with mesh, but might be able to chat. :slight_smile:

Maybe, if we bought Naz a big fat server-space with lots of bandwidth and a pre-paid 10-year no-changes contract, he might build something. :slight_smile:

Anyway, here is a decent Google web-search linkā€¦ should provide some fun reading: link Stay tuned for more comments, andā€¦ party on.

2 Likes

Thank you so much for the friendly welcome back Sir @WingnutšŸ’—

You know what Iā€™ve noticed that quite a bit of info pertaining to grids is a few years old but I wanted to see if things have progressed since then. I started getting into virtual worlds a few months ago and love itā€¦I feel as if I have my own video game somewhatšŸ¤£ā€¦just like regular coding I enjoy the challenge it brings me!

I will for sure look into the info you gave for I know it can be greatly helpful to me and my journey! Thanks again for everything!

:yellow_heart::green_heart:,
Mekaboo

2 Likes

who am i ?? please help me

1 Like

(Wingnut adjusts Nazā€™s doppler antenna and config.whoami) :slight_smile:

You are Mister 500blog, and a fine programmer and human. :slight_smile:

500blog is probably the longest-continuously-operating BJS-ready world-serverā€¦ ever.

And youā€™re one of my heroes.

Other than that, I dunno. Who are you? :slight_smile: (Wingy examines Naz for a liquid cooling system.)

I hope I didnā€™t offend you. I was bragging about youā€¦ a bit.

Mekaboo has a $250 million budget and wants you to help us spend it. :smiley: (j/k)

2 Likes

so make challenge
ā€˜i think everything is possibleā€™
any help i like to try

2 Likes

Oh I wish I had that type of budget :rofl::rofl::rofl:

Sir @nasimiasl you got a glowing review yesterdayšŸ’—ā€¦have you ever worked with building a grid viewer?

The more I look at OpenSim, the more I think it would be tough.

They donā€™t hand-around grids. Instead, it seems avatars can walk/fly/teleport from server to server. The worlds/scenes are not designed to be handed-around.

Essentially, weā€™re talking Second Lifeā€¦ in webGL/JS. I doubt we have the needed horsepower.

1 Like

I appreciate you for being honestā¤ I wanted to see if it was possible to make something more lightweight and compact. I actually use both Firestorm and Singularity viewers when building grids but they take a while to load. I felt that loading would be quicker using HTML5 and it will work across all platforms.

Ahh, you have Firestorm and Singularity experience. Cool. I donā€™t. SO, yeah, at least SOME of the area/region around your current avatar positionā€¦ needs to get sent in SOME formatā€¦ to those clients.

I would thinkā€¦ that approx the same data transfer speeds would be available in both Singularity, and with JS sockets. But, after that data arrives (possibly in separated chunks), it needs processing and then display. That processing would likely go very fast in Singularity (because it is OS code/app). Likely slower in JS.

Then, display. Singularityā€¦ likely renders OpenGL or Direct3D, or similar high-capacity high-performance canvas. JS, installing the same processed data into webGL canvasā€¦ maybe much much slower. And then run-time operations/collision-processing/physics? erf.

Can I askā€¦ what makes you feel this way? Hope? :slight_smile:

There is a reason (or many) why the U.S. Army bailed on the idea of a webGL OpenSim viewer, and why none exist yet, after many years of OpenSim dev. Perhaps you can find out that reasonā€¦ on some OpenSim forums.

One interesting testā€¦ might be to ask Firestorm and Singularity dev communitiesā€¦ about using a webGL canvas for THEIR display system. I think both communities would reply-with ā€œAre you out of your mind?ā€ :slight_smile: They might question WHY they should consider changing from full-power OpenGL/DirectXā€¦ to limited-power WebGL.

And even if they could/would try a ā€œhybridā€ system like that, YOU are only part-way to your goal, with that action. Firestorm/Singularity would still be OS platform-specific (not cross-platform or lightweight). The same amount of displayer pre-process would be needed whether the client used an OpenGL canvas or a webGL canvas.

And after the loadā€¦ chances are that the webGL canvas operates slower than the OpenGL canvas. Perhaps MUCH slower.

I dunno. Iā€™m speculating, of course. It seems to meā€¦ that there is little chance of perf improvementā€¦ using a webGL render on current clients, or using an ALL-JS client with webGL (webpage). Ease-of-use improvement with OpenSim-on-a-web-browserā€¦ definitely true. Would it be plausible/feasible/practical? I have doubts. But, what do I know?

The Unity-to-webGL systemā€¦ is a worthy case-study, I would suspect. It converts SOMETHING into a webGL/JS file/scene. But it is not interactive with Unity after the export. This is what I thought aboutā€¦ for 500blog. You would not be allowed to use the grid as-if you were using Singularity or Firestorm, but you could ā€œseeā€ a ā€œwebGL representationā€ of an OpenSim grid.

You might tell a server like 500blogā€¦ ā€œplease fetch grid blabblahfoo, and render-it in webGL, thanksā€.

But what good/fun is that? I dunno. Maybe we could click on avatars and start chats with far-users, but they canā€™t see usā€¦ unless 500blog starts ā€œsimulatingā€ an OpenSim client. Likely severely-limited features, and slow JS event/collision/physics processingā€¦ in the local webGL rendering (your view/scene).

Then, think about 500blogā€¦ listening for ā€œrequestsā€ arriving, such as ā€œfetch gridā€ requests from ā€œout thereā€. 500blog would need to ā€œpackageā€ its current BJS sceneā€¦ making it look like a HyperGrid package,and then send it off to the requestorā€¦ as if 500blog IS a HyperGrid server. ERF! I suppose 500blog would ACTUALLY BE a HyperGrid server, then, wouldnā€™t it?

Lots of work. High potential for disappointment at the end of the rainbow.

Know what I ā€œfeelā€? I feel I need to shut up for a while, and listen for comments from smarter people than I. :smiley:

1 Like

we need make demo foe show possibility
so we need define requirement for have enough quality any video or screen shot

1 Like

Perhaps, go find the people involved in the MOSES project, and get (beg for) their research data. The Army documents EVERYTHING, and sometimes it can be released to public. Perhaps they used a dev blog that still exists.

Likely, nobody has gotten closer to a BJS-based OpenSim viewerā€¦ than THEY have. Might be just one main developer person. Find them, send them many KFC gift certificates, and then start begging for copies of their research and code. Promise them ANYTHING. :slight_smile: Act pathetic, like your dog is going to die unless you get their code/research. :smiley:

1 Like

you know i donā€™t beg i try to make myself ( engineer is a maker not deceiver )

1 Like

Oh, sorry Naz. I thought Mekaboo posted that comment. I wasnā€™t paying good attention.

Ok, Mekabooā€¦ YOU need to go rape MOSES project hard drives. Not Naz. :slight_smile: Naz would like to see demos/benchmarksā€¦ soā€¦ check what MOSES currently has, if possible.

Sorry about that, Naz. Still, it is good to research what others have done, and how well it worked. Smart endeavor, yes?

It would be nice to see a detailed page about the transfer protocol used for OpenSim/Hypergrid junk. Think its JSON? XML? Binary? Railroad boxcars? Scary. I wonder when I will shut up? :slight_smile:

1 Like

Actually FS and Singularity use components from Linden Lab which is the HQ for Second Life. They use a platform called autobuild and then add various plugins on top of that. I suggest look at the wiki for SL, FS, Singularity viewer. Some of the components I feel and I can be totally wrong can be used with BJS. I also read about a html viewer called Pixie viewer and suggest to look into that as well. There is a viewer out or if coming out that was made with Unreal Engine which I feel is like BJS so I do think BUS can get it done :blush:.

@Wingnut the reason I felt that way is because I feel using HTML5 will take less components which will make it easier to load for folks. When I load FS and Iā€™ve done this on both Windows & Ubuntu and it seems like it take forever.

@nasimiasl Iā€™m totally down to work with ya on this if interestedā€¦Im going to do more research on my own as well!

1 Like

we can define any new project too but let we know about your research result too

1 Like

Will do! So far as far as html veiwers all Iā€™ve seen is panoramic or basic game onesā€¦non that would be compatible to OpensimšŸ˜’