Jump to content

Recommended Posts

Posted (edited)

Your answer doesn't answer all of my questions, even worst it's the reverse of what you said one post higher.

 

What you highlighted in your first post is the tip of the iceberg, there are a lot of other things to think about : notably AI (both intention AI and event based AI aka scripts), knownlist system (which is atm handled by 11264 L2WorldRegion for IL size map = 22k CHMap, and 1 CHMap per spawn = 45k+ CHMap refreshed every 1,25sec), scripts system. Skill XML engine is the least of your problem (moreover when it actually works exactly as it should).

 

About L2J coding, the whole architecture is pretty much fine, if you do something from scratch, it will look as L2J on the biggest part. You still need a World class, a WorldRegion class, a class which defines Player, etc. 99% of existing variables are needed, few can be cleaned up. 90% of classes are legit (and I would say, based on how L2JFree Genesis and regular Java projects are handled, L2J got like 2x lesser classes that it should - ppl like abstraction so much).

 

Then you got big changes, like... Using a Object oriented database framework, which introduces overhead. Using Netty, which introduces a lot of overhead (from Netty 3 to 4 they divided overhead by 5, just to give you the amount of overhead it creates). Or your reddwarf middleware which is probably also an overhead by itself.

 

More you add external technologies, bigger is the overhead. That's the only point I agree with russians, which developped "commons" package a long time ago.

 

But well, I'm maybe used to L2J. I doubt you can do it easier to understand (in term of organization) with no overhead cost. At least, me, I can't.

 

Moreover, I doubt you will have "time". That's the biggest problem in developpement.

Edited by Tryskell
Posted

So, finally :), AI system and knownlists.

 

I would build a more simplified system for how character AIs and their knownlists are managed.

Also I would definetly not use copy paste retail logic, based on leaked files, I would do what it is expected to be done from a players point of view.

That would help keep it really simplified and optimised.

 

Like a basic character AI that players, npcs and monsters would extend it.

If an NPC or Monster would need something special, I would make a script for it.

Posted (edited)

Go nio-like AIs and tickrate update based servers, that would be a great change

 

LOAD BALANCING ? +++

Edited by xxdem
Posted (edited)

So, finally :), AI system and knownlists.

 

I would build a more simplified system for how character AIs and their knownlists are managed.

Also I would definetly not use copy paste retail logic, based on leaked files, I would do what it is expected to be done from a players point of view.

That would help keep it really simplified and optimised.

 

Politicans speech, "I would make a wonderful world" :D You only speak about theory, reality is different.

 

"NPC AI from player PoV", what does it mean ? You got a NPC who "listens" different types of actions, nothing more.

 

 

Like a basic character AI that players, npcs and monsters would extend it.

If an NPC or Monster would need something special, I would make a script for it.

 

You probably missed entirely the model.ai package, because it's exactly what is it. And next sentence is exactly what L2J is... A specific script for specific case, with the main script being L2AttackableAIScript.

Edited by Tryskell
Posted

You act like you haven't read those scripts.

I took a look at them 2-3 days ago, while I made various code rework on my project.

L2J AIs are "badly" written, following "retail logic" and over-complicating script on many cases.

I would simple choose not to do that on a new project.

 

Take a step further from core AI and see NPC instances.

By todays L2J server scripting potential, they have absolutelly no reason to exist, they may as well have their own script managing them.

From my point of view, its like having two systems doing the same thing.

Posted

Just a pointer on the fact that if we started developing anew things would be more optimised.

Optimization comes with testing. And there is nothing more tested than l2j itself.

Posted

Optimization comes with testing. And there is nothing more tested than l2j itself.

 

You are SO wrong.

Testing equals to things made to work, nothing more.

Run some code coverage plugins on Eclipse and see how much optimised L2J trully is.

 

Also this is not a post on how good L2J is, you get out of the point.

Stick on topic please.

Posted (edited)

You are SO wrong.

Testing equals to things made to work, nothing more.

Run some code coverage plugins on Eclipse and see how much optimised L2J trully is.

 

Also this is not a post on how good L2J is, you get out of the point.

Stick on topic please.

I am sticking on the topic. I am explaining that optimization does come with testing.

If you develop a project using TDD then it will be optimized as you develop it.

If you just start developing it blindfolded you will get nowhere.

 

You NEED to have to in order to optimize. You can't write optimized code because optimization

depends in the wider spectrum of your project. Basic software engineering.

 

EDIT: I never said that l2j is optimized. It is pure shit but it has been tested over the years so you know

what performs better and what not.

Edited by .Elfocrash
Posted

Knownlist and AI are poor motivators.

 

Both can be reworked without trashing the rest, even if you plan going full custom.

 

But yeah you need to see how long it will take you to get there, it's nothing like adding a few skill or quest. We have a design for AI in mind for a while now, but it's risky :D

Posted (edited)

Knownlist and AI are poor motivators.

 

For a "rework from scratch" I fully agree. In fact any scenario is a poor motivator to rework all (even if you sum up all those little reworks). If L2J must be made from scratch it has either to be "insane performance boost" or "really easier design", otherwise I don't see the point.

 

Every single point stated as TODO (either by Mobius, me or UnAfraid/you) can be reworked one after the other, without having to build things from zero.

 

Ppl blames L2J but continue to use it, and when they try to do different and from scratch it ends as "L2JFree Genesis". If it's still used there is a reason, either none is enough brave to make it from zero (and even me, as a big reworker, I see no use to go that path) or there is no reason to do so. Pick your preference.

Edited by Tryskell
Posted

This forum is full of shit, lots of talking, lots of ideas.

 

All abandoned during the week. Please all of you deal with this fact and gtfo.

Posted (edited)

This forum is full of shit, lots of talking, lots of ideas.

 

All abandoned during the week. Please all of you deal with this fact and gtfo.

"Java is not VM language" - xDem 2016

 

E7wcB.gif

Edited by .Elfocrash

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



  • Posts

    • Expanding the dominion, the magical Scroll of Escape   The months passed and Orcis dominance over Aden was absolute. Everyone respected his leadership and authority. Now many of his highly ranked soldiers have learned the boat dance of invulnerability but the army had trouble mastering it.    The orc ordered his most loyal engineer, that stranger who his name we still query, to find a way to teach the dance to the solders to turn them into super-soldiers. The stranger searched and search ed and searched, but he could not make the dance easier. For a soldier, with his heavy armor and slow movement was confined to the limits that this shell provided.   But sometimes, the truth hides in simpler things. One day, after testing the dance on the boat many times, the stranger decided to call it a day. But he was too tired to walk back to the city from the Giran Harbor. So he opened his back and used a scroll of escape while still on the boat.  He visited the weapons store, then the church and later decided to go to the west gate of Giran, to do some light sparring with the random villagers.    To his surprise, he could not fight the villagers. Whenever they tried to swing on him, their sword bounced away. And so it came to the strnager, that its not the dance that makes Einhasad bless him with immortality. It's not gods themselves, but an inherent flaw of the mortal world.    And so ... he went to the king, with a bright idea, and a bunch of Scrolls of Escape in hand.   Master I know of a way. And I know of a thousand other ways to trick the gods and gain immortality without dancing infront of them. For it is not the blessing of Einhasad that gives us the gift.    The gods have erred, the world is flawed and only a redesign of the nature's principles can now stop us ...     Epilogue Years ago, there have been stories of people spontaneously blessed by Einhasad. People who would walk on Primeval Isle or in Sieges and be immortal. The elders of the world, the wise ones, never took notice, never acted. For years and years, the ancient magic went unnoticed, but the stranger, figured it out. There's no magic. There never was. And the only reason why the wise ones never figured it out, was cause they had their "telescopes" pointed to the wrong direction. For it's the insignificant, the in-exceptional places, where "magic begins" (If you find my stories interesting, the next story will be about a Canvas in School of Dark Arts that overflows with Ink)
    • I just found it funny that you reversed the reverse engineer champions. They won't like this for sure.    Anyway, the project vision is very good it is aligned with what the players need and want something that both e-global and l2reborn has failed to provide. These are stable projects, they are not good "games". And players play "games" they don't play "projects".  When no good "games" exist, they flock towards good "projects". Lineage 2 private scene has produced decent projects the last years, but no decent "game". I hope you are the first ones to do so.   Generally there are two axis that Lineage 2 needs to evolve on. Modern gaming concepts and the need to respect the aging player's time. So far, most projects treat these aspects as taboo, they seem so afraid to deviate from what they call "true" Lineage 2. But the reality is that times change, you can't stay static forever, you have to evolve. NCSoft failed,they are not paving the way no more. It is us now, the collective community that have to pave our own pathways. WoW has went the same way, private projects took initiative because the company (while not failed) could not steer the game towards what players want and need in 2026.    For that reason I believe your project is going towards the right direction. The four keystones listed in the vision is what I believe is the community really needs but clearly doesn't understand it wants, because noone so far has give them a glimspe of what is beyond their retail-like garden.    I personally don't respect projects like reborn and e-global. As "games", they are simply trash, regardless of their high professionalism as endeavors. They lack innovation, they lack creativity, they are simply good software products,     
    • Giving up has never been part of my mindset. I respect projects like Reborn and E-Global they've earned their reputation. But every successful project started with people saying it would fail. If everyone gave up because there was competition, nothing new would ever exist. Skepticism is completely fair, and I'm not asking anyone to blindly believe in promises. Judge us by what we release, not by assumptions. That's exactly why we're taking our time instead of rushing something unfinished. At the end of the day, time will tell. I'd rather try to build something different and fail than never try at all.
    • Good luck beating projects like reborn eglobal and other crap l can bet you will give up after 1 year or first grand opening after online drops😁  l am very sceptical if honestly, at least run test server first or make something to show 🙂
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..