crepegoat / fehnt Goto Github PK
View Code? Open in Web Editor NEWA Python program for calculating probabilities of various summoning outcomes in Fire Emblem Heroes
License: MIT License
A Python program for calculating probabilities of various summoning outcomes in Fire Emblem Heroes
License: MIT License
instead of asking users to populate event information manually, this should be available automatically from an internet source.
Currently when initiating a new session, the program branches into a unique session state for every possible combination of stone quantity (e.g., 3 red 1 blue 1 green 0 gray), of which there are precisely 56. However, many of these can be lumped together w/o loss of generality, based on the summoner's actions. (E.g., how many blue/green/gray stones there are doesn't affect the summoner's decision, if the summoner is only interested in summoning red; in this case, the (4 red 1 blue) state can be lumped together w/ the (4 red 1 green) and (4 red 1 gray) states.)
Reducing the number of branches should greatly increase computation speed, esp. for larger orb counts.
the results from this program are poorly legible in their current form. it would be ideal to generate a visual plot describing the results.
Currently the program starts with a known orb count and iterates through states of remaining orbs down to zero.
The code can be rewritten to:
inputs are currently hard-coded in runner.py. change to accept inputs externally, either from file or CL.
Currently results are just "how many units did I get in a given percentage pool?", which does not accurately describe which units were drawn.
Options:
events probabilities are currently calculated by the type of event (standard, legendary, etc.). However, every one of these summons follows an identical structure that is solely determined by the starting probabilities:
2% * (6.5% / 6%)
and 4% * (6.5% / 6%)
, respectively.Thus, the derived classes can be removed and replaced with a single class that uses the starting probabilities as a constructor parameter.
numpy is fast when it is allowed to work on bulk amounts of c-typed data simultaneously. However, this application uses no c-typed data whatsoever, and in some cases involves smaller array sizes (~4-5 elements). Because of this, it may be faster (particularly in jit-compiled situations like on pypy) to have a pure-python version of numpy instead, that merely provides the syntactical convenience of the package w/o the C-extensions.
Note - this should be verified with profiling.
The other option is to remove static_frame
entirely, and just perform all data manipulations manually.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.