Consideration About Last Chaos in 2021 like upgrading all stuff

03/16/2021 17:19 andrea-titan95#1
Hello to everybody.
I'd like to know any advice by other developers.
Do you think make sense upgrade version, refactor code ecc.. to increase last chaos performance?

LC has old Engine in directX 8.1b, Implementing Directx 9 and newer version of libs that use, like log4cxx moving to 0.11 and boost like 1.7x would be nice.

Have anyone tried with x64 bit implementation?

What do you think?

Cheers! :mofo:
03/18/2021 11:32 Wizatek#2
All this will not make much difference.
Even changing the render engine to dx9, dx11 or 12 or vulkan all makes nearly no difference.

If you want to make a difference you need to change the way the data is presented to the renderer. The renderer itself will just present it to the hardware and different directx versions do not do this part slower or faster.

If you wany other speed boosts you need to have things working in different threads.

Its all not so easy as just updating libs
03/18/2021 23:36 andrea-titan95#3
Have you done this structural change on LCGenericName02?

Btw changing platform toolset of projects to the latest of vs 2019 (and all libs ofc ) a little difference of course should be noticed since the Language in the years has been optimized and lot of features added:

[Only registered and activated users can see links. Click Here To Register...]

Maybe you are right about the bottle neck 'the way the data is presented to the renderer' but this is only for the front-end side meanwhile the back-end side imho could be optimized with these steps.
03/19/2021 12:03 Wizatek#4
I have not done these things to the client no, i wouldn't know where to start.
I have done a full conversion from all the directx8 code to directx9 but that did not gave me a lot of benefits.

With the server i have tried to update everything.
I used GCC10 with all the latest libs, and everything compiled fine after some small tweaks here and there.
But starting the server gave me errors with the Mempoolwithmutex and never managed to solve it.

[Only registered and activated users can see links. Click Here To Register...]

I changed nothing on this particular code, but somehow its behaving different when compiled with gcc10.
Its far above my skillset.
03/19/2021 14:38 andrea-titan95#5
Thanks for your sharing.
I'd like to ask one more thing:
How you build in release mode the server? Specially the lo4cxx part? (I suppose you updated version to 0.11)
03/19/2021 16:49 Wizatek#6
I have never tried to build in release mode, i prefer to have all the debug information if a service crashes.
I build the server in linux btw
05/06/2021 10:55 Lee Ki-Hwan#7
I have been messing around with the source code of Last Chaos since its available and so far i can say that it depends on which code you gonna use, of course it won't make a big difference if you are going to use DirectX 9 or whatever for the reasons that wizatek already mentioned.

I have done some modifications on the 2013 version but somehow i didn't really liked it, because at some point i lost the overview and didn't really feel like to continue, after that i decided to work on the 2009 version, it was much more fun for me since i liked that version of Last Chaos much more!

For me it was easier to optimize and fix the code of the 2009 version, its really old tho and there is much nonsense written in it, but it didn't had that much complicated functionality so i thought i could make a good bug free version of last chaos.

But sadly there is much refactoring to do, to make a good up-to-date version and in my opinion it would make more sense to start over with a newer engine, it shouldn't take that long if you already have the knowledge to create a basic version with very primitive functionality.

For me its fun to work on the old version, so im gonna keep up with that ;)
05/24/2021 21:57 andrea-titan95#8
Quote:
Originally Posted by Lee Ki-Hwan View Post
I have been messing around with the source code of Last Chaos since its available and so far i can say that it depends on which code you gonna use, of course it won't make a big difference if you are going to use DirectX 9 or whatever for the reasons that wizatek already mentioned.

I have done some modifications on the 2013 version but somehow i didn't really liked it, because at some point i lost the overview and didn't really feel like to continue, after that i decided to work on the 2009 version, it was much more fun for me since i liked that version of Last Chaos much more!

For me it was easier to optimize and fix the code of the 2009 version, its really old tho and there is much nonsense written in it, but it didn't had that much complicated functionality so i thought i could make a good bug free version of last chaos.

But sadly there is much refactoring to do, to make a good up-to-date version and in my opinion it would make more sense to start over with a newer engine, it shouldn't take that long if you already have the knowledge to create a basic version with very primitive functionality.

For me its fun to work on the old version, so im gonna keep up with that ;)
Thanks for your thoughts.
Which code did you use for EP4? BTW do you think is better june or november?
Where did you stuck on EP4 source that make move you to EP1 source?
05/25/2021 15:04 Lee Ki-Hwan#9
Quote:
Originally Posted by andrea-titan95 View Post
Thanks for your thoughts.
Which code did you use for EP4? BTW do you think is better june or november?
Where did you stuck on EP4 source that make move you to EP1 source?
You should use the June or November code, but definitely don't use the beta EP2 code, it's horrible if you don't have enough deep programming knowledge and im not talking about being good in C++, but being a good programmer.

One thing people always want to tell you is that, you need to know C++ to be able to work on LC-Source, but that's completely wrong, you need to know how to code and understand OOP, memory management, performance issues and code architecture/patterns.

The programming language is just a tool used by a programmer for a specific case, because that's how you use tools!

If you are new to coding i would suggest you to go thru some tutorials as first to get some basic understanding, since it won't be that easy to make minor changes .

I moved to EP1 because i simply liked the older EP2 way more than this new things, so i kept updating the 2009 Code.
It was also for learning purposes to be honest.

And I actually never stuck with the EP3/4 Code, i did implemented many things, i even wrote a Matchmaking-Server to allow a deathmatch gameplay mode.. but in my opinion there are way to many possible dupes and i could fix only the one i know, but im pretty sure there are many more which will come up at some point, so i didn't feel like to continue.. it was easier for me to fix the dupes/crashes in the older code, because i had a clear overview of the game server functions..