A combat simulator for Final Fantasy XIV.
Coming soon! For now, refer to example.py and the API documentation.
Job | Status |
---|---|
Bard | Most actions are implemented. Rotation is somewhat sensible, but needs optimization. |
Black Mage | Not yet implemented. |
Dragoon | Not yet implemented. |
Machinist | Not yet implemented. |
Monk | Not yet implemented. |
Ninja | Not yet implemented. |
Red Mage | Not yet implemented. |
Samurai | Not yet implemented. |
Summoner | Not yet implemented. |
Job | Status |
---|---|
Dark Knight | Not yet implemented. |
Paladin | Not yet implemented. |
Warrior | Not yet implemented. |
Job | Status |
---|---|
Astrologian | Not yet implemented. |
Scholar | Not yet implemented. |
White Mage | Not yet implemented. |
In no particular order, here are some goals that I currently have in mind for SimFantasy. Some are loftier than others.
- Abstract reporting system. Provide the ability for different reporting engines and outputs, e.g., JSON, HTML.
- Performance improvements. Python won't be able to match up to C/C++, but with some smarter code and perhaps porting the more computation-heavy bits to Cython, it can be better than it is now.
- Multiple actors in a single raid. Specifically, multiple friendly actors, perhaps even exceeding the typical 8- and 24-man party sizes.
- Party buffs and beneficial debuffs from other classes. Either as a consequence of supporting multiple actors, or simply providing a system to trigger helpful buffs/debuffs on demand, there needs to be a system for, e.g., allowing a Bard to see her DPS within Dragon Sight while Trick Attack is up on the target.
- Smarter snapshotting and invalidation system. "Snapshotting" for DoTs is kinda, sorta supported right now, but dumb.
- Role actions.
- Multiple enemies. More than one target includes its own technical challenges.
- Target swapping. Decision engines in class modules need to be provided the ability to determine when, if and how to switch targets.
- AoE actions. Quick Nock, Death Blossom, and so on.
- Raid events. SimC provides many options for enocunter customiziation, which I would like to replicate much of. Things like movement, invulnerability periods and add spawns.
- Tank and healer support. Likely not possible without a robust raid events system. Also historically difficult to quantify efficiency for these roles.
- Data mined spells and items. Much of SimC relies on files generated by parsing WoW client data. This introduces an extra build step, but can greatly reduce maintenance time in the long run as abilities and gear do not always have to be manually coded and updated.
- Distance targeting. This would be a monstrously difficult thing to implement, but would better emulate how things work in game, as many spells and boss mechanics have max usable ranges, AoE sizes, etc.
- SimulationCraft and all its wonderful contributors for providing an endless supply of
ideas to blatantly rip offinspiration. - The TheoryJerks Discord for doing all the complicated math and helping me understand how the game actually works.
- In particular, huge props and gratitude for How to be a Math Wizard - Second Edition and all the credited contributors.
- THE BALANCE Discord for clarifying all the weird class-based idiosyncrasies.