# Power Generation - Cracking the code

52 posts / 0 new
Lix
Offline
Last seen: 4 months 2 days ago
Joined: 06/27/2013 - 07:54
Power Generation - Cracking the code

So much of this info is wrong.  I'll do my best to redo it sometime soon.  Read in the comments for more info.

I have been doing some research into how power generation works because I'm getting tired of the "try it and see" method of building power.  I want to be able to calculate my power before I actually build the reactors.  So there's what I've come up with

Power Charge(e/sec) = Σ(power objects)

Power objects for this explanation are any group of SD HCT xm3.4 Power blocks that are touching with at least one side. If a block is not touching the side of another they are not in the same power object.  This counts for diagonals.

So the power generation of each individual power object is calculated based on the number of unique power blocks in each of the X, Y, and Z directions and the number of non-unique power blocks in each direction.  Unique power blocks generate power in an increasing way based on the number of them that I will explain later.  Non-unique power blocks give a flat 25 e/sec power generation per block.

So now what constitutes a unique power block and a non-unique power block?  Let’s start with unique power blocks in one dimension (aka. a line).  This dimension shall be X.  Every block in the line fills a unique spot in the X dimension.

Now we will move to two dimensions.  This second dimension shall be Y.  In two dimensions there are several unique spots in both dimensions.

When determining uniqueness each block may only be used once.  If a block is unique for both dimensions it is not counted twice.  Therefor the block in the corner that is unique to both X and Y only counts for one.

Now for non-unique blocks in two dimensions.  Any block that shares a location with another block in a two separate dimensions is non-unique. I will use U for unique blocks and N for non-unique blocks.

In this picture the N block shares a location in the X dimension with a U block and in the Y dimension with a U block so it is non-unique.

These same ideas apply to the third dimension as well.  This dimension shall be Z.  Z has its own set of unique blocks that are separate from X and Y.

Again Z does not get to count the block in the corner (the block that is currently hidden that was the first unique block in X). Also the rules for non-uniqueness apply in Z as well.

So now that we have determined what is unique and what is not lets go back to our calculations. As stated earlier I have found that:

Power = Σ(power objects) = Σ(Power generated by all unique blocks + Power generated by all non-unique blocks)

Power generated by non-unique blocks = (Number of non-unique blocks * 25 e/sec)

Where it becomes tricky is calculating the power of the unique blocks.  The power generated by unique blocks is only based on how many there are as long as they are all unique.  This means that placement does not matter as long as every block is still contiguous and unique.

Examples:  (Note the blocks number and the e/sec generation)

(EDIT: I apologize for the pictures.  I thought you would be able to see the e/sec and block count.  Just go build these for yourself and see)

In each of those pictures the form the blocks are in takes up a larger area than the last but they still produce the same amount of energy.  When I first began designing power generators I thought that the generation power was based on the amount of area that the blocks encompassed.  This is not the case.

So after figuring out that the unique blocks could be placed in any configuration I began running some numbers.

I found out from this information that power generation for each power object increases in a logarithmic fashion.  That means that each block will increase the total e/sec more than the last one did but also each new block will increase slightly slower than the last.

So in the end I came up with the power equation of:

Power = Σ(power objects) = Σ(Power generated by all unique blocks + Power generated by all non-unique blocks)= Σ((140.8+98.1*U+E)+(25*N))

EDIT: This equation is kinda made up and isn't really all that good.  That's one of the reasons I posted this because I was hoping someone better at math could help me fix it.  ThyLordRoot's equation lower is much better.

Where U= the number of unique blocks in each individual power object

N= the number of non-unique blocks in each individual power object

And E is the factor of growth represented by ΔΔPower.  I wasn’t able to figure out this equation.

EDIT:  So I was talking to Raok and we figured about the the dimensions of the bounding box that the blocks form (eg. 10x10x5) is a quick way to figure out the number of blocks used.  How you do this is you take the three dimensions and you add them together (10+10+5=25) and then you subtract 2 (25-2=23) and that is how many blocks it took to make that structure.

Also ThyLordRoot figured out a really good equation for computing power that integrates U and N blocks in one equation and put it into use in a program that will compute the optumum power placement for a given area.

This is his equation: ((x+y+z )/ 3)^1.7029*114.8+25n+1  where n is the number of blocks used and x, y, and z are the longest of each of those dimensions in the shape

It is late now and I feel like there are some things I forgot to explain and some things I explained badly.  I will likely come back and edit this post later.  Please feel free to ask questions!  I'm tackling power storage next.  Anyone have some numbers on that so I don't have to spend hours on it as well?

tl;dr: If you think power generation is based on the area the cube that the power blocks create you are WRONG!  WRONG WRONG WRONG!  Go read the post to know why.

Littlehelper
Offline
Last seen: 1 month 4 weeks ago
Joined: 06/24/2013 - 17:10
actual tl;dr:

I wasn’t able to figure out this equation.

edit: Also: When people talk about 'box dimensions' for the additional power of a power-generator group the only relevant number is x-dimension + y-dimension + z-dimension.

Trinova
Offline
Last seen: 1 week 3 days ago
Joined: 06/25/2013 - 10:12
I like they way you did it

I like they way you did it (did this for AMC damage myself Link) but there is a conflict in your post.

I found out from this information that power generation for each power object increases in a logarithmic fashion.

(140.8+98.1*U+E)+(25*N)

indicates a linear growth (not logarithmic) with some kind of "magic" correction value E which i would have to look up in my table. I think that's not the way you should go since if i'd ask you now how much a generator with 8k unique blocks does generate you'd need to build it, calc the magic E value and then calculate it with your formular.

My susggestion is to go for some kind of formular like:

a+x*log(b,U)+25*N

where a is a linear offset, x is a linear factor and b is the basis of the logarithm.

But before i forget: Thanks for the work so far and the insight not the volume defines the generation but the number of "unique" blocks.

Trinova
Offline
Last seen: 1 week 3 days ago
Joined: 06/25/2013 - 10:12
ok... my suggestion is

ok... my suggestion is obviously bullshit since power doesn't grow logarithmic, but power gain^^ thus we need an exponetial function for power.

Lix
Offline
Last seen: 4 months 2 days ago
Joined: 06/27/2013 - 07:54
You guys are totally right

That equation is pretty terrible.  I boiled down the numbers into a series but I couldn't remember what to do with it then.  I was talking to a friend and since the rate of change of e/sec steadily increased with blocks added but the rate of the rate of change decreased he sugjested it might be logarithmic.  Here are the numbers I was able to boil the power equations down into:

Power = (140.8)+(98.1)+(98.1+14.1)+(98.1+14.1+13.1)+(98.1+14.1+13.1+12.4)+(98.1+14.1+13.1+12.4+12)+(98.1+14.1+13.1+12.4+12+11.4)+(98.1+14.1+13.1+12.4+12+11.4+10.9)+(98.1+14.1+13.1+12.4+12+11.4+10.9+10.8)+(98.1+14.1+13.1+12.4+12+11.4+10.9+10.8+10.4)+(98.1+14.1+13.1+12.4+12+11.4+10.9+10.8+10.4+10)+.....   Where the Power is the first n number of terms where n is the number of unique blocks.

This equation sorta becomes:

ΣPower for n terms = 140.8 + 98.1*(n-1) + 14.1*(n-2)+13.1*(n-3)+12.4*(n-4)+12*(n-5)+11.4*(n-6)+10.9*(n-7)+10.8*(n-8)+10.4*(n-9)+....   Where n = number of unique blocks.

This equation of course doesn't work because of the negative numbers but if you only take the first n number of terms it does.

I'm not the best at math and it's been a little while since I've dealt with series so I know I'm doing something wrong I just don't know what.  I understand what is going on basicly but my equation is still very hand wavy.

@Littlehelper the relevant number is actually x dimension + y dimension + z dimension - ( 2 if in 3D, 1 if in 2D, and 0 if in 1D).  The reason for this is that in 2D and 3D a block is shared between dimensions.

@Trinova I like how you called them "unique" blocks.  I had such a hard time deciding what to call things in this post... I still don't know how to refer to them, but I had to pick a name so I could present my info.

I wish the devs could just give us the equations for these things.

zeldster
Offline
Last seen: 4 months 2 weeks ago
Joined: 06/20/2013 - 01:04
If you made those graphs in

If you made those graphs in Excel, right click the line, and hit "Add Trendline", and in the box that shows up, try different fits (Exponential, Logmarithmic, Linear etc.), and check the "Show Equation on Graph" option.

Find out which trend line makes the best fit, and tell us what the equation is.

For the Unique Block e/sec, it's probably exponential,

For the Delta Power for Unique Blocks, it's probably logarithmic.

Trinova
Offline
Last seen: 1 week 3 days ago
Joined: 06/25/2013 - 10:12
I just beat the numbers a

I just beat the numbers a littel and I'm now sure it's not as simple as:

140.8 * U ^ c + 25 * N

with c beeing a constant exponent. The Problem is: most algorithms for interpolation assume a polynomial representation. But x^1.5 is not a polynom... since 1.5 is not element of the integer numbers. And as far as i can see this screws up with everything from Lagrange to Hermite.

My next guess would be something like (ignoring the linear part for "non-unique" blocks):

power = a + b * U ^ c

wit a, b and c beeing element of the real numbers. This wouldn't be an exponential grows but in the complexity of polynomial growth. I'd expect c to be somewhere between 1 and 2.

momerathe
Offline
Last seen: 4 months 1 week ago
Joined: 06/26/2013 - 15:10
so...

Does this mean that the "box dimension" calculations that everyone has been talking about is wrong?

for example, if I've understood this right, you're saying that:

`XXXXX`

is equivalent to

``` XXX X X```

because they both have 5 unique blocks. whereas the box dimension theory would hold that the bottom one is almost twice as good as the top (5x1 vs. 3x3).

does this apply to thrust as well?

Zaflis
Offline
Last seen: 2 weeks 2 days ago
Joined: 07/05/2013 - 16:22
.

Box dimension theory means that
5x1 box dimension is 5+1 = 6
3x3 box dimension is 3+3 = 6

Yes it applies to thrust, and power tanks.

DracoNB
Offline
Last seen: 10 hours 21 min ago
Joined: 06/24/2013 - 04:27
Power tanks don't need to be

Power tanks don't need to be in any special setup, they just need to be touching. Thick boxes give same boost as box dim for equal numbers

darth
Offline
Last seen: 4 months 4 weeks ago
Joined: 06/24/2013 - 23:11
Holly cr...

It will definitely help designing better stealth ships, nice work man.

zeldster
Offline
Last seen: 4 months 2 weeks ago
Joined: 06/20/2013 - 01:04
Yes, the "block" dimension of

Yes, the "block" dimension of efficient power regen blocks isn't necessary. You can have straight lines without any touching of these blocks, and it will have the same power regen as if you used the same amount of blocks to make the axes of a cube.

So you could make efficient use of space by having lines of the energy blocks and thrusters, here's what the cross section should look like

O = Power Regen, X = Thrusters

X O X O

O X O X

X O X O

AnIronGolem
Offline
Last seen: 2 weeks 6 days ago
Joined: 03/26/2013 - 11:37
wut

You just pretty much killed my head. Explain in english? lol

zeldster
Offline
Last seen: 4 months 2 weeks ago
Joined: 06/20/2013 - 01:04
Just make long lines of

Just make long lines of energy cubes, each line not touching.

Or you could do the cube thing where you make the edges of a hollow cube with the power blocks.

Either one will provide the same amount of power if you use the same amount of blocks.

momerathe
Offline
Last seen: 4 months 1 week ago
Joined: 06/26/2013 - 15:10
wow

This is going to make stuff so much easier!

Trafalgar
Offline
Last seen: 1 week 3 days ago
Joined: 06/27/2013 - 00:16
Personally I think of it as

Personally I think of it as 'total dimensions' (xdim+ydim+zdim) and 'total blocks'. With optimal placement total blocks will be 2 less than total dimensions. If you have "non-unique blocks" then you'll have a larger difference than 2, indicating the wastefulness of your setup.

So basically. I have done tests previously and recorded the power recharge with various dimension blocks, like you. So I have numbers. With a dimension 3 block (1x1x1) I had 140.8 e/sec, with a dimension 6 block (2x2x2 or 4x1x1) I had 476.4, with a 200x200x200 I had 751403.5 e/sec, for instance. 1 e/sec of those was from the core.

From that page, we can come up with an overall equation of (1/(1+1.0007^-((x/3)^1.7*0.333))-0.5)*2*1000000 + 10 * (x-2) for optimal placement. If using non-optimal placement then use the actual number of blocks in the power construct in place of (x-2).

We are expecting something close to this for x={3, 6, 600, 900}: The actual measured e/sec for generators with those dimensions are: {139.8, 475.4, 751402.5, 976916.1}

This equation comes out wrong, of course. (How wrong? {126.509, 418.54, 746147., 964733.})

I fiddled with it and came up with this:
(1/(1+1.00069^-((x/3)^1.7005*0.333))-0.5)*2*1000000 + 25 * (x-2)
For the same x values, result: {139.845, 473.263, 750060., 976284.}
That's much closer.

Trinova
Offline
Last seen: 1 week 3 days ago
Joined: 06/25/2013 - 10:12
If I feed your formular with

If I feed your formular with your numbers my computer tells my totaly different values than you. Either im unable to type, you have some typos, your formular is wrong or i just got wrong what you tried to tell me.

PS: but thanks for the insight which gives us the hint we should calc with x+2 instead of just with x.

Littlehelper
Offline
Last seen: 1 month 4 weeks ago
Joined: 06/24/2013 - 17:10
@trinova

The last formula and values do fit together. So .. try typing again, as you probably just have a typo.

Trafalgar
Offline
Last seen: 1 week 3 days ago
Joined: 06/27/2013 - 00:16

What numbers your computer gives you?

Assuming I didn't explain well enough, if you have a line of power generators that's 4 blocks long, that's 4x1x1, and you add up the x y and z dimensions (4+1+1) to 6. The total number of blocks is 4. That's the x value in the formula. (It's more complicated in the page I linked to because of the way coordinates are in the game, it subtracts min and max coordinates and adds one to get lengths for each dimension)

Or, showing it another way:
(1/(1+1.00069^-(((length+width+height)/3)^1.7005*0.333))-0.5)*2*1000000 + 25 * (totalBlocks)

So if you had a 2x2x2 cube of power generators, you'd say it's 2 blocks long, wide, and tall, for a total of 6, and 8 blocks total, so you'd do (1/(1+1.00069^-(((6)/3)^1.7005*0.333))-0.5)*2*1000000 + 25 * 8 and that comes out to around 573.263. When I build a 2x2x2 cube of power generators on a ship core, the ship designer says my regen rate is 576.4 e/sec (and 1 e/sec of that is from the core itself), which is much closer than I've gotten with anything else.

Racr
Offline
Last seen: 3 months 1 week ago
Joined: 06/21/2013 - 21:25
Hmm

Originally power was based purely on the dimensions of the box it created, now it's based on that and the fact each block adds 25 e/s to the total.

Trinova
Offline
Last seen: 1 week 3 days ago
Joined: 06/25/2013 - 10:12
the numbers are FAR from what

the numbers are FAR from what you'd expect (for 900 i have only 31k). Please point the error for me:

(1./(1.+pow(1.00069, -(pow(x/3., 1.7005*0.333))))-0.5)*2000000 + 25. * (x-2.)

With pow(x,y) meaning x^y

Trafalgar
Offline
Last seen: 1 week 3 days ago
Joined: 06/27/2013 - 00:16
A minor thing

That *0.333 does not go inside your second pow. Exponents come before multiplication in order of operations.

Also, we've only discussed how this works when you have only one power generator collection, and the curve that reduces recharge is actually being applied to the sum of all (length*width*height/3)^1.7005 (or some other approximation), not each one separately. So it's really more like totalBasePowerRecharge = sum of (length+width+height)/3)^1.7005 for each generator collection,
then rechargeRate = (1/(1+1.00069^-((totalBasePowerRecharge*0.333))-0.5)*2*1000000 + 25 * (totalGeneratorBlocks)

Thorodan
Offline
Last seen: 1 month 1 week ago
Joined: 06/20/2013 - 20:50
(1/(1+1.00069^-(

(1/(1+1.00069^-((totalBasePowerRecharge*0.333))-0.5)*2*1000000 + 25 * (totalGeneratorBlocks)

What do i put in where it says totalBasePowerRecharge?

Trinova
Offline
Last seen: 1 week 3 days ago
Joined: 06/25/2013 - 10:12
Either im unable to type, you

Either im unable to type, you have some typos, your formular is wrong or i just got wrong what you tried to tell me.

And the solution was: I'm just retarded^^ Thanks

Offline
Last seen: 1 day 6 hours ago
Joined: 05/26/2013 - 17:31
Power

The way i understand power generation to work is that box dimension (or cube skeleton) generators will only work to about 1,000,000 to 1,200,000 e/sec. As they get closer to this number, the gain plaetos out to be a solid 25e/sec per block.

If what you're suggesting is true (always 25 e/sec per block) than it would be impossible to build a ship to sustain stealth and cloak indefinately. The idea with behind the boxdim method is that you can get powerful reactors without gaining a lot of mass.

For those that don't know, cloaking alone costs 1000e/sec per 1 mass.

Correct me if i'm wrong.

Trafalgar
Offline
Last seen: 1 week 3 days ago
Joined: 06/27/2013 - 00:16

Your understanding (your first paragraph) is correct, and this is what the equations say as well (when they're entered correctly, and nothing is throwing a fit).

The power generated with efficient generator setups is enough to power cloak up to substantial ship sizes, but as you increase mass (e.g. block count), you have to dedicate more and more of the blocks to power generation, until you finally reach the point at which it becomes impossible to maintain permacloak+radar jamming because energy regen efficiency has gotten too low (because of the decreasing efficiency of the main curve, and the 25 e/sec being the only thing powering additional power generators that are added), and then the point at which it becomes impossible to maintain permacloak alone. You can maintain radar jamming up to some rather large block counts, however.

If the math is accurate, it looks like 1,333,333 e/sec is the hard limit for permacloaking (100 e/sec/block), the point at which above which it becomes impossible to cloak even a ship composed of 100% power generators, regardless of how they are arranged or how long they are (or the point at which, if a ship core's mass has to be cloaked too).

For reference, the equation I solved (for n) is epb=((1/(1+1.00069^-((x/3)^1.7005*n*0.333))-0.5)*2*1000000 + 25 * (x-2)*n) / ((x-2)*n). Entering any x (I tested 600 and 3000 even though 3000 would be a 1000m-in-every-direction power generator), and 100 for epb, resulted in a value for n, which I then put back into ((1/(1+1.00069^-((x/3)^1.7005*n*0.333))-0.5)*2*1000000 + 25 * (x-2)*n) to get a value for the actual e/sec, which was 1.33333e6 (1,333,333 e/sec) with both x=600 and x=3000.

For epb=150 (cloaking+radar jamming), I get 1,200,000 e/sec as the hard limit.

firas55556
Offline
Last seen: 4 months 1 week ago
Joined: 07/05/2013 - 15:12
Cloaking jamming

After refurbishing my 600 mass warship into a jamming capable one, the cloaking seems to be 1000 per mass for cloak and 500 per mass for jam.

Easy way to then tell if your ship is capable of it is using mass times

1. X500 for jam
2. X1000 for cloak
3. X1500 for both

Also using your energy regen(e/sec) divided by the above you can tell how many blocks your ship can support. Meaning that that the max mass for cloak and jam ship is 1,000,000 e/sec(effective energy regen cap) divided by 1500 which gives 666,66 mass=6666,6 blocks

Lix
Offline
Last seen: 4 months 2 days ago
Joined: 06/27/2013 - 07:54

For those of you unterested the post is updated with new information

ThyLordRoot
Offline
Last seen: 3 weeks 3 days ago
Joined: 06/20/2013 - 02:36
From some of my notes

Greetings,

I thought I would chip in because my work with Reactor Breeder is apropos to this discussion. Lix and I have been PMing each other about this subject and I thought I might my approach, which complements the above work. The first things I noticed when I was working on figuring this out were that:

• The ship core (even in the absence of power generators) generates a constant 1 e/s
• The contribution of N is linear. We can infer this because adding a block what does not contribute to block dimension adds a +25e/s; adding 2 contributes +50 e/s, etc.
• The portion of power attributable to block dimension (Pt) is therefore Pu = Pt - (25N + 1)
• Pt is obviously nonlinear; however, a quadratic curve quickly of the block dimension quickly overshoots this as well.

From these facts, I was able to derive the following model for Pt:

Pt(U, N) = aU^t + 25N + 1, 1 < y < 2.

Where t, a are empirical constants. The value of a seems to be pretty easy to take a stab at from the Pu for a 1x1x1 cluster, which is 114.8, so it seems reasonable that a should also be the value. The value of t is a bit more ellusive; appropriate values seem to be 1.7028 < t < 1.7029. I'm using the latter, which favors smaller reactors and which generally results in less than 1% relative error. So my equation is:

Pt(U, N) = 114.8 * U^1.7029 + 25N + 1

I think my next step is probably going to use the squeeze theorem to find a constant which reduces error, operating under the assumption that the best value of t is somewhere in that range. I'll let ya'll know what I find out.

AuoroP
Offline
Last seen: 4 months 4 weeks ago
Joined: 06/28/2013 - 22:32
So I've also been trying to

So I've also been trying to figure out how to turn Schema's notes on power recharge (from May) and I'll agree with Trinova that I also got 116.5 e/sec for the limit of one unique block and 126.5 when I added the second term and the actual value in the game is 140.8 e/sec.

I also went on to ask how we could change Schema's notes to get a better model. I found something surprising. If you change the x10 to x24 and the exponent -x*0.333 into -x/3 then the first value is correct. I've calculated the first 7 values and the values still diverge. Since this underestimates I've also changed the base to 1.000701.

The model: (1/(1+1.000701^(-U/3))-0.5)*2e6 + 24*(U+N)

U: Actual ... Model
--------------------
1: 140.8 ... 140.8
2: 281.7 ... 281.6
3: 422.5 ... 422.4
4: 563.4 ... 563.2
5: 704.2 ... 704
6: 845.1 ... 844.8
7: 985.9 ... 985.5

Further refined model: (1/(1+1.000701305^(-U/3))-0.5)*2e6 + 24*(U+N)

This model perfectly matches the first 50 data points up to 50 cores providing 7042.1 e/s.

EDIT: Data collected by checkerboarding power cores.

CyaNox
Offline
Last seen: 4 months 3 weeks ago
Joined: 06/22/2013 - 15:29
The math it needs loving :P

He he ... you people are getting close:

Very rough pseude code:

regen = ((1 / (power(1.000696, -1 * (power(((BoxDimXSize + BoxDimYSize + BoxDimZSize) / 3 , 1.7) * 0.333)) + 1)) - 0.5) * 2000000) + (25 * BlockUnitCount)

ThyLordRoot
Offline
Last seen: 3 weeks 3 days ago
Joined: 06/20/2013 - 02:36
Updated Data

So I ran my squeeze theorem solver to approximate the value of t in the above equation by combining the data that Lix and I have both collected. Here are the results:

Best is 1.7030161076417545

Width    Height    Depth    Block Dim    Actual    Predicted    Error    Error^2
1    1    1    1.000000    140.800000    140.800000    0.000000000%    0.000000000%
1    1    2    1.333333    238.900000    238.376261    0.219229312%    0.000480615%
1    1    3    1.666667    351.100000    350.002094    0.312704591%    0.000977842%
1    1    4    2.000000    476.400000    474.766884    0.342803599%    0.001175143%
1    1    5    2.333333    614.100000    611.973156    0.346335102%    0.001199480%
1    1    6    2.666667    763.800000    761.061335    0.358557923%    0.001285638%
1    1    7    3.000000    924.900000    921.567675    0.360290346%    0.001298091%
1    1    8    3.333333    1096.900000    1093.098509    0.346566760%    0.001201085%
1    1    9    3.666667    1279.700000    1275.313410    0.342782666%    0.001175000%
1    1    10    4.000000    1472.900000    1467.913618    0.338541805%    0.001146106%
1    1    11    4.333333    1676.100000    1670.633773    0.326127754%    0.001063593%
1    1    12    4.666667    1889.200000    1883.235820    0.315698720%    0.000996657%
1    1    13    5.000000    2112.000000    2105.504392    0.307557201%    0.000945914%
1    1    14    5.333333    2344.200000    2337.243239    0.296764813%    0.000880694%
1    1    15    5.666667    2585.700000    2578.272414    0.287256308%    0.000825162%
1    1    16    6.000000    2836.300000    2828.426013    0.277614746%    0.000770699%
1    1    17    6.333333    3095.500000    3087.550348    0.256813169%    0.000659530%
1    1    18    6.666667    3364.200000    3355.502436    0.258532893%    0.000668393%
1    1    19    7.000000    3641.200000    3632.148745    0.248578900%    0.000617915%
1    1    20    7.333333    3926.800000    3917.364140    0.240293868%    0.000577411%
1    1    21    7.666667    4220.700000    4211.030994    0.229085371%    0.000524801%
1    1    22    8.000000    4523.000000    4513.038420    0.220242765%    0.000485069%
1    1    23    8.333333    4833.500000    4823.281620    0.211407466%    0.000446931%
1    1    24    8.666667    5152.200000    5141.661316    0.204547262%    0.000418396%
1    1    25    9.000000    5478.800000    5468.083253    0.195603917%    0.000382609%
1    1    26    9.333333    5813.300000    5802.457766    0.186507384%    0.000347850%
1    1    27    9.666667    6155.700000    6144.699402    0.178705879%    0.000319358%
1    1    28    10.000000    6505.900000    6494.726577    0.171742928%    0.000294956%
1    1    29    10.333333    6863.700000    6852.461278    0.163741456%    0.000268113%
1    1    30    10.666667    7229.100000    7217.828795    0.155914354%    0.000243093%
1    1    31    11.000000    7602.100000    7590.757484    0.149202403%    0.000222614%
1    1    32    11.333333    7982.500000    7971.178545    0.141828433%    0.000201153%
1    1    33    11.666667    8370.300000    8359.025834    0.134692500%    0.000181421%
1    1    34    12.000000    8765.400000    8754.235681    0.127368051%    0.000162226%
1    1    35    12.333333    9167.800000    9156.746736    0.120566154%    0.000145362%
1    1    36    12.666667    9577.400000    9566.499821    0.113811467%    0.000129531%
1    1    37    13.000000    9994.100000    9983.437795    0.106684997%    0.000113817%
1    1    38    13.333333    10417.900000    10407.505438    0.099775986%    0.000099552%
1    1    39    13.666667    10848.800000    10838.649335    0.093564866%    0.000087544%
1    1    40    14.000000    11286.700000    11276.817777    0.087556353%    0.000076661%
1    1    41    14.333333    11731.500000    11721.960666    0.081313848%    0.000066119%
1    1    42    14.666667    12183.100000    12174.029427    0.074452096%    0.000055431%
1    1    43    15.000000    12641.700000    12632.976929    0.069002360%    0.000047613%
1    1    44    15.333333    13107.000000    13098.757410    0.062886928%    0.000039548%
1    1    45    15.666667    13579.000000    13571.326411    0.056510708%    0.000031935%
1    1    46    16.000000    14057.800000    14050.640706    0.050927555%    0.000025936%
1    1    47    16.333333    14543.200000    14536.658248    0.044981515%    0.000020233%
1    1    48    16.666667    15035.300000    15029.338111    0.039652610%    0.000015723%
1    1    49    17.000000    15533.900000    15528.640438    0.033858608%    0.000011464%
1    1    50    17.333333    16039.000000    16034.526392    0.027892063%    0.000007780%
1    1    51    17.666667    16550.700000    16546.958113    0.022608632%    0.000005112%
1    1    52    18.000000    17068.800000    17065.898674    0.016997835%    0.000002889%
1    1    53    18.333333    17593.400000    17591.312038    0.011867869%    0.000001408%
1    1    54    18.666667    18124.300000    18123.163028    0.006273193%    0.000000394%
1    1    55    19.000000    18661.600000    18661.417283    0.000979109%    0.000000010%
1    1    56    19.333333    19205.200000    19206.041230    -0.004380220%    0.000000192%
1    1    57    19.666667    19755.200000    19757.002053    -0.009121917%    0.000000832%
1    1    58    20.000000    20311.300000    20314.267660    -0.014610882%    0.000002135%
1    1    59    20.333333    20873.700000    20877.806658    -0.019673837%    0.000003871%
1    1    60    20.666667    21442.300000    21447.588324    -0.024663044%    0.000006083%
1    1    61    21.000000    22017.000000    22023.582583    -0.029897730%    0.000008939%
1    1    62    21.333333    22597.900000    22605.759983    -0.034781916%    0.000012098%
1    1    63    21.666667    23184.800000    23194.091670    -0.040076557%    0.000016061%
1    1    64    22.000000    23777.900000    23788.549370    -0.044786841%    0.000020059%
1    1    65    22.333333    24376.900000    24389.105370    -0.050069410%    0.000025069%
1    1    66    22.666667    24982.000000    24995.732493    -0.054969548%    0.000030217%
1    1    67    23.000000    25593.100000    25608.404084    -0.059797695%    0.000035758%
1    1    68    23.333333    26210.100000    26227.093993    -0.064837573%    0.000042039%
1    1    69    23.666667    26833.100000    26851.776555    -0.069602674%    0.000048445%
1    1    70    24.000000    27462.000000    27482.426579    -0.074381250%    0.000055326%
1    1    71    24.333333    28096.800000    28119.019327    -0.079081343%    0.000062539%
1    1    72    24.666667    28737.400000    28761.530504    -0.083968990%    0.000070508%
1    1    73    25.000000    29383.800000    29409.936244    -0.088947802%    0.000079117%
1    1    74    25.333333    30036.100000    30064.213094    -0.093597686%    0.000087605%
1    1    75    25.666667    30694.100000    30724.338004    -0.098514061%    0.000097050%
1    1    76    26.000000    31357.900000    31390.288314    -0.103285979%    0.000106680%
1    1    77    26.333333    32027.400000    32062.041742    -0.108162828%    0.000116992%
1    1    78    26.666667    32702.600000    32739.576373    -0.113068604%    0.000127845%
1    1    79    27.000000    33383.600000    33422.870652    -0.117634562%    0.000138379%
1    1    80    27.333333    34070.100000    34111.903366    -0.122698103%    0.000150548%
1    1    81    27.666667    34762.400000    34806.653643    -0.127303188%    0.000162061%
1    1    82    28.000000    35460.200000    35507.100937    -0.132263600%    0.000174937%
1    1    83    28.333333    36163.700000    36213.225020    -0.136946772%    0.000187544%
1    1    84    28.666667    36872.700000    36925.005974    -0.141855557%    0.000201230%
1    1    85    29.000000    37587.300000    37642.424184    -0.146656408%    0.000215081%
1    1    86    29.333333    38307.400000    38365.460328    -0.151564261%    0.000229717%
1    1    87    29.666667    39033.100000    39094.095369    -0.156265757%    0.000244190%
1    1    88    30.000000    39764.200000    39828.310550    -0.161226806%    0.000259941%
1    1    89    30.333333    40500.800000    40568.087384    -0.166138406%    0.000276020%
1    1    90    30.666667    41242.900000    41313.407649    -0.170957060%    0.000292263%
1    1    91    31.000000    41990.400000    42064.253382    -0.175881588%    0.000309343%
1    1    92    31.333333    42743.300000    42820.606870    -0.180863130%    0.000327115%
1    1    93    31.666667    43501.600000    43582.450646    -0.185856719%    0.000345427%
1    1    94    32.000000    44265.300000    44349.767483    -0.190820988%    0.000364126%
1    1    95    32.333333    45034.400000    45122.540385    -0.195717907%    0.000383055%
1    1    96    32.666667    45808.800000    45900.752588    -0.200731274%    0.000402930%
1    1    97    33.000000    46588.800000    46684.387547    -0.205172803%    0.000420959%
1    1    98    33.333333    47373.500000    47473.428937    -0.210938472%    0.000444950%
1    1    99    33.666667    48163.800000    48267.860644    -0.216055719%    0.000466801%
1    1    100    34.000000    48959.400000    49067.666764    -0.221135806%    0.000489010%
2    2    2    2.000000    476.400000    474.766884    0.342803599%    0.001175143%
3    3    3    3.000000    924.900000    921.567675    0.360290346%    0.001298091%
4    4    4    4.000000    1472.900000    1467.913618    0.338541805%    0.001146106%
5    5    5    5.000000    2112.000000    2105.504392    0.307557201%    0.000945914%
6    6    6    6.000000    2836.300000    2828.426013    0.277614746%    0.000770699%
7    7    7    7.000000    3641.200000    3632.148745    0.248578900%    0.000617915%
8    8    8    8.000000    4523.000000    4513.038420    0.220242765%    0.000485069%
9    9    9    9.000000    5478.800000    5468.083253    0.195603917%    0.000382609%
10    10    10    10.000000    6505.900000    6494.726577    0.171742928%    0.000294956%
11    11    11    11.000000    7602.100000    7590.757484    0.149202403%    0.000222614%
12    12    12    12.000000    8765.400000    8754.235681    0.127368051%    0.000162226%
13    13    13    13.000000    9994.100000    9983.437795    0.106684997%    0.000113817%
14    14    14    14.000000    11286.700000    11276.817777    0.087556353%    0.000076661%
15    15    15    15.000000    12641.700000    12632.976929    0.069002360%    0.000047613%
16    16    16    16.000000    14057.800000    14050.640706    0.050927555%    0.000025936%
17    17    17    17.000000    15533.900000    15528.640438    0.033858608%    0.000011464%
18    18    18    18.000000    17068.800000    17065.898674    0.016997835%    0.000002889%
19    19    19    19.000000    18661.600000    18661.417283    0.000979109%    0.000000010%
20    20    20    20.000000    20311.300000    20314.267660    -0.014610882%    0.000002135%
21    21    21    21.000000    22017.000000    22023.582583    -0.029897730%    0.000008939%
22    22    22    22.000000    23777.900000    23788.549370    -0.044786841%    0.000020059%
23    23    23    23.000000    25593.100000    25608.404084    -0.059797695%    0.000035758%
24    24    24    24.000000    27462.000000    27482.426579    -0.074381250%    0.000055326%
25    25    25    25.000000    29383.800000    29409.936244    -0.088947802%    0.000079117%
26    26    26    26.000000    31357.900000    31390.288314    -0.103285979%    0.000106680%
27    27    27    27.000000    33383.600000    33422.870652    -0.117634562%    0.000138379%
28    28    28    28.000000    35460.200000    35507.100937    -0.132263600%    0.000174937%
29    29    29    29.000000    37587.200000    37642.424184    -0.146922846%    0.000215863%
30    30    30    30.000000    39764.200000    39828.310550    -0.161226806%    0.000259941%

Total error: 0.050609609%
Total error^2: 0.000308880%

The bounds I used were t in [1.7, 1.8], and I performed 10000 iterations. WE could of course use more data, but at this point I am not sure if we can get any better, given the precision of double.

AuoroP
Offline
Last seen: 4 months 4 weeks ago
Joined: 06/28/2013 - 22:32
Thanks to ThyLordRoot!

Thanks to ThyLordRoot for his work! I know how time consuming it can be to obtain experimental data. I'm curious how you have obtained actual values with more than one decimal place because that is all I could get the game to tell me.

I had an insight while I was refining this morning. 1.0007 almost fit the first value but underestimated the rest. 1.000701 fit the first perfectly and was much closer but still underestimating. 1.0007013 fit the first 12 perfectly and then overestimated. 1.00070129 was a worse fit. 1.000701305 fit the first 50 perfectly and I gave up before finding an error and the reason relates to something you said: "WE could of course use more data, but at this point I am not sure if we can get any better."

I think 100 samples might be an adequete number but the ones you have are all clustered together and don't cover more interesting parts of the curve. I just have no idea where 1% or 10% loss happens; answering that question is one of the reasons I'm trying to get my head around how power regeneration works.

Trafalgar
Offline
Last seen: 1 week 3 days ago
Joined: 06/27/2013 - 00:16
It appears that CyaNox has

It appears that CyaNox has the correct numbers.

Tested with this on my TI-89 to represent the power structures in the construction I'm working on currently:
{179*3, 178*3, 177*3, 176*3, 42, 5} -> x: (1/(1+(1.000696)^(sum(-(x/3)^(1.7))*.333))-.5)*2000000+25*(sum(x)-2*dim(x))

(Where 42 indicates a 40 long, 2 wide, 1 high line, and 5 indicates a 3x1x1 line, and the others are 3d and go an equal distance in all directions, but none of them have non-optimal (wasted) blocks)
Result: 1050057.1038168.
StarMade's build mode says: 1050057.1 e/sec.
Verdict: Magnificent.
(Also worked for small amounts of power generators, etc.)

Seamus Donohue
Offline
Last seen: 2 months 3 weeks ago
Joined: 12/19/2012 - 06:26
CyaNox equation

I'm sorry, I'm getting confused, here.  It may be because I'm not familiar with the TI-89.

What does this mean?  "{179*3, 178*3, 177*3, 176*3, 42, 5} -> x:"  Is your calculator taking "179*3", converting that into 537, putting 536 into the expression for "x", spitting out a result, and then moving on to the next input "178*3"?  Is your calculator spitting out a list of 6 outputs?

How are you defining "sum(x)" and "dim(x)", here?  I'm especially confused by "sum(-(x/3)^(1.7))".  In my mind, "sum(1,2,3,4,5) = 15", but I see no commas inside the parentheses in your equation.

I was under the assumption that different power generator groups had nothing to do with each other so long as they didn't directly connect, diagonals not counting.  (If they don't directly connect, then they're different power groups, by definition.)  The total power generation of the ship is merely the sum of the regenerations of the different power groups, whatever the calculation for each power group happens to be.  Is that correct or wrong?

I'm trying to put this into a spreadsheet to test it against my data, but I can't understand the formula enough to get my spreadsheet to understand it.  Thank you in advance.

Solar
Offline
Last seen: 3 months 2 weeks ago
Joined: 07/16/2013 - 05:54
What is the efficiency difference...

I can't math so I prefer staggering power blocks with each block being "unique" as above. What's the efficiency difference between doing this overall or on massive ships amassing power storage?

XOXOX
OXOXO
XOXOX
OXOXO
XOXOX

And alternating for the next level on the grid such that the power blocks never touch:

OXOXO
XOXOX
OXOXO
XOXOX
OXOXO

In a 5x5x5 this gets me 8873e/s using 63 power blocks.

In the setup I have on my ship (16000 mass) as far as cloaking and jamming is concerned I amassed power storage, which is all linked giving me roughly 7-10 seconds of cloak/jam... which I don't believe is too shabby for a ship that size. I'm not keen on how many storage blocks I have, but each additional adds another ~3,000 power storage which seems a lot better per space than adding additional power generators (140e/s).

I suppose what I'm really getting at is: at which point is power storage more efficient that power generation on larger scales?

MrFURB
Offline
Last seen: 52 min 56 sec ago
Joined: 01/31/2013 - 20:26
The box dimension bonuses for

The box dimension bonuses for energy regen stop at 1,000,000 bonus, not ocunting the stable 25 energy regen per block. Once each regen block you place only gives you 25 regen, then it's better to dump space into storage because if you can get enough storage it can last you through a whole fight. I've seen projects easily get quite a few million energy storage.

Solar
Offline
Last seen: 3 months 2 weeks ago
Joined: 07/16/2013 - 05:54
Quite a few

...but that 1 million doesn't prevent you from having multiple box dimensions I would imagine... which makes the former really inefficient for the space, depending on how many blocks it takes to make a box or boxes with that amount of regen.

What I'm running has 121 million power capacity, but I think the 12,000 blocks that I put into power generators is running pretty poorly for the space considering I have only 1.2mil e/s. Single block generators still suffer from diminishing returns in higher numbers.

Since the idea of having massive energy output is generally geared towards cloaking/jamming permanence isn't really an option when you need 24 million regen to stay cloaked permanently, but I've been doing it all wrong sooooo maybe? (the goal I had was 30 seconds).

TangentialThreat
Offline
Last seen: 4 months 1 week ago
Joined: 06/28/2013 - 02:48
Some of both

You really, really want enough power regen to run the thrusters constantly. A very massive ship that doesn't have any power past 1.2 million is going to be kind of slow.

A reasonable compromise is to have enough power to accelerate or shoot but not both at the same time, and after that you want to connect enough storage to carry you through rough spots where you need to do both for a few seconds.

Zaflis
Offline
Last seen: 2 weeks 2 days ago
Joined: 07/05/2013 - 16:22
.

All you need to know about power regeneration, is that: "When you add 1 power block to power group, it must increase the overall size of the group in X, Y or Z direction." By doing so, your energy regen will grow at exponential rate. 1 large group is much more power than 2 equal sized groups side-by-side. This means that these are both valid formations, since each block increases dimensions:

xxxxx
..x
..x

xxx
....x
....x
....xxxxx
...........xx
.............xx

Offline
Last seen: 3 months 3 weeks ago
Joined: 07/21/2013 - 03:44
and people wonder why I put

and people wonder why I put 'wings' on my ships.... to hold large box dimension arrays, of course!

vovik ukr
Offline
Last seen: 2 months 1 week ago
Joined: 07/18/2013 - 23:21
.

tell me why i spent 15 min and figured this out my self than i saw this thread -.-

Yeppol
Offline
Last seen: 2 weeks 2 days ago
Joined: 07/09/2013 - 01:10
Hi and thanks for the formula,

Can somebody explain this problem please :

"I have got a ship with 1 line of 12 powerblocs (12*1*1) which give 1889.2 e/sec,

and an other one with 72 lines (which are not in contact) of 12 powerblocs which give 135527.0 e/sec,

or 1889.2 * 72 = 136022.4 =/= 135527.0"

This is a 0.004% difference but I would like to understand why it appears (an approximation in the formula ?).

DracoNB
Offline
Last seen: 10 hours 21 min ago
Joined: 06/24/2013 - 04:27
Its how the formula works,

Its how the formula works, its not linear and takes into account all blocks placed, not just each group.

Yeppol
Offline
Last seen: 2 weeks 2 days ago
Joined: 07/09/2013 - 01:10
ok,

I understood it with  " + 25 * number_of_blocks", but this part of the formula is linear

so how does the formula deal with the fact that there are several "volumes" of blocks which are not in contact ?

what means "BoxDimXSize + BoxDimYSize + BoxDimZSize" if there are several volumes of powerblocks which are not in contact please ?

Outbreak
Offline
Last seen: 1 month 1 week ago
Joined: 10/22/2013 - 21:20
Penalty for multiple generators

So im having an issue and since this seems to be where all the major experts on power generation have gathered I'll pose my question here.

So im trying to build a stealth ship that has ~1mil regen. So i build a generator and have 220k e/sec. cool, so ill just build 4 more of the same dimension. *5 more later* ok so i have 6 now, and im at 880k (220 * 6 != 880?) huh... ill add 1 more. *1 more* 930k, how did i only add 50k? what the heck is going on...

trying to be helpfull before i post this i run some tests. i place a ship core and build 1 generator

1x1x200 = 1522463.8 e/sec

the another 1x1x200 = 298650.8 (1522463.8 X 2 = 304927.6)

then another 1x1x200 = 433309.1 (1522463.8 X 3 = 457391.4)

So its now clear we are suffering some sort of penalty. So i try one more test to try and differentiate are we reciecing this penatly for : A. the number of generators we have or B. the amount of power they're generating

build a new ship core and use smaller generators

X2 = 7853.4

X3 = 11779.9

X4 = 15706.2

X5 = 19632.2 (3926.8 X 5 = 19634)

what i hypothesize after this test is that generators suffer a penalty to how much they generate relative to how much power is already being generated. I believe it to be relative to how much, rather than how many, since the penalty recieved while testing with the many smaller generators was so small while the penalty with just a couple huge generators was so much higher.

If anyone knows where i might find more info on this please let me know since i didnt see it browsing the wiki or the forums, and if its a new problem I hope all these local math enthusiasts can help me crack it open

Trollerbobman
Online
Last seen: 2 min 22 sec ago
Joined: 06/24/2013 - 09:13

Pls, this thread died 3 months ago.

Outbreak
Offline
Last seen: 1 month 1 week ago
Joined: 10/22/2013 - 21:20
So

Eh, I figured I'd try sticking to a relative thread. Would you prefer I make a new one? Way i see it it's too late to go back now, I've used my powers of necromancy!

DracoNB
Offline
Last seen: 10 hours 21 min ago
Joined: 06/24/2013 - 04:27
If you look at the formula

If you look at the formula you will notice that yes, it does reduce the effectiveness of power generation around 1 million, and at a certain point the bonus you previously got is reduced to nothing and all you get is the 25 boost from each block placed (no matter where it is)

Yeppol
Offline
Last seen: 2 weeks 2 days ago
Joined: 07/09/2013 - 01:10
@DracoNB

Our problem with Outbreak is that we don't understand how we can calculate the energy generation of several separated groups with the formula.

so how does the formula deal with the fact that there are several "volumes" of blocks which are not in contact ?

what means "BoxDimXSize + BoxDimYSize + BoxDimZSize" if there are several volumes of powerblocks which are not in contact please ?

can you use an example please ?

Trafalgar
Offline
Last seen: 1 week 3 days ago
Joined: 06/27/2013 - 00:16
Hey, how come my subscripts look like normal text. :<

I'll check back tomorrow, but see if this makes sense once you've read through it:

((1/(1+(1.000696)^(-((XS*.333))-.5)*2000000)+25*B

Where B is the number of power blocks in the entire ship, and XS is what you get when you add the following for every generator (collection of connected power blocks) in the ship:

Xn = (Nn/3)^1.7. For each generator, Nn is the width + height + length in blocks of the generator*. If you have some number of generators with the exact same dimensions, you can remember that the sum of all of their Xn values would be the number of generators with identical Nn values multiplied by their (also identical) Xn value.

* You want the actual dimensions. If it curves back on itself like a snake but is only three blocks wide at its widest, you're using 3 for the width.

XS = sum of all Xn

And the equation that you put XS into again is

((1/(1+(1.000696)^(-XS*.333))-.5)*2000000)+25*B

So if you just have one ship with ten 1x1x200 generators and a 25x25x25 cube, you could do the 25x25x25 cube like this:

X0 = (N0/3)^1.7, where N0 = (25+25+25), so X0 = 237.956742339

and then one 200-length generator as X1, and just add it to XS 10 times (multiply by ten).

X1 = (N1/3)^1.7, where N1 = (200+1+1), so X1 = 1282.30458472

XS = X0 + 10*X1 = 13061.0025895

To calculate B (total number of power blocks), just multiply the block dimensions together. 200x1x1 generators are 200 blocks each, and the 25x25x25 is going to be 25*25*25. With ten of the 200x1x1s, B will be:

B = 200*10 + 25*25*25 = 17625

Now to solve the final equation:

((1/(1+(1.000696)^(-((XS*.333))-.5)*2000000)+25*B

Plug in the values we calculated:

((1/(1+(1.000696)^(-13061.0025895*.333))-.5)*2000000)+25*17625

Result: 1,348,101.12242

Note that the result may be slightly different from what starmade gives, despite using the exact same equations, particularly for numbers in the millions or above. Might be due to using different precision data types? Hard to say.

P.S. I used google's calculator this time, but if you do this in a spreadsheet or the like, you're much less likely to make a mistake. I had to double check everything after I noted that the result was too low, as I had made several mistakes, likely due to being quite tired. What I mean is, you can set it up to have number of generators, width, height, and length fields, and take from those to generate values that it automatically plugs into formulas to generate a result for you. Then you only have to worry about getting the equations and math right once.