LandSandBoat / server

:sailboat: LandSandBoat - a server emulator for Final Fantasy XI
https://landsandboat.github.io/server/
GNU General Public License v3.0
302 stars 612 forks source link

🔨 Besieged Research & Design & Implementation Tracking #5373

Open zach2good opened 7 months ago

zach2good commented 7 months ago

I affirm:

Describe the feature

Fine, I'll do it myself.

                  - Thanos

I'm going to research and mind-dump about every aspect of what's needed for an acceptable implementation of Besieged. I'll be observing on retail, looking at caps, and reading wikis (JP above all others).

I'm NOT promising to deliver an implementation of Besieged, but I CAN break the problems down into smaller chunks that others can run with, and provide support/guidance where needed.

I'm more likely to finish Chocobo Raising & Racing than to sit down and do the implementation for all of Besieged. I was encouraged to stop playing during TOAU, so I don't have the nostalgia drive for it.

Big work in progress. Obviously.

Also, Garrison leads to Besieged leads to Campaign and then that other thing in Abyssea. These are all (or should be) reusable components. Implementing something later in the chain without doing everything before it is madness and I won't support it. I'll just laugh at you.

Research

What IS Besieged?

Background Actions & Map

Invasion & Levels

Battling

Prisoners

Serpent Generals

Astral Candescence

Prizes / Why do it?

Design

Core

Packets

Scripting

Database

World Server

Including general volume of inter-process communication and making a better RPC system between processes and Lua calling on xi_map.

Implementation

Captures

Is it possible these days to reach 100% loss/enemy strength, etc?

Performance

Entity Processing

Packet Priority

Long Navigation & Pathing

This is the big bugbear I always bring up. There are a few ways to skin this cat.

https://github.com/LandSandBoat/server/pull/6117

Balance & Tuning

Start of impossible and tune it down. Nobody whines louder than when someone gets their free lunch taken away (see the balancing process for when I was implementing Trusts 👀)

Resources

zach2good commented 6 months ago

Additional research: https://github.com/LandSandBoat/server/discussions/5664

Sylvebits commented 6 months ago

Captures "Is it possible these days to reach 100% loss/enemy strength, etc?"

image

c-c yes as of May 10th

cocosolos commented 6 months ago

Level 99 Besieged incoming. image

Sylvebits commented 6 months ago

I have to get this data before it's too late..

Sylvebits commented 6 months ago

The document has been considerably updated