GithubHelp home page GithubHelp logo

garycourt / korc Goto Github PK

View Code? Open in Web Editor NEW
49.0 49.0 25.0 136 KB

Kerbal Space Program Optimal Rocket Calculator - Calculates the most efficient rocket possible!

Home Page: http://garycourt.github.io/korc/

License: BSD 2-Clause "Simplified" License

JavaScript 62.93% HTML 37.07%

korc's People

Contributors

apexo avatar cpcallen avatar garycourt avatar jrowens avatar pee8379 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

korc's Issues

staged TWR constraints

Currently it is only possible to define a minimum TWR for the whole rocket.

Sometimes (or maybe even most of the time), this is overkill and we only need a high TWR for launch (probably from Kerbin) and lower TWR for later phases (e.g. circularization burn, mun transfer, mun landing). For non-trivial missions this has the potential to significantly reduce engine mass (or increase efficiency) in upper stages (and transitively in lower stages and thereby total rocket mass).

I therefore suggest to allow the configuration of staged TWR constraints (where the staging does not necessarily correlate with the rocket staging). To keep the UI simple a plain text field could be provided where the staged TWR constraints are entered in a special syntax, e.g.:

4000:2.0 1.0

("TWR >= 2.0 for the first 4000m/s, TWR >= 1.0 for the remainder")

proposed ABNF (like in RFC 4234):

staged_TWR_constraint = *constraint default_constraint
constraint = dV_spec ":" simple_constraint
default_constraint = simple_constraint
dV_spec = FLOAT
simple_constraint = lower_bound
lower_bound = FLOAT

maybe, if you need an upper TWR limit, which I think that is rarely necessary:

simple_constraint = lower_bound ["-" upper_bound]
upper_bound = FLOAT

No way to optimize for delta-v

Ideally, I'd lie to be able to optimize to find the most delta-v for a given maximum mass / TWR / burn time / part count / cost. Currently the only way to do so is to optimize for mass and iterate minimum delta-v until you get something close to the maximum mass.

Exotic fuels

It would be nice to have more kinds of fuels than just LF+Ox: There's the Xenon engine&tanks in stock kerbal, plus Argon and Liquid Hydrogen on the Near Future mods.

Optimization of time complexity

Does this use a genetic algorithm? If not, how difficult would it be to implement one?

Based on the current code, it looks like you’re using a brute-force search, which, if I’m not mistaken, has been proven to be a massively inefficient (on the order of O(n!)) last-resort search...

[Enhancement] Saved Page State (aka 'Remember Settings')

Summary

A page feature to allow settings to be auto-saved. This may even open up the possibility to allow users to store multiple configurations to calculate from.

Description

When users play in Science or Career Mode, they often have to configure the Page Settings/Filter in order to display the correct parts, or in some instances need to an alternate configuration to match the environment/situation. Currently, whenever the page is (forced) reloaded or re-visited, everything is lost.

This may require further investigation, but after a bit of searching I came across this Page[1] which was working on a jQuery Cookie Issue[2]. The goal was fairly simple, and experimental, but it seems like they succeeded.

They wanted to Invert the Page colors by having users click 'Invert Colors' at the Top-Right. The Page then updates, and stores the setting via cookie. After that, users can navigate and/or re-open the Page with the same settings.

References

Cannot specify maximum cost when optimizing for mass

Ideally, I'd like to be able to optimize for mass with a maximum cost. You can do it the other way around (optimizing for cost with a maximum mass), but there's no way to optimize for mass with a maximum cost. That I know of, at least.

(suggestion) Limit max quantity of each engine

Some rockets suggested will include stages with twinboar/mammoth engines, followed by another stage. This is very difficult to build. If users were able to limit the quantity of a certain part that were allowed in a build, this could be made less of an issue.

Allowing limitations on quantities of specific parts could also reduce the number of possible combinations, and possibly allow for a faster optimized rocket.

1.0.5 Values Appear to be Wrong

It appears that the thrust numbers for parts like the Terrier are now too high (240+ vac thrust) instead of 60. These don't seem to match results from the game.

Request: include more parts

This calculator should really support:

  • All the tanks (spaceplane parts, wings, etc.)
  • The LV-N (and possibly other aero engines)
  • Monopropellant engines & tanks

Add link to wiki for stock parts

Hi, would it be possible to link automatically to the wiki for the stock parts?

The wiki should have an article for each stock part, so you can simply link to http://wiki.kerbalspaceprogram.com/wiki/%part name% if the part is a stock one.

When I'm using this calculator, I'm sometimes not sure about what part your calculator is talking about. And a simple link would usually work fine.

Fabian

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.