Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

MU Online Client revitalization

Joined
Nov 4, 2012
Messages
928
Reaction score
544
The fun part of this crap, i have posted a topic about a season 5.4 GMO and made a poll:

PXoP2mC - MU Online Client revitalization - RaGEZONE Forums


But the n00bs that voted no, never come back to post a valid reason to that.
And i doubt that someone wants to do the things for the community would be encouraged because of this n00bs.

Again, forget it. Is a waste of time.
 

Attachments

You must be registered for see attachments list
Joined
Aug 6, 2005
Messages
550
Reaction score
296
The fun part of this crap, i have posted a topic about a season 5.4 GMO and made a poll:

PXoP2mC - MU Online Client revitalization - RaGEZONE Forums


But the n00bs that voted no, never come back to post a valid reason to that.
And i doubt that someone wants to do the things for the community would be encouraged because of this n00bs.

Again, forget it. Is a waste of time.
Why don't you give a sh*t about the opinion of 2 people out of 16?

Anyways, a bit offtopic: You rely on sources of MuEmu, but don't release the sources of your own changes? Of course, you can do that, but then you don't have to wonder why this community is like it is... My opinion: I as a developer don't see much value for the community in contributing to a closed source project.
 

Attachments

You must be registered for see attachments list
Joined
Nov 4, 2012
Messages
928
Reaction score
544
Why don't you give a sh*t about the opinion of 2 people out of 16?

Anyways, a bit offtopic: You rely on sources of MuEmu, but don't release the sources of your own changes? Of course, you can do that, but then you don't have to wonder why this community is like it is... My opinion: I as a developer don't see much value for the community in contributing to a closed source project.

I already discuss this, but read my first posts that is exactly i am trying to say here.
Because of 2 shits whole community will pay the price, in any re-make or custom of muonline.

Also my sources? bro, you can download muemu sources and do same work as mine. Why i need to supposed post my sources here?
Never do judgment about sources when you can do same work. If you can't do it, i think that you are in wrong forum.
 
Initiate Mage
Joined
Aug 14, 2006
Messages
33
Reaction score
37
i can try help to decompile a main....

Few years ago I decompiled like 70% of S6 main as IGCN team member. I had literally everything I wanted from this game, file formats, whole render (maps, objects, effects) and internal structs (items, game objects like players and monsters). Parts of this decompilation were included in IGCN S6 Dll with custom monsters and other stuff (we called it silver edition). I decided to drop this project, and to move everything to external project where I tried to rewrite MU engine (basing on this decompilation). While it was very successful I realized that writing engine itself is just waste of time. Please don't repeat my mistakes, because this engine is literally black hole.
Later I moved whole project to Unity engine. Today after few more years, it's still not ready. This is not something you can code it one one or two years. And larger team won't make it any better, maybe more chaotic. After all this years I'm sure that community will never finish such complex task. Actually publishing SRC would kill that project. Look at other MU projects. Most of them are successful because they are one-man projects, or are made by very hermetic teams like IGCN. Even Deathway 0.99.60 decompilation (which is probably the best thing that happened to this community like 10 years ago?) it wasn't large community project, it was mostly two guys with some help (correct me if I'm wrong, it was long time ^^).


I can share few screens from our work:



While It's playable, it's not even close to be finished.
 
Initiate Mage
Joined
Apr 27, 2017
Messages
26
Reaction score
1
Few years ago I decompiled like 70% of S6 main as IGCN team member. I had literally everything I wanted from this game, file formats, whole render (maps, objects, effects) and internal structs (items, game objects like players and monsters). Parts of this decompilation were included in IGCN S6 Dll with custom monsters and other stuff (we called it silver edition). I decided to drop this project, and to move everything to external project where I tried to rewrite MU engine (basing on this decompilation). While it was very successful I realized that writing engine itself is just waste of time. Please don't repeat my mistakes, because this engine is literally black hole.
Later I moved whole project to Unity engine. Today after few more years, it's still not ready. This is not something you can code it one one or two years. And larger team won't make it any better, maybe more chaotic. After all this years I'm sure that community will never finish such complex task. Actually publishing SRC would kill that project. Look at other MU projects. Most of them are successful because they are one-man projects, or are made by very hermetic teams like IGCN. Even Deathway 0.99.60 decompilation (which is probably the best thing that happened to this community like 10 years ago?) it wasn't large community project, it was mostly two guys with some help (correct me if I'm wrong, it was long time ^^).


I can share few screens from our work:



While It's playable, it's not even close to be finished.
wow, i think you decompiled function make effect for dl cape.can you share it?
no effect when add custom cape :(
dsiW1lX - MU Online Client revitalization - RaGEZONE Forums
 

Attachments

You must be registered for see attachments list
Joined
Aug 6, 2005
Messages
550
Reaction score
296
@supron: Thanks for your insights. I also think decompiling the main.exe and rebuilding it's engine is a huge task. Writing an own engine nowadays is always a bad idea, since there are a half dozen good ones out there. How did you manage to read the mu client resources? Did you convert all, or did you write code to read them in as-is?
I understand why a larger team could make it worse... I see it at work (~10m LOC, ~30 Devs) every day :D However, this problems are more organizational... I think it's totally possible to work on such a project with more people. It's all about splitting the work in as many unrelated parts and work items as possible, so more teams/people can work on it independently. It doesn't matter for the success if it's open source or not... the fact that closed source projects had more success here, is based on the fact that there are not many serious open source projects here. And that's because most developers here want to make money instead of helping the community :rolleyes:
 
Joined
Oct 29, 2007
Messages
1,267
Reaction score
1,284
Sorry if I'm late for this discussion... I think some of you might not agree with what I'm going to say, but at the same time... I know that many of you know that I'm right, in saying, that I'm perhaps one of the most interested in this topic, for several years now. The question is to give back to the community something of everything that it gave us for so many years, to decompile a main.exe completely is very complicated, to decompile some isolated functions (as many of you know that I have done), is not the solution either. The best idea would be to get the original source code, and from there, try to improve it.

Some decompilations made by me, and ASM code... etc and nothing... Community is Shi*

http://forum.ragezone.com/f508/custom-bows-crossbows-client-source-1080350/
http://forum.ragezone.com/f508/decompiled-drawobjectonviewport-function-1-03k-1123824/
http://forum.ragezone.com/f508/drawing-visual-items-level-bundled-1118645/
http://forum.ragezone.com/f508/decompiled-gobjcreatepet-function-main-exe-1031511/
http://forum.ragezone.com/f508/load-play-wav-sound-sources-1111107/

Main src ????? :O Ohhh my fucki** god!!:

BDzxrx7 - MU Online Client revitalization - RaGEZONE Forums
 

Attachments

You must be registered for see attachments list
Last edited:
Junior Spellweaver
Joined
Sep 12, 2004
Messages
134
Reaction score
14
How did you manage to read the mu client resources? Did you convert all, or did you write code to read them in as-is?
Last time we have converted all files to .fbx (autodesk), since it was more Unity friendly and it is much more easy to manage...
Like this:

Also if you want to use "as it is", you will need to rearrange all the data on the memory, since you can't use VBO because WZ interleaved all data information.
 
Initiate Mage
Joined
Aug 14, 2006
Messages
33
Reaction score
37
wow, i think you decompiled function make effect for dl cape.can you share it?
no effect when add custom cape :(
I made this decompilation about 6 years ago. I don't even have this IDA project or even CPP version. All stuff i have right now is entirely rewritten to C# and unity shaders. But I can give you some insights of how mu handles these effects.

There are few methods that webzen's client use to render it's effects. MU glow can be compared to multiple passes in modern approach. Object is rendered multiple times with different blending options and texture parameters (like dynamic UV coordinates). In example for +13 effect object is rendered 5 times (base texture with color, +7 dynamic layer, +9 static layer, +11 dynamic layer and +13 dynamic layer). It's very inefficient, but makes great effect even on the oldest graphic cards. With modern card this can be easily implemented in one pass with shader.

Regarding cape/wings effects, it depends which effect you need. It's usually billboard texture rendered at specific bone of object. Some items even have additional bones with animations to handle such things. You can find this code by searching for texture IDs in code and placing BP while wearing items. It's not that hard to find actually. Another option is searching for item ID and trying with breakpoints.

@supron: Thanks for your insights. I also think decompiling the main.exe and rebuilding it's engine is a huge task. Writing an own engine nowadays is always a bad idea, since there are a half dozen good ones out there. How did you manage to read the mu client resources? Did you convert all, or did you write code to read them in as-is?
I read them as-is. I tried with conversion, but it's black hole. You will end up with hundreds of issues every time you need newer Data folder from client. Writing code to load BMDs and map files is one time job. Also I can easily create Unity assets with this code, but I think it's worse than dynamic loading. The hardest thing is animation loading. Creating animation clips from code in unity is really painful, since unity lack documentation in this area.

I understand why a larger team could make it worse... I see it at work (~10m LOC, ~30 Devs) every day :D However, this problems are more organizational... I think it's totally possible to work on such a project with more people. It's all about splitting the work in as many unrelated parts and work items as possible, so more teams/people can work on it independently. It doesn't matter for the success if it's open source or not... the fact that closed source projects had more success here, is based on the fact that there are not many serious open source projects here. And that's because most developers here want to make money instead of helping the community
You need public repository for such project, but you can't create it. You need stable platform to handle multiple branches, pull requests and good issue tracking.

Also if you want to use "as it is", you will need to rearrange all the data on the memory, since you can't use VBO because WZ interleaved all data information.
Actually classic VBO layout is very easy to reconstruct from BMD file, and can be done in real time. You have to do it anyway if you want to convert BMD->FBX.

We are loading files to structs in multiple background threads, and creating unity Mesh class in main unity thread. The slowest part is AnimationClip class in unity. You can't create it in background thread, and it's a bit slow (especially SetCurve method). But it's still way faster than webzen's client.
 
Junior Spellweaver
Joined
Sep 12, 2004
Messages
134
Reaction score
14
Actually classic VBO layout is very easy to reconstruct from BMD file, and can be done in real time. You have to do it anyway if you want to convert BMD->FBX.

We are loading files to structs in multiple background threads, and creating unity Mesh class in main unity thread. The slowest part is AnimationClip class in unity. You can't create it in background thread, and it's a bit slow (especially SetCurve method). But it's still way faster than webzen's client.

Yes, but I'm talking about the data as it is. Not how it can be.
If you just read it, it's in a really inefficient format.

We also had the animations converted to FBX.

Just to be clear, when I say "converted" I mean an external exe that runs on all assets of the data folder and output the files as fbx.
We are not creating meshes on unity at real time.

PS: I have attached one old model I had here... Not sure if it was before or after we corrected the animation speed.
Anyway, it is almost the same files, except for the timing.

[]'s
 

Attachments

You must be registered for see attachments list
Last edited:
Skilled Illusionist
Joined
Feb 13, 2004
Messages
351
Reaction score
54
OP would be a dream trying to unified all of mu developers..its a impossible task....but I think that exist one thing that would be helpfull for mu community and its:
Fix the limit 25fps of the main and get at least 40fps playable without lag spike...if all of the team made a reward for a person that do that..for example each 10 dollars o whatever...maybe someone can achieve that.

We as player dont need a complete remake of the client...we only need play a Castle Siege...a arkawar with more than 100 player without lag spikes or playing at 10 fps

 
Initiate Mage
Joined
Aug 14, 2006
Messages
33
Reaction score
37
OP would be a dream trying to unified all of mu developers..its a impossible task....but I think that exist one thing that would be helpfull for mu community and its:
Fix the limit 25fps of the main and get at least 40fps playable without lag spike...if all of the team made a reward for a person that do that..for example each 10 dollars o whatever...maybe someone can achieve that.

We as player dont need a complete remake of the client...we only need play a Castle Siege...a arkawar with more than 100 player without lag spikes or playing at 10 fps



Our emulator is optimized to work with stable 80 fps. On simple scenes like this (few NPCs and effects) I can have even more (up to 200-250 fps). It's Intel HD 530 card :)

Also this is almost "final" version. We won't add any resource expensive features from this point.
 
Last edited:
Junior Spellweaver
Joined
May 18, 2005
Messages
109
Reaction score
49
As far as I know, MU is software rendered. Is there a way to decompile the rendering pipeline and try to change some drawing calls to OpenGL or DirectX?
 
Initiate Mage
Joined
Jan 23, 2005
Messages
13
Reaction score
1
As far as I know, MU is software rendered. Is there a way to decompile the rendering pipeline and try to change some drawing calls to OpenGL or DirectX?

Nope, the MU Client is using OpenGL. Try to open some of the log files inside the MU Client directory and you'll find a few lines of text initializing OpenGL.





Our emulator is optimized to work with stable 80 fps. On simple scenes like this (few NPCs and effects) I can have even more (up to 200-250 fps). It's Intel HD 530 card :)

Also this is almost "final" version. We won't add any resource expensive features from this point.

Oh! Sweet! :D
 
Skilled Illusionist
Joined
Feb 13, 2004
Messages
351
Reaction score
54


Our emulator is optimized to work with stable 80 fps. On simple scenes like this (few NPCs and effects) I can have even more (up to 200-250 fps). It's Intel HD 530 card :)

Also this is almost "final" version. We won't add any resource expensive features from this point.

I saw with detail the picture now, its Unity..its another "MU", I was talkin about the actual client, modifying some dll or some function that DRAWS in the main
 
Junior Spellweaver
Joined
May 18, 2005
Messages
109
Reaction score
49
I believe the main issue would be that MU has mechanics tied to frame rate. One example is attack speed - if your frame drops, your attack speed is dropping as well. Increasing the frame cap would create a lot of issues.
 
Initiate Mage
Joined
Jul 3, 2017
Messages
1
Reaction score
0
I'm willing to help with rebuilding the clients assets/3dmodels ONLY IF we make them all high quality and not as low poly as they are currently.
 
Back
Top