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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Posts

    • Yeah inside router i had to enable udnp services 
    • Hello cheaters, As a team of avid developers and enthusiasts of Lineage 2, we are excited to present the L2 Control Hub, a groundbreaking plugin designed by myself and my collaborator, StinkyMadness. This innovative tool equips server administrators with powerful automation capabilities directly within the game's community board. L2 Control Hub simplifies the creation and management of automations, enabling you to customize your server operations without the need to modify the source code.   Key Features of L2 Control Hub: Robust Automation Triggers: Select from a plethora of triggers currently available, with continuous additions in the works to enhance your control options. Dynamic Conditions and Actions: Tailor your server operations with an extensive range of conditions and actions, ensuring flexible and precise control over game events and player interactions. Customizable Variables: Easily integrate server-specific variables from your database to further personalize and streamline your automations. Utilize these variables across various automation scenarios to cater to your specific server requirements. JavaScript Integration: Execute custom JavaScript codes that interact seamlessly with Java classes, bringing advanced functionalities to your server's ecosystem.   Explore L2 Control Hub in Action: We've prepared a series of video tutorials to demonstrate the capabilities of L2 Control Hub: Control Hub - Create a Simple Flow with 1 Condition and 1 Action: Get started with basic automations. Control Hub - Multiple Conditions with Multiple Actions: Explore more complex automations for detailed server management. Control Hub - Using Variables: Discover how to implement and use custom variables for tailored automations. Control Hub - Using JavaScript: Experience the power of custom scripts in enhancing your server functionality.   L2 Control Hub is currently about 70% complete, and we are actively developing and refining features. We invite you to join our ➡️ Discord community ⬅️ to engage with the development process, provide feedback, and be the first to test new features. Additionally, any updates or changes to the plugin are seamlessly delivered to all customers directly from our web server, ensuring your system is always up-to-date without the need for manual downloads.   Your game, your rules, automated. Join us in redefining server management in Lineage 2 and elevate your gaming community with unmatched automation capabilities. For more details, contact us directly to get started with L2 Control Hub.   Currently, the plugin is developed using aCis sources. We will continue with these sources until we finalize all the necessary details before proceeding to integrate with the more prominent sources available.       The L2 Control Hub is designed to extend beyond mere functional additions to your server. We are in the process of implementing a suite of advanced mechanisms, such as a vote manager capable of interfacing with any Lineage 2 voting site without requiring configuration, live statistics to provide admins with real-time insights, and an event engine that can generate any desired event within seconds. All these features will be seamlessly integrated into the module, enhancing your server management experience significantly.     Please note that L2 Control Hub will be a premium tool, reflecting the extensive features and benefits it offers. While we are finalizing the pricing structure, rest assured that we aim to deliver great value for your investment. We will announce the cost details soon on our platforms to ensure everyone is well-informed and can plan accordingly. Join us to take your server management to the next level with L2 Control Hub.     
    • The link soucer and system are off, reup please, thanks very much @HypeH
    • DISCORD : utchiha_market telegram : https://t.me/utchiha_market SELLIX STORE : https://utchihamkt.mysellix.io/ Join our server for more products : https://discord.gg/hood-services https://campsite.bio/utchihaamkt  
    • Hola, Busco proveedores de adena en Reborn signature. Trabajo serio, Web de ventas Seria. Adena-Shop. Discord: susi007317   Hello, I am looking for adena suppliers in Reborn signature. Serious work, Serious sales Web. Adena-Shop. Discord: susi007317
  • Topics

×
×
  • Create New...