[Open-source] Realm Crafting - MMORPG Editor

Hello everyone,

I brought out an old project that dates back to when I started with Babylon 10 years ago. I totally started this project from scratch by going to the essentials and ease of use for the grip.

The work is still in progress, I wanted to present the progress of this new project (or rather old, I don’t really know if it’s new or old)

The approach of this editor is divide into tabs which each have their specific task. Here are most of the tabs in images :

Summary

The Project tab which allows to start the game and the server.

The Media tab which groups all the media to import for the game.

The particles tab to create emitters.

The Projectiles tab to create different projectiles (bullet, arrow, fireball…)

The Factions tab to adjust affinities with NPCs, class and race.

The animations tab to create all the animations for the different characters, animals…

The Attributes tab to give particularities to the characters.

The Actors tab to create characters, animals with their appearances and others.

The Combat tab to create the combat system and damage types.

The Items tab to create collectible items in the game that can be added to the inventory…

The Abilities tab which allows you to create magical powers for example.

The Zones tab to create zones that contain what you want. A land or a body of water or just a sky. As well as decorative objects, teleportation portals, sound zones, script triggers, collision walls to block certain passages and others.

The Interface tab which allows you to position, customize all the graphic elements of the game.

There is still a lot of work to do, but I will still show progress later, when I have a bit more progress.

18 Likes

I also forgot to show the toolsBox of the project manager which allows access to the terrain editor and the script editor that I plan to do with Google-Blockly to make script creation easy for beginners

The terrain editor allows you to create terrains of different sizes (64x64, 128x128, 256x256, 512x512, 1024x1024 and 2048x2048 which is the maximum that corresponds to the mixMaterial textures (larger terrain would create images that are too large and therefore pixelation) So you can paint up to 8 diffuse textures, raise mountains, dig rivers, create holes and even create ramps to make gentle slopes.

This terrain can then be exported to the editor in the areas tab. Each zone created can use the terrain made with this editor of terrain.

8 Likes

The project advances. I finished the editor at 99%. But there is still all the game part that the editor generates to do by getting the data from the editor.

Soon I will make that when we create a project, a game demo is created to simplify the handling of the editor.

Some image from the editor:



5 Likes

Glad to see you’re back in the game. :smiling_face_with_three_hearts: And I think reviving this old project was a good idea. :clap: I’m eager to see what will come out of it once the game part will be implemented. And then, please, don’t forget to make your SAVES :pray:

1 Like

The game part is started, but it still remains to do everything the editor says to do.
And I have the part script by block to do too. :smiley:

I promise I will. I should put this on a GIT repository soon. :+1:

1 Like

Hey Dad! Good to see you’re still around doing this!

2 Likes

Thank you Ateria. Welcome back to you too after 2 years

1 Like

Sir, This is really huge!!
A lot of strength to continue with this incredible project and hoping to see more progress :rocket: :rocket: :rocket:

2 Likes

Thank you very much DRLeria for your encouragement.

2 Likes

Hi,

Editor progress. The game is now generated by getting most of the data from the editor. Everything is not done yet, but the base is there.

The login scene: A 3D world can be created as a background (with a fixed camera), which is better than a simple background image.

Displaying the Setting dialog box to adjust game settings

When you log in, you come to a character editor to either create new characters with their appearance or enter the game with characters you have created. Again a 3D world with a fixed camera can be created instead of a background image.

Then we arrive on the game with the scene exactly like what is done in the editor.

At the moment there is not much in the world. just some elements for testing (there are things that are not visible like the sound area or the portals.

Soon I will start creating a real scene and modifying the terrain to create the mountains, rivers…)

There is still a lot of work: creating a real scene, modeling, creating a new character with more animations, because this one is for testing. Create script editor, battle system, trading system and many other things.

5 Likes

Looks great @Dad72 I’m looking forward to watch your progress.

1 Like

@Dad72 good job! Do you have a plan to publish it a ans open source or it is closed project? I think someone could help you with developing/testing

2 Likes

Yes it will be open source. it’s already on a repository but private for now (it’s not a GITHub repository, but bitbucket)

1 Like

Awesome progress :smile:

I can see that from your list :sweat_smile:. I shall send you strength and courage :grin:

2 Likes

The script editor is finished. I just have to add/finish all the commands of script.

The editor is quite simple, but it allows autocompletion, real-time error reporting and others.

I had logically planned to add another code editor per block, but after some work on it, I realize that it doesn’t make things any easier more for the user. So I dropped this second block editor. In addition, there are too many blocks to create which makes the work tedious.

In short, result in image :

4 Likes

I used to work with codemirror + esbuild-wasm which allow writing TypeScript code + autocompletion + linting.

Do you use anything under the hood or it is 100% custom?)

The script editor is 100% custom. I use Codemirror + jshint to recover errors. But no typeScript, no esbuild-wasm.

The programming code is specific and comes with script commands to simplify in conjunction with the game. But Babylon code can also be used for more experienced users.

2 Likes

C’est de la balle :smiley: GJ,

HI,

I made some improvement of the project manager and many corrections/additions in the editor. I also started to create the demo with 4 terrains, including a terrain for the Login scene, a terrain for the character creation and the other two terrains for the game linked by portals.

I just wanted today to show the result of the improvement of the project manager with the banner that I made entirely in css, including background a degrade, a text with a specific font which also has a degrade + a shadow and a clarification.
I also added empty lines on the project list rather than an all-white background.
Then in the list of tools I changed the icons to make it all clearer.

I hope soon to show the terrains with the scenery.

I have a little less advanced his last two weeks. I undertook to redo the floor of my carpentry workshop, so I have more than 2 to 3 hours of time on my editor per day at the moment.

5 Likes

I reviewed the particle editor to add the ability to add sub-emitters. It wasn’t easy, but I’m glad I succeeded.

The tabs had to be added dynamically when creating a sub-transmitter and to keep the interface for each tab added while making the modifications affect the active sub-transmitter. It was also necessary that the canvas always be displayed above each tab.
Of course, sub-emitters don’t work with GPU particles, so there are two ways to create particle systems with a ‘create single emitter’ button and another ‘create multi emitter’ button. for a CPU or GPU system

When you change the tab to see a sub-transmitter, only this sub-transmitter is played to edit each sub-transmitter independently. And when we return to the primary transmitter (the first tab), we can see the whole being played.

The editor of particles uses the BABYLON.ParticleHelper for saving to a json file.

Emitter Main

Sub-emitter 1

Sub-emitter 2

Sub-emitter 3

5 Likes