WhitestormJS/whs.js

Alpha-Network-Module Continuation

Open

#357 建立於 2017年11月28日

在 GitHub 查看
 (7 留言) (0 反應) (2 負責人)JavaScript (6,070 star) (425 fork)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

貢獻者指南