Where to start in the code?
Posted: Thu Jan 08, 2015 10:16 pm
Background: I've played FFXI since it was released on PC and taken a few breaks because of work. Saw this project was available after seeing a video related to resurrecting dead game servers [and I know FFXI server are still active.] through reversing. As I like FFXI a lot and would like to play on a local server/public server years down the road when SE servers are nonexistent; this project piqued my interests. I've got quite a few years experience programming so I feel I can contribute some while I work on my server.
I'm still working on getting down the structure of the code [since I downloaded the code and setup a server a few days ago.] from reading the src directory. I can wait for patches to quests, mission, and other this aside for now from other developers since I think it be more fun for me to work on the underlying server code.
My problem lies in that the newest git repository still doesn't have a working monster movement system. My mobs spawn and sit, maybe turn around, or pretend to take a step and stop. With the spawn point placement this makes it easy to isolate monsters for solo play, but lacks a bit of the thrill of making sure you're distanced from sight links. So I'd like to patch the monster movement on my server for my first project; if there isn't already a working patch available.
I've searched Google and found a few discussions related to the problem [a bit dated] relating to lack of navmesh data and code. Is the navmesh still a problem for areas or has it already been committed? I found the code for CPathFind::RoamAround() in ~/src/map/ai/helpers/pathfind.cpp; under the guidance from the development team I ask, Is this the most appropriate place to place any modification to the monster movement [roaming] behavior, or are there additional places to take note?
I also checked out the 'wanted pages' page, but there all red linked. Are there any other behaviors that could be implemented that would be of interest? Early [game] missing behaviors are welcome that you know about that are lying on the table under other notes.
Note after server setup. The conquest system was whacked; in that all regions were beastmen owned except Ronfaure [Windurst], Zulkeim [Windurst]. I wrote a SQL script to fix this with a fresh start server feel in mind for the levels of influence. It is all documented in the script in addition to the missing wiki region_id information reference. That being said I had no clue what the maximum total influence could be between all cities and beastmen, and the values that were added with the download had beastmen with 9700; so I took a guess and set all regions with a combined total of 1000 points thinking that 10000 might be a cap for any one influence. I'll share this with my first post!
Regards,
nightblade DSP
I'm still working on getting down the structure of the code [since I downloaded the code and setup a server a few days ago.] from reading the src directory. I can wait for patches to quests, mission, and other this aside for now from other developers since I think it be more fun for me to work on the underlying server code.
My problem lies in that the newest git repository still doesn't have a working monster movement system. My mobs spawn and sit, maybe turn around, or pretend to take a step and stop. With the spawn point placement this makes it easy to isolate monsters for solo play, but lacks a bit of the thrill of making sure you're distanced from sight links. So I'd like to patch the monster movement on my server for my first project; if there isn't already a working patch available.
I've searched Google and found a few discussions related to the problem [a bit dated] relating to lack of navmesh data and code. Is the navmesh still a problem for areas or has it already been committed? I found the code for CPathFind::RoamAround() in ~/src/map/ai/helpers/pathfind.cpp; under the guidance from the development team I ask, Is this the most appropriate place to place any modification to the monster movement [roaming] behavior, or are there additional places to take note?
I also checked out the 'wanted pages' page, but there all red linked. Are there any other behaviors that could be implemented that would be of interest? Early [game] missing behaviors are welcome that you know about that are lying on the table under other notes.
Note after server setup. The conquest system was whacked; in that all regions were beastmen owned except Ronfaure [Windurst], Zulkeim [Windurst]. I wrote a SQL script to fix this with a fresh start server feel in mind for the levels of influence. It is all documented in the script in addition to the missing wiki region_id information reference. That being said I had no clue what the maximum total influence could be between all cities and beastmen, and the values that were added with the download had beastmen with 9700; so I took a guess and set all regions with a combined total of 1000 points thinking that 10000 might be a cap for any one influence. I'll share this with my first post!
Regards,
nightblade DSP