I’ve been working really hard on an anime-inspired online RPG called Ninjora using Babylon.js and nengi.js 2.0, and I wanted to share my progress and get some feedback from the community.
The project is a fast-paced action RPG with features like dynamic avatars, jutsu abilities, a complete map/terrain editor, NPC dialogue & mission system, prop physics, spatial grid collisions, and map streaming. The server and client both use data baked from Blender (heightmaps, colliders, static meshes), and the world streams in 256×256m tiles.
I’m currently refining some systems and building out the world - the game itself is still in very early stages.. I’d love to connect with other Babylon.js developers, get advice, and also share what I’ve learned along the way.
Just an advice in order to have more feedback and people committed to testing : since the game development is early stage, you should consider having a direct (non-email-registering-limited) link, to quickly test… Otherwise many people won’t create an account
I felt right after moving, then I was falling forever and had to reload the page, same after being killed by a bear.
Also, when trying to move from the edge, I would be blocked, some force would bring me back to the edge, I had to try several moves, jumps, etc and finally I got unstuck and would go walking on the map
The only way to cast an attack (expect punch) is to right click, and then while right-clicking, left-click ? I think it’s not conventional to have to click the two mouse button at the same same, but maybe that’s not intended ? Also is seems to have no effect for now, at least the fire balls do nothing on the chicken
Good luck for the continuation of your project !
I know porting a project to a playable online version is not easy
Thank you for catching those problems, I’ve fixed them immediately.
As for the for the fireball (that’s one of the jutsu’s I haven’t gotten to revamping).
Thank you for that feedback - each feedback is so valuable! do you have any suggestions of what would feel better in terms of aiming/shooting? Maybe just holding the right mouse button to aim and releasing to shoot?
I hear you. The issue is that, the player defaults to a third person mode meanwhile minecraft/counterstrike are completely first person. I understand my approach is not conventional at all though, I wonder if there’s something that doesn’t feel bad. I can tell it doesn’t land very well with the player to shoot that way
I think your game seems to be well suited for a third person + aiming game.
(Third person, but there is an aiming cross at center of the screen, and attacks would go there)
That way, you keep the logic from FPS (attack select only, and click triggers attack)
The players are billboarded sprites and the only reason I mention this is that the camera’s alpha/beta is fixed to maintain the illusion of the sprites in a 3d world. I think why I added FPS shoot mode was so that the player could aim way higher without breaking the illusion. Maybe I’ll test out no fixed alpha/beta on camera or find some middle ground because I absolutely hear how this should make the mechanic less complicated
Really nice! I like the mix of the sprites and the 3d world. Had fun just walking around
Personally I’d like to see it all kept in third person, the locked alpha/beta of the camera just adds to look of the world for me. Maybe you can use some sort of locking system or something?
Oh, one thing: first time I spawned in it was night time. I could not see anything, took a minute for me to figure out I had stepped out of the world and was falling all the time…
Probably it depends on mouse type. Can you reduce a little sensitivity for mouse movement. It pretty fast for me.
I finally managed to kill 10 chickens at the old man’s request and sell them to the girl on the roof. I bought a teleporter. I haven’t figured out what to do next yet. But I’m already happy with everything.
Thank you for trying Ninjora and the feedback! I value every feedback and I’m currently working on mitigating each and every one to improve the game before I add in any other feature