added example application
This commit is contained in:
parent
7286b275b7
commit
211f6ca293
|
@ -60,8 +60,8 @@
|
|||
kernel.</p>
|
||||
|
||||
<h3 id="network"><a href=#network>Network Members</a></h3>
|
||||
<p style="font-size:0.75em;"><i>For aspiring Network Members, please see our
|
||||
<a href="/blog/hello-world#network-application">application
|
||||
<p style="font-size:0.75em;"><i>For aspiring Network Members, please
|
||||
see our <a href="network-application">application
|
||||
information</a></i></p>
|
||||
<!-- <p><a href="https://ortusjournal.org"> [Insert their
|
||||
description here, consult with them on their preferred description]
|
||||
|
@ -70,7 +70,7 @@
|
|||
<a href="https://gschoppe.com/wordpress/plugins-and-themes-open-source/">non-free plugins</a>].</p>
|
||||
|
||||
<p><a href="https://embeddedscript.net">New Media artist Richard
|
||||
Williams' website</a>. <a href="https://bibliogram.art/u/_remind_me_tomorrow">[see also]</a>
|
||||
Williams' website</a>. <a href="https://farside.link/https://instagram.com/_remind_me_tomorrow">[see also]</a>
|
||||
[<a href="https://www.gnu.org/philosophy/javascript-trap.html">
|
||||
unlicensed JavaScript</a>].</p> -->
|
||||
</body>
|
||||
|
|
|
@ -9,8 +9,10 @@
|
|||
<meta content="width=device-width, initial-scale=1" name="viewport" />
|
||||
<meta content="interest-cohort=()" http-equiv="Permissions-Policy" /> <!-- FUCK GOOGLE -->
|
||||
</head>
|
||||
<header><img id="logo" src="/assets/img/TiB-network.png" width=25% style="vertical-align:top" /></header>
|
||||
<header><img id="logo" src="/assets/img/TiB-network.png" width=25% style="vertical-align:top" />
|
||||
</header>
|
||||
<body id="about">
|
||||
<p align="left"><a href=/about><i>Return to About</i></a></p>
|
||||
<p>In order to apply to be a member of the Tebibyte Media Network,
|
||||
please reference the below guidelines. All applications should be sent
|
||||
to <a href="mailto:apply@tebibyte.media">apply@tebibyte.media</a>.</p>
|
||||
|
@ -83,4 +85,5 @@
|
|||
list of free software licenses</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ol>
|
||||
</ol>
|
||||
<p>A sample application is located <a href="sample-application.txt">here</a>.<p>
|
|
@ -0,0 +1,70 @@
|
|||
Nexus is a federated, open source, hackable VR social platform and protocol.
|
||||
|
||||
Project members include Person1 <user@example.com>, Person2 <user@example.com>,
|
||||
and Person 3 <user@example.com>. The representative of the project is Person1.
|
||||
|
||||
Nexus' current design is subject to change; we are still in the rough
|
||||
prototyping stage and we expect to "ship-of-thesus" our current design quite a
|
||||
bit. The goal of Nexus is to provide an open, extendable, VR social platform. To
|
||||
do this, Nexus separates its logic into individual WASM scripts and a networking
|
||||
API based on the ECS model. Everything communicates using the gLTF and VRM
|
||||
standards: VRM for avatars, and gLTF for objects and worlds. Several different
|
||||
actors are present within the Nexus architecture:
|
||||
|
||||
A “world” is a collection of WASM scripts and gLTF models able to be reproduced.
|
||||
It is intended for users to be able to create worlds, and to share them,
|
||||
allowing others to use the worlds as templates from which to create servers. A
|
||||
“server” is a running instance of a world; how servers interop with other
|
||||
servers is yet to be determined. A “client” is the front-end application that
|
||||
can connect to any Nexus server and interact with other clients over the server.
|
||||
|
||||
The current plan is to provide almost everything using WASM scripts.
|
||||
|
||||
WASM scripts have two categories so far; there are server scripts, that just run
|
||||
on the server, and client scripts, which are sent over to the client for the
|
||||
client to run locally and then interact with the server using the networking
|
||||
API. It's possible that we will come up with some kind of server-client dual
|
||||
script type, in which clients run a script to keep themselves up to date with
|
||||
the server. The server checks to make sure its results line up with the clients’
|
||||
in order to limit abuse.
|
||||
|
||||
Camera and physics (gravity, collision, buttons, etc.) interactions, IK and FBT,
|
||||
and GUI systems (server discovery interfaces, friends lists, etc.) will all be
|
||||
provided by WASM scripts. We will provide default implementations, but the
|
||||
community will be free to hack on those scripts or create their own from scratch
|
||||
to provide the same or new functionality. This creates an extremely extensible
|
||||
platform. Using WASM means that, as we go into the future, more languages could
|
||||
be utilized to write social vr, or non-social vr experiences, such as games, a
|
||||
scene editor, media creation tools, etc.
|
||||
|
||||
This system enables people to to write clients and servers in other languages or
|
||||
engines than Bevy, which we are currently using for our standard implementation.
|
||||
As long as clients or servers properly respect the WASM scripts, everything
|
||||
should work across different implementations. If someone creates a Nexus server
|
||||
SDK in Unity, they will be able to take advantage of much of Unity to create
|
||||
Nexus worlds.
|
||||
|
||||
The fact that we use WASM also means that game developers can create games or
|
||||
experiences in normal, 2D IDEs, such as writing a game in Rust, instead of
|
||||
having to deal with our scene editor. That being said, we do plan to make a
|
||||
scene editor in Nexus, but this is a tentative, far-future plan.
|
||||
|
||||
The current plan is to use IPFS to provide sharing of WASM scripts, models, and
|
||||
whatever else may materialize in the future.
|
||||
|
||||
Theoretical work on a permissions system has not yet begun.
|
||||
|
||||
The aim is to provide an open source VR social platform where people can
|
||||
collaborate and communicate with each other, and a game engine-like base to
|
||||
build social VR applications.
|
||||
|
||||
Our Minimum Viable Product is gLTF models loaded in for avatars, downloading and
|
||||
loading, basic voice chat, and synced worlds.
|
||||
|
||||
The timespan of this project to full completion is several years. If all goes
|
||||
according to plan, an MVP should be only a few months off.
|
||||
|
||||
The server and client implementation will be licensed under the GplV3, but all
|
||||
the base scripts, for things like physics, inverse kinematics, and the basic UI
|
||||
implementation will be licensed under the Expat License (also known as the MIT
|
||||
License).
|
Loading…
Reference in New Issue