whs.js
whs.js copied to clipboard
Alpha-Network-Module Continuation
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)
- [x] 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:
- [x] v2.x.x
- [ ] v1.x.x
Issue type:
- [ ] Bug
- [x] Proposal/Enhancement
- [ ] Question
- [x] Discussion
Tested on: Alpha-Network-Module Branch
Desktop
- [x] Chrome
- [ ] Chrome Canary
- [ ] Chrome dev-channel
- [ ] Firefox
- [ ] Opera
- [ ] Microsoft IE
- [ ] Microsoft Edge
Android
- [x] Chrome
- [ ] Firefox
- [ ] Opera
IOS
- [x] Chrome
- [ ] Firefox
- [ ] Opera
Hey, @TheCodeCrafter sorry for late response. You better contact me in discord and we discuss the future of this module + implementation. Iām ready to help and would love you to help me with some other tasks as well
Ask to be assigned to this by commenting!
@sasha240100 I'm sorry to mention you here instead of Github, but can you merge the base branch into Alpha, so I can continue to work on it without it being behind on commits from dev?
@TheCodeCrafter Merged. Not sure if there are no conflicts. Should work, check please.
I will check! Each year my schoolwork only gets more time-consuming, but I still hope to at least finish this module before I take a long leave.
@sasha240100 Once again, sorry about contacting you here instead of Discord, but I have finished some implementations and we actually could begin testing soon. I just need help with finishing up some stuff in the tools/networking/server.js dependencies (and other WHS local files), as well as finalizing the module itself.
@sasha240100 When is the best time to contact you? (Please include the timezone!)