gcsim

package module
v1.0.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 19, 2022 License: MIT Imports: 0 Imported by: 0

README

Overview

GSim is a Monte Carlo simulation tool used to model team dps. It allows for the formation of arbitrary combination of any characters.

Getting started

You can download the latest build here. We are also beta testing a new webapp at https://beta.gcsim.app.

Project status

The project is still currently under heavy development. Not every character/weapon/artifacts have been implemented. There are also many quality of life improvements that can be made. Currently this project is developed by one person (me) and as such development speed is not as fast as it can be. If you wish to contribute, please see below for ways you can help out.

Contributing

If you are looking to contribute, the following are some key areas that you can help out with. If you're interested, please don't hesistate to reach out on the sim's discord

  • Comprehensive frame counts of every character's abilities, including but not limited to:
    • Hit mark frame (not just animation frame, which is currently in the KQM library)
    • Cooldown start frame
    • Energy drain frame
    • Particle proc frame (relative to hit mark)
  • Team comp damage validation between actual game play and sim. This is done by recording videos of actual gameplay footage, and then reproducing the same team/artifact/items/targets in the simulator and comparing results frame by frame. This means both comparing the damage output as well as the reactions. The simulator should be able to reproduce actual gameplay faithfully.
  • Building action list for various common team comps and comparing/validating the result vs actual in game gameplay
  • Helping with documenting the sim in the wiki
  • Further testing of in game reactions, primarily EC and chain freeze duration.
  • Just in general using the sim for calculations/weapon comparisons/day 1 testing etc...
  • If you would like to contribute code please take a look at the contributing guidelines

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
cmd
internal
template/character
Package cooldown provides default implementation for SetCD, SetCDWithDelay, ResetActionCooldown, ReduceActionCooldown, ActionReady,
Package cooldown provides default implementation for SetCD, SetCDWithDelay, ResetActionCooldown, ReduceActionCooldown, ActionReady,
pkg
core
Package core provides core functionality for a simulation:
Package core provides core functionality for a simulation:
core/action
Package action describes the valid actions that any character may take
Package action describes the valid actions that any character may take
core/combat
Package combat handles all combat related functionalities including
Package combat handles all combat related functionalities including
core/player
Package player contains player related tracking and functionalities: - tracking characters on the team - handling animations state - handling normal attack state - handling character stats and attributes - handling shielding
Package player contains player related tracking and functionalities: - tracking characters on the team - handling animations state - handling normal attack state - handling character stats and attributes - handling shielding
core/player/animation
package animation provides a simple way of tracking the current animation state at any given frame, as well as if the current frame is in animation lock or not
package animation provides a simple way of tracking the current animation state at any given frame, as well as if the current frame is in animation lock or not
core/player/shield
Package shield provide a handler to keep track of shields and add shields etc...
Package shield provide a handler to keep track of shields and add shields etc...
enemy
Package enemy implements an enemey target
Package enemy implements an enemey target
gcs
modifier
package modifier provides a universal way of handling a slice of modifiers
package modifier provides a universal way of handling a slice of modifiers
queue
package queue provide a universal way of handling queuing and executing tasks
package queue provide a universal way of handling queuing and executing tasks
simulation
Package simulation provide the functionality required to run one simulation
Package simulation provide the functionality required to run one simulation
scripts
services module

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL