Babylon.js Browser 3D MMORPG - Devlog

This game shows a lot of promise with all the many core functionalities you’d expect in a MMORPG. Gets me excited anticipating later phases of this game. I hopped on around the same time you logged in. Thanks for pointing me to the lower level ninjas that were a lot easier to fight. Very fun game. I can see this becoming one of my more frequently visited demo threads in the forums. I’ve subscribed to your YouTube page and have been watching all your shorts when they pop up in my feed. Keep it up!

2 Likes

Hello!
More than a month has passed since the last update and unfortunately I still don’t have a new map for my game but I managed do some nice work within the project. I slightly improved performance and smoothness of the game and added few important features.
This is list of most important stuff that happened:

  • new movement system (finally got rid of jittering)
  • rewrite most of the UI elements from babylonjs to HTML (nice performance boost)
  • decoupled main page from the game files. (previously loading page required downloading over 10MB of data)
  • added map and minimap (with displaying nearby entities)
  • trade system
  • party system

Party system have few nice features like displaying party members on the map/minimap, displating members hp, alive state, zone. Mini hp bars, members visibility range indicator (opacity).
And sharing (within visibility range) quest progress, picked coins and monster exp.

It’s not yet fully tested and will need go back to party system data replication design and fix one thing that came up at the end - replication order. I managed to make fast fix but I’m not sure if it will work in 100% cases. But have idea how simplify it and get rid of the problem.

If someone would like to test party/trade. To open interact menu over the player need LEFT click + ALT on the nearby player. Interact menu:

Example screenshot with party :stuck_out_tongue:

Greetings!

7 Likes

looks great

1 Like

Hi,

I’m not able to work on my project, so I get my game dev fix but following your project :stuck_out_tongue:

Overal, it’s feeling much more polished today, some quick feedback:

  • Damn that movement is so smooth now. nailed it @Maiu
  • Felt like alot of loading screens before actually getting to the game, and some “screen flickering” also. on the second load it is much quicker though.
  • Abilities & animation are really well synced, i know are hard that is so I’m impressed.
  • UI is really starting to take shape.
  • Performance is great at a constant 60fps with some slight drops on a basic laptop, and ping is around 320ms, but the overall feel does not feel laggy.
  • When I died, I ressurected at the same location, but the map was showing the starting area, and then i suddenly was teleported to the starting area.
  • The mistery chest is great but no idea what is inside :slight_smile:
  • when i try to drag an equiment from the character sheet to the inventory, the tooltip doesnt fully follow the mouse as expected.
  • those inventory/backpack/stats panels should be draggable.
3 Likes

@oriongu Thanks for testing :orange_heart:!

Damn that movement is so smooth now. nailed it

I’m very happy that it works nicely!

Felt like alot of loading screens before actually getting to the game,

Thanks for feedback. I’ll work on it while working on characters selection screen. I wanted to split game from main page to allow faster loading of the page and I didn’t invested much time into this.

Abilities & animation are really well synced, i know are hard that is so I’m impressed.

You know… To be honest abilities are not synced at all so far… :smiley: What I have is only precast animation and each ability has hidden short casting time 0.2-0.5s.
I’m surprised that with bigger latency it also looks good :smiley:

UI is really starting to take shape

I learned a little bit :slight_smile:

Performance is great at a constant 60fps with some slight drops on a basic laptop, and ping is around 320ms, but the overall feel does not feel laggy

Regarding performance I still don’t have VAT! What You saw it was done by optimizing babylonjs stuff, algorithms and data structures.
Server is in London :slight_smile:

The mistery chest is great but no idea what is inside :slight_smile:

That’s why it’s mistery :grin:

when i try to drag an equiment from the character sheet to the inventory, the tooltip doesnt fully follow the mouse as expected.

Some time ago my friend reported it to me. Not sure what is the cause (in some cases it works ok) but all windows with dragging items are still written in babylonjs. I’m planning to rewrite it to html, should fix it then.

those inventory/backpack/stats panels should be draggable.

Thanks. Will work on it while rewriting to html.

When I died, I ressurected at the same location, but the map was showing the starting area, and then i suddenly was teleported to the starting area.

Sometimes it happens and need move to teleport back to proper place (it’s visual bug). Have some bug in reconciliation algorithm. Respawn is always on neutral area - middle of the map

1 Like

Hello,
Finally I have working VAT animations. Currently only works on monsters and there’s a little bit room for improvements regarding one algorithm (each frame I’m iterating all the entities to check if I should stop animation loop) eventually I’ll keep separate list for entities which need stop animation but need to refactor one part of the code before.

Regarding VAT for players entities for now I wont go there to simplify work on equipment system in the client. And 10-20 meshes with skeleton wont affect performance really bad. Still will be playable on low machines.

This is 3 screenshots showing current performance, tests were done with around 130 loaded monsters.
You can also check it in the game, tests were done on ‘perf1’ map . To go there need write in the chat ‘/warp perf1’ to go back to main zone: ‘/warp main’. (game might crash while changing zone)

Screenshots are from 3 different laptops, all with integrated graphic:

  1. I3-6006U: total frame 10.0ms
  2. AMD 4500U: total frame: 5.54ms
  3. AMD 7 8745HS: total frame: 4.13ms



8 Likes

There is an additional good place for sharing your progress - WebGameDev discord server Web Game Dev It would be nice to have more BJS devs in web gamedev area.

5 Likes

Hi :slight_smile:
Last 3 weeks I spent on rewriting GUI from babylonjs to HTMLand finally I’m done with it. Most important UI windows are now draggable (position is not persisted yet). Babylonjs GUI is used only for stuff which is linked to 3d models.
Also have been working on some technical debt and redesigned trade mechanism (still need some polishing related to proper locking), added one new boss and 4 new equipment slots.

3 Likes

Hi :slight_smile:
I’m back from the wellness break. In meantime I spent some time with blender and learned a little bit. I have new update to share, today I uploaded version with visual effect of the equipment. I Implemented visual weapons and skinned armor on the characters. ps. Armor color depends on item rarity.
For now as usual I wasn’t focusing too much on the graphics but more technical perspective.

Short video from equipment presentation:

Next on the plate is prepare collision system which will be integrated with maps creation process. Then line of sight and pathfinding for monsters :slight_smile:

Just to remind You there’s online demo:
https://maiu-online.io

8 Likes

Hi :wink:
Small update from me, small detailing. Character is not as ugly/scary anymore :slight_smile: and added wizard hat.

5 Likes

Hey :slight_smile:
This weekend I was working on two bigger topics which are path finding for monsters and player collisions with environment obstacles. Implementation wasnt hard but I spent a lot of time to think how to organize it and implement in the map creation process.
Below two short videos with the presentation:

Collisions:

Path finding:

And regarding new map I’ve already done most of the work. And soon will share the results :wink:
But before I want to finish some work with Line of Sight for spells and fix few most annoying bugs.
See You Soon :slight_smile:

5 Likes