Open zach2good opened 1 month ago
I think it's fair for us to start accepting "mostly good" work and slapping it behind experimental flags (like we have with BCNMs), so it's obvious to onlookers that it isn't complete, balanced, or possibly playable - but it allows us to make forward progress on certain content while having it not be confused as "this is great, nobody needs to look at this ever again". THIS DOES NOT APPLY TO ROV MISSIONS, OH MY GOD, WHY DID SE MAKE ROV SUCH A NIGHTMARE!
How would you feel about setting the RESTRICT_CONTENT and ENABLE_x settings to disable later expansions and their associated content by default, so you have to go out of your way to enable likely incomplete content? Could turn RESTRICT_CONTENT off again in CI to make sure it's all loaded for checks.
I don't really want to mix the things we're (already) marking as experimental with the kinda cludgey RESTRICT_CONTENT and ENABLE_x settings. The gimmick with experimental content is that it outs itself as being incomplete by jacking up the levels (and maybe stats) of the mobs in the fight - making them unwinnable. I'd rather there be friction for re-enabling or unbuffing experimental content, so it remains obvious and annoying to get it back to being faceroll mode and then people don't address or complete it.
I affirm:
Describe the feature
This whole writeup is TODO. I just felt motivated to write things down after a particularly good coffee!
LOL at me pushing towards a 2024 refresh at the end of September. As always: I speak only for myself, and the others might have differing opinions from me. Nothing is binding/promised. I'm a human person with a real life, a day job, and other hobbies. My (hobby/open-source time) priority is to this project. If that happens to help others and other projects out: great!
The Build, CI, & Tooling
General themes:
Application
dbtool
and the other parts of the setup guide in CI on all platforms.dbtool
needs to evolve intoxit
, to handle more things and erase an entire family of setup issues.Issues:
Core
General themes:
SQLConnection
needs to die and be replaced withdb::
everywhere.EntityId
proposal. Huge project though.coroutines
for this in a human-readable way.LockToken
primitive: an RAII resource locker.Queues
andMailboxes
concepts for thread communication, as lock-free as possible.Issues:
"Content"
General themes:
experimental
flags (like we have with BCNMs), so it's obvious to onlookers that it isn't complete, balanced, or possibly playable - but it allows us to make forward progress on certain content while having it not be confused as "this is great, nobody needs to look at this ever again". THIS DOES NOT APPLY TO ROV MISSIONS, OH MY GOD, WHY DID SE MAKE ROV SUCH A NIGHTMARE!Issues:
Server Operation, Docs, Repo, & Meta
General themes:
FFXI Retail Server Emulator
project. Sometimes we individually become interested in things that server operators would like/benefit from, but that's on an individual level.Issues:
Bonus: The Game Client
General themes:
libffxi
,libvanadiel
,libgalka
,libtaru
or something, but who has the time?! If someone was interested in working on it, in C or C++, I think the LSB org would happily host and support it. Unfortunately, all of my dev time is taken up by the server, so I'd only be able to review and advise, and help with CI and integrations, etc.