Skip to content

jcw780/wows_shell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

wows_shell

License GitHub commit activity Discord

  • C++ header only library for calculating shell performance in World of Warships
  • Experimentally verified to be nearly identical to the World of Warships ballistics model

Legal

  • All copyrighted material provided by Wargaming.net are owned by Wargaming.net.
  • All other material is available under the MIT License.

Original Model Information & Source Code:

Original Model:

Revised Model:

Features:

Shell Flight

Computes shell flight path.

At Impact:

Outputs:

  • Angle of Impact
  • Impact Velocity
  • Raw, Belt/Deck, Normalization Adjusted Penetration
  • Shell flight time (Real / In-game)

Ability to change trajectory computation method

  • Forward Euler (default - also in-game method)
  • Runge-Kutta 2 and 4
  • Adams-Bashforth 5

Lateral Angles:

Computes lateral angles where penetration, AP fuzing, and ricochets occur while adjusting for impact angle and vertical armor inclination.

Definition: Angles where that represent the horizontal angling of a ship:

  • Bow-in: 90 degrees
  • Full-broadside: 0 degrees

Outputs:

  • Maximum Lateral Angle for Penetration
  • Minimum Lateral Angle for Fusing
  • Ricochet Lateral Angles

Dispersion

Computes dispersion approximations based on experimental data.
Outputs:

  • Dispersion Types:
    • Horizontal Dispersion
    • Vertical Dispersion
    • Area Dispersion
  • Statistical Types
    • Max Dispersion
    • Standard Deviation of Dispersion
    • 50% Error Radius

Post-Penetration:

Shell detonation distance after penetration while adjusting for ship angling, and vertical armor inclinations.

Ability to modify the way the calculations are done

  • Enable or Disable Normalization changing direction
  • Linear estimation or full air drag modeling

Fitting:

Capability to fit shells to real world data using gradient descent.

  • Air Drag Coefficient
  • Krupp

Compatibility:

  • Requires C++17 supporting compiler
  • Supports multithreading and vectorization for improved performance

Extensions:

Python

  • Requires Pybind11
  • Tested with Python 3.7.4 (Anaconda), 3.8.5
  • Available from PyPI pip install wows-shell

WebAssembly

Future Goals:

  • Wiki / Tutorial
  • Extend more features to Python and WebAssembly
  • Will continue to update the model when new information is acquired