Comments (8)
I definitely need to add some pictures and details, that's true.
So far this plugin contains two major parts - "boss modules" (currently provides hints and "radar" for endwalker ex trials and savages, plus very simple hints for endwalker a-ranks), and "auto rotation" (an extension of ideas from xivcombo and moaction plugins, this is very experimental, currently there is some support for WAR and WHM).
from ffxiv_bossmod.
Commenting on this as it seems relevant - I'd be interested in helping out in creating auto rotations for different classes I play. I think an interesting one could be PLD since all rotations are more or less mapped out per fight by theorycrafters in the Balance.
If you have anything you'd like help with in terms of contributing towards rotations / skills / boss fights lmk!
from ffxiv_bossmod.
As I mainly play DRK and SAM/RPR, I sadly can't contribute much to PLD rotations yet - but when it comes to testing, I can totally help and it would give me a reason to play other classes some more ;)
from ffxiv_bossmod.
Oh, yeah I main PLD and I just meant to comment here to ask @awgil if there's any documentation on how to set the project up in the best way to contribute!
from ffxiv_bossmod.
There is no documentation currently. If you want to try writing your rotation module, it goes roughly like this:
- Set up the dev environment - should be really simple, just clone repo, open solution in VS and build. There are two projects - actual plugin and UIDev - latter is used to quickly iterate on things without running the game. To test that everything works correctly, you can remove the installed version of the plugin, then build from your clone - it should automatically be picked up by dalamud, and then hot reload will work etc.
- Look how existing rotations are made. Currently there is a fully-developed WAR module (that's my main, and it's quite solid I think, I've made orange logs with it) and WHM module (this is much less developed, I didn't play whm much yet and I don't have a clear vision of how good healer autorotation would look). I would assume all tanks and probably all dps would be quite similar to WAR, however. Specifically, look into source files in Autorotation directory.
- Class rotation module is typically made of two layers - "rotation" and "actions". Former contains rotation logic itself (list of actions, definition of state and strategy, and functions for selecting next-best action), latter contains logic to inspect game state, build state structures, and then execute appropriate actions. The main reason for that split is to be able to debug rotation logic out of game in UIDev project - it obviously doesn't have access to game state. For WAR, UIDev contains "simulator" which allows configuring initial state and then performs simulation. I found it very useful for debugging rotation logic.
- State/strategy split is a bit subjective, I might revise it in future. Also simulator will probably be at some point moved from UIDev to main plugin, since I plan to integrate it with cooldown planner module eventually.
from ffxiv_bossmod.
Also, few extra notes:
- This is alpha, I don't consider things like internal autorotation API or general module structur as 'stable', I might find reasons to revamp things in future. For example, I'd like to better support openers in rotation, and I probably want to improve integration with cooldown planner (so that you could do things like delay offensive cds until add phases).
- Adapting rotation from balance discord to autorotation module is not as straightforward as it might seem, since approaches are different. Autorotation module has to inspect state at any given moment and determine next-best action, it doesn't have any high-level context or plan of what it's trying to do that it can remember over course of multiple frames. One good example would be WAR's decision whether to spend gauge asap or preserve it until next buff window. Another example would be lack of a concept of "opener". I don't have a good idea of how to implement that in a robust way yet (you have to consider that in real fight unexpected things happen - people die, raidbuffs drift, bosses have downtime, etc. - and autorotation should handle all that gracefully and not degrade into doing stupid things).
from ffxiv_bossmod.
Gotcha, thanks I'll give it a shot. Do you use Discord / would you mind if I sent some questions through there? Running into some issues with building the project (namely The type or namespace name 'Replay' could not be found
) and also have some general questions about C# since I'm not the most familiar with it.
Feel free to add me Brandon#6248 if you're open to it!
from ffxiv_bossmod.
Sure, you can write any questions to veyn#7947.
I'll be back at home in the evening, for now I'm not near my pc and have no idea what this error means :)
from ffxiv_bossmod.
Related Issues (20)
- QOL Feature Request: Automatic Logging HOT 1
- Looking for replays
- Request: P12S Classical Concepts Option. HOT 4
- Request: Option to turn off Generic AE Jousting
- Please add a module for "The Mothercrystal" (Hydaelyn) HOT 6
- Translation (EN)
- Auto-Rotation keystroke visibility
- Thaliea HOT 4
- settings window HOT 4
- Not showing up in dalamud HOT 4
- Color choice for safe zones and others HOT 1
- Request: more options for DRG and RPR in CD planner.
- ModuleViewer throw error when Shortcode is null
- void cast extreme fake anti knockback issue HOT 1
- Modules not resetting if boss resets
- videos HOT 6
- [request] E12s HOT 1
- Anonymize recordings
- BLM, SMN, PLD Auto rotations fail to load on job change HOT 2
- Canβt open UI HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ffxiv_bossmod.