[OPEN SOURCE] Multiplayer 3D RPG Using Colyseus

  • Amazing performance. In fullscreen on my slow poke integrated GPU, runs super smooth!

  • NPCs do not have any collision. I do not mind if they briefly walk through each other. But they should not stand in each other or walk like this:

t5c_bad_clipping

  • Same when in combat:

t5c_bad_clipping2

  • Combat: player seems to auto-attack even after enemy is dead. So player is standing there, nobody else around, and continues to play attack animation. Moving breaks the loop.

  • Slice attack did not play any animation.

  • Combat feedback is not so good. I am standing there surounded by skeletons. I am hitting “1” and “2” keys. Then I am clicking the associated abilities. I am clicking on enemies. Player plays sword-swing animation. Does not seem to do anything to enemies! But I lose health. In order to kill an enemy I button-mash “1” and click like crazy right into the enemy bunch.

  • Magic combat is good.

  • Chat box minimizalbe/resizable? Because it is often in the way.

  • This might just be me. So if anybody else could have double-checking look? But moving the player feels, idk, “clunky” might be the right term. I cannot pinpoint it exactly. Maybe it is the character speed or there is some delay? To me it feels like a drag going forward :frowning:

  • Related to the previous point. Am I seeing this right that you stop player movment if player collides with level geometry? Can you instead change the move direction so that player “slides” along the collider? That would greatly improve the movement flow.

  • Any chance for getting alternative WASD- or click-to-move controls?

  • Crash when going to the dungeon:

ServerMsg.PLAYER_TELEPORT lh_dungeon_01
Loading.ts:12 displaying loading
AssetsController.ts:230 [ASSETS] loading complete Array(0)
Loading.ts:17 hiding loading
Loading.ts:12 displaying loading
VatController.ts:70 ./models/races/vat/humanoid.json

VatController.ts:78 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'key')
    at f.<anonymous> (VatController.ts:78:32)
    at Generator.next (<anonymous>)
    at VatController.ts:8:71
    at new Promise (<anonymous>)
    at s (VatController.ts:4:12)
    at f.prepareVat (VatController.ts:77:16)
    at f.<anonymous> (VatController.ts:62:32)
    at Generator.next (<anonymous>)
    at o (VatController.ts:5:58)

Overall, I disliked most the melee combat. There needs to be way better feedback what is going on.

I think a lot could be improved by proper enemy collisions (see 2nd image above). If they circle around the player, rather than phase-shfited on the same spot, I have a way better idea what is happening. Could even be a nice feature: if circled by e.g. 6 enemies, cannot move.

Also hit animations and effects. Different weapon sounds.

You can press the Numpad Enter to spawn lots of entities or use the numpad + - to adjust the enemies amount

Somehow its not working for me :person_shrugging:

Regarding Your project I love it! You inspired me to use babylonjs in my project and I’m really glad that it happened. You put a lot of effort into this and effects are great. You have not only working mechanics but nice UI and a lot of stuff around which is not visible at the first glance.

1 Like

I have a scene dedicated to generating VAT’s,

But you should check out this post by @Alexander_Sosnovskiy , he has a better method to generate it much quicker.

https://forum.babylonjs.com/t/baked-texture-animations-with-animation-groups/32518/39?u=oriongu

Some good feedback there, thanks for taking the time to review.

Amazing performance. In fullscreen on my slow poke integrated GPU, runs super smooth! "

Thanks, performance is good at the moment.

NPCs do not have any collision. I do not mind if they briefly walk through each other. But they should not stand in each other or walk like this, Same when in combat:

Agreed, they need to avoid each other and not pile on each other.

Combat: player seems to auto-attack even after enemy is dead. So player is standing there, nobody else around, and continues to play attack animation. Moving breaks the loop.

Slice attack did not play any animation.

Combat feedback is not so good. I am standing there surounded by skeletons. I am hitting “1” and “2” keys. Then I am clicking the associated abilities. I am clicking on enemies. Player plays sword-swing animation. Does not seem to do anything to enemies! But I lose health. In order to kill an enemy I button-mash “1” and click like crazy right into the enemy bunch.

Yes, melee combat and animation synchronization is still very buggy prone, to be improved.

Magic combat is good.

Thanks

Chat box minimizalbe/resizable? Because it is often in the way.

Good idea, i was thinking of reducing opactiy of the background when not in use

This might just be me. So if anybody else could have double-checking look? But moving the player feels, idk, “clunky” might be the right term. I cannot pinpoint it exactly. Maybe it is the character speed or there is some delay? To me it feels like a drag going forward :frowning:

Related to the previous point. Am I seeing this right that you stop player movment if player collides with level geometry? Can you instead change the move direction so that player “slides” along the collider? That would greatly improve the movement flow.

Everyone who has tested has said the same 2 things, I need to do an entire rewrite of the movement systems.

Any chance for getting alternative WASD- or click-to-move controls?

Click to move maybe, but WASD was not on the program :slight_smile:

Crash when going to the dungeon

Noted.

I also noticed it. Looks like client side prediction is not working and player starts moving not immediately but after receiving response from the server.

Hi,

Took me a while to figure it out, but I managed to adapt a yuka function to clamp my player’s movement within the navmesh so it can “slide” along obstacles. It seems to also have resolved the drag effect? What do you think @Joe_Kerr ?

I feel like the movement is so much better now :slight_smile:

ps: have not figured out the Y movement yet, but shouldnt be too hard

5 Likes

Woah, movement +100 awesomeness and smoothness. Great job :heart_eyes:

1 Like

Thanks for confirming @Joe_Kerr

I’m currently working on animation timing and abilities effects, damage timing, etc… in order to improve the combat feeling. It’s time consuming but I’m not far from releasing it :slight_smile:

1 Like

Hi All,

Not much time to work on this project currently, but over the last couple of months, I have fully restructured the way the abilities and animation timing works so as to improve the overal feel of melee combat. I think it’s better now, but timing is tricky over the network and I’m not smart enought to find a “better” solution at the moment. Also, some of the improvements I did allow ennemies to use abilities the same way as the player.

I’d be curious to know if you guys prefer the overal feel of the new combat system? (I’ve disabled auto-attack at this stage, until I find a better way to do it.)

A few screenshots, just because :slight_smile:



10 Likes

This game is TOO cute ;D

1 Like

Somethign broke :open_mouth:

Thank @Joe_Kerr Demo should be working now. Only took me 1 month :stuck_out_tongue:

( Zero time to work on this atm, but will get some down time eventually :slight_smile: )

4 Likes