WhitestormJS/whs.js

Alpha-Network-Module Continuation

Open

#357 opened on 2017年11月28日

GitHub で見る
 (7 comments) (0 reactions) (2 assignees)JavaScript (6,070 stars) (425 forks)batch import
ENHANCEMENTMODULENEEDS REVIEWhelp wanted

説明

Hey guys and gals! Programmers, contributors, everyone who's been around for a while, could you listen up for a second?

I'm the leader of a special module being developed for WHS called the Network-Module. You can see it's branch under "Alpha-Network-Module", and it's still under heavy development. I'm asking for you guys to help me out a bit. There is a list of things that I need some help with underneath this message. I'd really appreciate it if you guys take a look at this list and comment below if you plan on uptaking one of the many tasks that I need help with! xD

This module has a basic layout. We are trying to take a one script does both server and client approach to this (kind of like Unity's approach).

Here's a little example:

const app = new WHS.App([
  new WHS.app.NetworkModule("localhost", "80", "http"),
  new WHS.app.ElementModule(),
  new WHS.app.SceneModule(),
  new WHS.app.CameraModule({
    position: new THREE.Vector3(0, 0, 50)
  }),
  new WHS.app.RenderingModule({bgColor: 0x162129}),
  new WHS.app.ResizeModule()
]);

let sphere = new WHS.Sphere({
  geometry: {
    radius: 3,
    widthSegments: 32,
    heightSegments: 32
  },

  material: new THREE.MeshBasicMaterial({
    color: 0xF2F2F2
  }),

  position: [0, 10, 0],

  modules: [
    new WHS.Networking.NetworkIdentity(), // To be accessible by the networking
    new WHS.Networking.NetworkTransform() // To not be static
  ]
});

As you can see, the Network Identity and Network Transform go on objects in a scene that you want to be in contact with the server (the server will be able to communicate changes to other clients)

NETWORK IDENTITY: An initial kind of thing. It's creation is communicated across the server and it's destruction is. That's it. No other changes will be communicated across clients. It's a lightweight form of initial scene creation of some sort.

NETWORK TRANSFORM: This, in all simplicity, will transmit all transform changes, geometry changes, etc to the server.

  • Finish Official Module integration with the App.
  • Create Network Transform (which goes on any mesh or particle object)
  • Network Identity (which can go on almost anything)
  • Integrate Network Identity/Network Transform with original module (Network-Module) on app
  • Ask me what's next!

Thanks, Noah

Version:
  • v2.x.x
  • v1.x.x
Issue type:
  • Bug
  • Proposal/Enhancement
  • Question
  • Discussion

Desktop
  • Chrome
  • Chrome Canary
  • Chrome dev-channel
  • Firefox
  • Opera
  • Microsoft IE
  • Microsoft Edge
Android
  • Chrome
  • Firefox
  • Opera
IOS
  • Chrome
  • Firefox
  • Opera

コントリビューターガイド