Giter Site home page Giter Site logo

Comments (8)

CptMoore avatar CptMoore commented on July 22, 2024

@Aliencreature thoughts?

from mechengineer.

Aliencreature avatar Aliencreature commented on July 22, 2024

One idea is to have:
Fusion Core
XL Engine RT
XL Engine CT
XL Engine LT

So they are uniform. One alternative might be XL Casing, but I don't particularly like it. In my opinion the best choice is to deviate as little as possible from the lore names, and make sure the description briefly mentions the difference between the parts.

The Fusion Core is where the magic happens, and where a tiny sun is formed that produces immense heat. But it is not an engine, it is merely a source of heat. The engine is the part that handles the conversion of that heat to useful work. This is also how it is in real life reactors, where the core and the engine/turbine systems are considered separate.

I would actually love it if Fusion Core was left as Fusion Core, because it keeps things open if anyone ever decides to add a Fission Core as a cheap, dirty alternative for when money is running dry.

The part that I am really struggling with is how much of an engine is the core and how much is the engine. It has been a while since I took math, but I've been at it for a few minutes and I can't seem to find a solution.

from mechengineer.

CptMoore avatar CptMoore commented on July 22, 2024

XL Engine CT
Fusion Core was left as Fusion Core

so it shall be.

engine is the core and how much is the engine

so important for everything, weight, cost, properties. we could continue to cheat by having everything in the fusion core.
only cost is left that can't be just part of only the core, but there I could just make the installation cost dynamically calculated.

the current cost formula for a standard engine is 5'000 * chassis max tons * rating / 75. an xl engine just replaces the 5'000 with 20'000.

how much of that cost is:

  • installation
  • materials (shielding, etc..?)
  • fuel

and how does each scale to rating and chassis tonnage?
going to read some of the rule books to get some inspiration

from mechengineer.

Aliencreature avatar Aliencreature commented on July 22, 2024

Since I can not actually figure out how much of an engine is the core and how much the shielding, I decided to work at it backwards. I imported the engine table into LibreOffice and set up additional columns: one that takes the formula for the tonnage of the core based on rating, and one that subtracts it from the tonnage for each engine type to produce the shielding tonnage. That is to make sure that no nonsensical values are produced. As there are to my knowledge no engines below a rating of 60, I have used that as the floor.

What I Found

First of all, there are some limitations to what is possible.

  1. Fusion cores have to accept tonnage values below 0.5 in order to not produce a nonsensical 0 tonnage XXL60 engine.
  2. Because of ^, a linear function for core tonnage will always have to produce low values even at high ratings. This makes the mass of the core almost completely dependent on the shielding.

The first, and simplest solution, is to use a linear function to calculate the core tonnage based on rating.

=MROUND(0.005*A12, 0.25)

After some playing around I found that the above plays well with all ratings.

I am working on other formulas that put more emphasis on the core tonnage at higher ratings, but this might be the way to go. It also makes sense, since in a modern nuclear reactor most of the mass is in shielding, cooling, etc. and not on the core itself.

from mechengineer.

Aliencreature avatar Aliencreature commented on July 22, 2024

OPTION 2

I used an exponential fit function to reverse-engineer the formula that is used on the engine tables to correlate engine rating to tonnage, and then I sprinkled a few additions on-top.

Fusion Core Tonnage =MROUND(1.00922794448231^RATING/5, 0.25)

The fusion core takes up ~ 20% of the STD engine, but that varies with engine size due to the rounding to the nearest 0.25. It plays nicely with all engine ratings and types EXCEPT:

XXL 70
XXL 75

Which produce a shield rating of 0. This, too, is an unfortunate side-effect of the rounding function, but they are fringe cases and I doubt they will be relevant (or even included if we follow MWO's example of having no engines under 100 except for the 60). For reference, the heaviest core with this system is the Fusion Core 400 at 8 tons, and the STD engine parts for it come out to 44.5 tons.

If, however, that is a problem, an alternative formula is:

=MROUND(1.00922794448231^RATING/5, 0.5)-0.25

This works for all engine ratings and types but is less elegant and produces odd-looking core tonnages.

And since we are on it, it is not an exact calculation for the complete tonnage of the STD engine, but the closest I could get to an exact match was:

STD Tonnage = MROUND(1.00922794448231^RATING, 0.5)

from mechengineer.

CptMoore avatar CptMoore commented on July 22, 2024

based on how much stuff we have to do, I might scrap the idea of making engine components more immersive by distributing properties. right now, except for the space usage and cost, every property should be part of the core.

Costs just have to be calculated on the go. To properly calculate costs, we need to know:
(EngineTypeModifer x Engine Rating x Unit Tonnage) รท 75

On shop buy time, we don't know any of the information at the same time. (we might know rating or engine type but not both are even unit tonnage)

On installation time, theoretically it should be possible to have all 3 values, but practically we dont:

  • engine rating is known already
  • the unit tonnage is not given to the installation order (requires an easy but ugly patch)
  • engine type is another component. this is a bigger issue, since we have race conditions in combination with cancelling an order.

The best one could do right now is to derive 2 formula:

  1. fusion core installation cost (Engine Rating x Unit Tonnage)
  2. shielding installation cost (Engine Type x Unit Tonnage)

for 2. I need to split EngineCoreRef from EngineType, probably introducing EngineRef -> ( EngineCoreRef, EngineTypeRef ). thats kinda a big change. see #65

from mechengineer.

CptMoore avatar CptMoore commented on July 22, 2024

the cost issue can be solved with #66 thats alot of work though

from mechengineer.

CptMoore avatar CptMoore commented on July 22, 2024

closing this, not worth an extra issue

from mechengineer.

Related Issues (20)

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.