First of all, great job to all those who made babylon.js, it’s feels great to use, has a great commmunity, it’s constantly evolving and got many tools to achieve your outcome.
After scouring the forum for a while now, there’s clearly a demand for a simple example of how to use Colyseus with Babylon.js and as I’ve been working for the last 2 months (slow progress) on a simple top down rpg and I thought I might aswell share my progress.
Thanks a lot for the sharing. A real nice contribution that I think can be very helpful knowing just how much effort it is to master all parts of game creation. There’s always so little about these parts (people tend to prefer showing a full-game and focus on design, faen shaders or gameplay). Where this part is certainly one of the most important (and most frustrating) to build. I think this clearly deserves a mention somewhere in the doc. And also deserves a hug for your efforts.
appreciate the kind words @mawa ! I must admit it’s not the most gratifying part of the game building process but I want to have a good enough base before rushing into gameplay and level design. My goal is to be able to handle correctly ~20 people per zone, anything higher is just too much work (in my opinion) for a single person to build.
I started experimenting with unity level export to GLB and it’s giving quite good results (size and quality), and I may just stick to unity for my level design.
I finalized a workflow between unity and babylon which works for me, so I quickly did up 2 basics scenes just for the sake of testing my upcoming collisions system (easy to say, much harder to make)
Just another quick update on character creation / database.
You can now login / registrer, create new character, then click one of the available characters to join the game. Additionnaly, as you move around, your position and zone is saved.
Despite initially wanting to use firebase/similar, I went with SQLite (mysql database in a file) to keep complexity levels low & reducing external services to the minimum.
It seems like every step is hard: the last week, I’ve been mostly integrating a database and it was harder than I expected. You have to make sure 3 states are in sync: the database, the server state, and the client, knowing that each of these are working at different timings (client is in the future, server is in the past, database is in between).
Multiplayer is a whole new level of complex! (I usually code in PHP which is a very different way of thinking)
Anyway, im progressing! Thats whats important
Next step should be easier: working on a small but decent town & dungeon level
Additionally, I got client side collision working (using a navmesh too, same as server)
Note: how the heck are you supposed to get nice shadows…? I’ve got the light, the shadow generator, i’m adding the player mesh to it, and nothing happens, and I spend ages in the inspector with no satisfying result!