sunwave Posted April 22 Posted April 22 I've been hard at work porting CO to the web. Making a custom JS client and JS server based on Redux. Here's what I have so far: Web client (Three.js) + Bun server (WebSockets) Redux-style binary packet protocol Accounts + bcrypt + SQLite 4 classes (Trojan, Warrior, Archer, Taoist) Map rendering Multiplayer (spawn / despawn, see others) Walk / run / path / jump Monsters spawn + simple AI Inventory + equip armor/weapons 3D C3 characters + animations armor.mp4 Quote
xFranko Posted April 22 Posted April 22 Hmm would it actually be playable without a delay, or that's just a hobby project for exploration ? in any case impressive work! Quote
sunwave Posted April 22 Author Posted April 22 2 hours ago, xFranko said: Hmm would it actually be playable without a delay, or that's just a hobby project for exploration ? in any case impressive work! It's pretty realtime so far! We shall see if it's actually playable with lots of people later on. In any case, it's mostly just a hobby project. I thought it would be cool to be able to play Conquer in the browser. Quote
sunwave Posted April 23 Author Posted April 23 I only worked on weapon attachments today. Took a while to figure it out! It was easy to get the weapon attached in idle pose, but to get it animating when the player walks, runs, and jumps required some effort. Here's how I ended up solving it: 1. Store the body's boneNames order when loading character 2. Pass this order to your function when processing motion files 3. Use positional matching: MOTI chunks are ordered the same as body file's PHY chunks attachments.mp4 Quote
kennylovecode Posted April 23 Posted April 23 I'm actually thinking that if you play games through web pages, you need to load a lot of resources for the first time. Is this really suitable for this game? Because I remember all previous H5-type games, their resources were loaded lazily. First, some small resources were given, and then they were loaded on demand after entering the game, including textures and actions. I don't think business is difficult. What is difficult should be the game experience. Quote
Omicron Posted April 23 Posted April 23 (edited) I didn't want to make this public yet, but I have been cooking up something similar... Effects are functional but the morphing around the weapons are still a WIP. screen-capture (13) (1).webm Edited April 23 by Omicron Quote
sunwave Posted April 23 Author Posted April 23 11 hours ago, kennylovecode said: I'm actually thinking that if you play games through web pages, you need to load a lot of resources for the first time. Is this really suitable for this game? Because I remember all previous H5-type games, their resources were loaded lazily. First, some small resources were given, and then they were loaded on demand after entering the game, including textures and actions. I don't think business is difficult. What is difficult should be the game experience. The architecture already supports lazy loading. I'm planning to implement HTTP Range requests to download only the WDF index (~200KB) initially, then fetch individual assets on-demand as needed. This should give the fast initial load and progressive texture/model loading you're describing, just like other H5 games do. Quote
lawless Posted April 23 Posted April 23 12 hours ago, Omicron said: screen-capture (13) (1).webm 1.5 MB · 0 downloads 12 hours ago, Omicron said: I didn't want to make this public yet, but I have been cooking up something similar... Effects are functional but the morphing around the weapons are still a WIP. took me awhile to get effects almost synced up geometrically but still not perfect. some of dx8 color stuff doesn't translate well to webgl so i've had a fun time trying to replicate the original 'color'. but do have gpu skinning instead of cpu skinning Quote
sunwave Posted April 24 Author Posted April 24 46 minutes ago, lawless said: me too :0 Oh wow, your’s looks amazing! Quote
Omicron Posted April 24 Posted April 24 Swapped Babylon.js with Three.js screen-capture (14).webm Quote
lawless Posted April 24 Posted April 24 6 minutes ago, Omicron said: Swapped Babylon.js with Three.js screen-capture (14).webm looks great! clideo_editor_ac4f13fc3da647a7bd5158566b0744f4.mp4 Quote
Omicron Posted April 24 Posted April 24 2 minutes ago, lawless said: looks great! clideo_editor_ac4f13fc3da647a7bd5158566b0744f4.mp4 Wow! Heads off! Quote
xFranko Posted April 25 Posted April 25 On 4/24/2026 at 3:43 AM, lawless said: looks great! clideo_editor_ac4f13fc3da647a7bd5158566b0744f4.mp4 Wow best one I have seen so far! Is this tied to a backend ? Quote
lawless Posted April 26 Posted April 26 15 hours ago, xFranko said: Wow best one I have seen so far! Is this tied to a backend ? it is. i'm working on them somewhat simultaneously while referencing eo source, cptskys' projects and a few other things. Quote
sunwave Posted April 27 Author Posted April 27 This needs some polishing, but I made some good progress on combat and drops! drops.mp4 Quote
Berniemack Posted April 28 Posted April 28 3 hours ago, sunwave said: This needs some polishing, but I made some good progress on combat and drops! drops.mp4 Love seeing the progress dude. Good stuff. Quote
catal4n Posted April 28 Posted April 28 6 hours ago, sunwave said: This needs some polishing, but I made some good progress on combat and drops! drops.mp4 Good job. Looks amazing. Quote
xFranko Posted April 28 Posted April 28 8 hours ago, sunwave said: This needs some polishing, but I made some good progress on combat and drops! drops.mp4 Keep going my man! Quote
sunwave Posted April 29 Author Posted April 29 Today I worked on the level-up effect and some of the bottom UI, as well as some server stuff regarding leveling and experience. levelup.mp4 Quote
sunwave Posted Thursday at 01:43 AM Author Posted Thursday at 01:43 AM Worked on NPCs today npcs.mp4 Quote
Omicron Posted Thursday at 03:59 PM Posted Thursday at 03:59 PM A tip since you might not be using it (or aware of it), have a look at flatbuffers https://flatbuffers.dev/languages/javascript/ Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.