[WIP] Open Worlds App

Hi guys,

So I decided to start sharing my progress on the app I’m working on in my spare time. The goal is huuuuge - to make an MMORPG that runs in the browser and where players can create their own models + skins and use them in the game. Some things are possible as I’ve tested them already. But I know nothing at all about writing MMOs :rofl::rofl::rofl: So… I don’t know how it’ll turn out.

This project is a continuation of a hackathon I took a part in recently. Here is the post of the hackathon submission, but I decided to create a new topic for WIP - Work In Progress. Some things were working, some not. Now I’m trying to build everything from scratch using TypeScript, to gain some skills… So maybe, just maybe, one day I might get a job as a developer - currently I work as a 3D Artist.

But thanks to my experience in 3D at least I know how to prepare all the assets and how to do the look development. However I’m planning to mostly use bought assets. I got some from Unity Asset Store earlier this week.

So here’s my first update:

  • proper character
  • proper starting screen
  • imported all animations (unity > blender > mixamo > blender again > babylon app)
  • blended animations (‘combo’ animation)

TODOS (for the next week):

  • add at least 3 more characters
  • have different ground for each character
  • play some ‘combo’ animation when the player picks a different character.
  • add some description about: race/class/specs

11 Likes

Super cool to see this project going on! I’ll be waiting for each update with excitement :smiley:

3 Likes

Leeeeeeeeeeroy jenkins

4 Likes

[UPDATE]

So I was on vacation all week but I managed to do a little work. Also I got a new, very interesting job and it looks like starting next month I will have much more time to work on this project! I’m sooo excited!

So here’s the small update:

  • added 3 more characters
  • character animations are played when you switch the character
  • a bit different enviro per character
  • some description about characters

TODOS (for the next week):

  • create button creates the character and puts it into the game scene
  • figure out character movement (with animations)

3 Likes

So… I’m back to the project! After one year of doing completely different things. I had a job that took most of my time and in the end I was laid off anyways so… No more stupid jobs like that. I want to have my stuff done too.

I had to go through again the animation and 3d assets export pipeline again… Which was painful! But at least now how it should be done. Maybe not fully automated, but there’s no mess.

So this time I’m building it from the right angle. So player movement, camera, surface follow (which was easier to do then I thought - or maybe I got better at design patterns?).

Anyways, here’s the progress:

2 Likes

looks way too nice :slight_smile:

1 Like

Ooooh the lighting is very nice!

1 Like

It looks way too nice because the assets are not mine. I bought them a year ago, btw its https://www.syntystudios.com/. Animations of course from Mixamo. Their rigs are fully compatible.

Also the camera in the video is controlled by the player, there is no collision detection yet. I guess that might be the next step.

So it’s been a while. And recently I got back to the project.

And for the past year or so I was trying different things. Mostly trying out the backend things. I really didn’t want to use with any JavaScript on the backend, so I had to try new languages. And I ended up with I guess my own game engine in Go. I tried using some “out of the box” solutions (like Raylib), but then I had problems with loading GLBs. So I also wrote my own geometry loader (for the backend). I just like writing everything from scratch.

The game runs on the server, BabylonJS is just used as a client renderer. As you can see the character animation needs fixing, but overall I think I’m on a right track. And I think I can start implementing the combat now.

I do have a nice entry zone prepared, but this is just a testing scene for character movement etc.

5 Likes

Hello again!

So I’ve build a new main player character movement system, based on physics.

Before I used just a cross product of the surface normal with a limit on a dot product (between the surface normal and a up vector). This is a nice solution that gives you constant speed no matter the “slope angle” - unless you multiple it by the dot product (that gives you a natural feel that the speed is lower with higher slope). Also the character won’t even fall off and is somehow stuck to the surface.

When I started building my starting zone, it turned out dealing with collisions with this solution is very annoying. Also I really want for my character to be able to jump over the obstacles, and the “surface follow” method don’t allow you to do that.

So I introduced physics this time. Still the jump doesn’t work (the character shoots out in space on jump) so I need to spend more time on that. But I have to keep on going, jumping can wait, I have to do the combat system now.

This is a starting zone I prepared few weeks ago. But I don’t like it anymore. I will completely scrape it and I’m building a new one. Just saving this for a record.

6 Likes

Hey this is really good. You should add it to our 8.0 announcement video list!!

1 Like

@Deltakosh I think I will. I was planning on releasing a first official video end of February. Just need to rebuild the world, add combat system (melee & ranged), death and res, character selection, character name plates, game UI… I might just make it in time :rofl: Especially that I’m unemployed so I have nothing better to do…

1 Like

Hi @Jozef_Plata

Would You be so nice to explain a little bit how this movement on 3D map is working? what client is responsible for? what’s the responsibility of the server? do You have system for hacks prevention?