Skip to content

cgdangelo/simfantasy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SimFantasy

A combat simulator for Final Fantasy XIV.

Usage

Coming soon! For now, refer to example.py and the API documentation.

Job Support

DPS

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.

Tanks

Job Status
Dark Knight Not yet implemented.
Paladin Not yet implemented.
Warrior Not yet implemented.

Healers

Job Status
Astrologian Not yet implemented.
Scholar Not yet implemented.
White Mage Not yet implemented.

Agenda

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.

Acknowledgments

  • SimulationCraft and all its wonderful contributors for providing an endless supply of ideas to blatantly rip off inspiration.
  • The TheoryJerks Discord for doing all the complicated math and helping me understand how the game actually works.
  • THE BALANCE Discord for clarifying all the weird class-based idiosyncrasies.

:concernedfrog:

About

Combat simulator for Final Fantasy XIV.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages