Loading...
  OR  Zero-K Name:    Password:   

Overdrive in Energy Deficit

47 posts, 1807 views
Post comment
Filter:    Player:  
Page of 3 (47 records)
sort
7 years ago
Watching zero-k matches, I notice sometimes player have less energy production than metal production for prolonged periods of time. In those cases, they still get overdrive. I would expect the game to consider that situation to be a time to NOT overdrive, since it slows things down instead of speeding things up. If you have too little energy and too much mass, then you need to stop spending energy on mass, since that makes the ratio worse and reduces your spending power.
+1 / -0

7 years ago
It depends how much BP player is using. If player using only half e then i dont see any reason that spare e is going to overdive because its just lost. But if overdrive is going up when i have e stall then it isnt right.
+1 / -0
Overdrive amount is proportional to how much stored energy you have. If you have 0 energy, no overdrive will happen, but if your e storage is full, all excess energy will be used for OD (if possible). This scaling makes a lot of sense in the general case.

If this behavior is not what you want at times, you can set an energy reserve to stop OD at higher energy levels.
+2 / -0

7 years ago
Energy reserve stops more than overdrive, and is absolutely the wrong solution here. I agree that this is dumb behavior since every usage of energy is more efficient than OD, making OD at less than full storage a universally bad decision.
+2 / -0
Skasi
I feel like ZK has always been managing energy a bit bad. Low energy storages (as in near-empty, not as in low-maximum-capacity) should be respected more. Similarly people with 0 energy structures shouldn't be punished for not building solars while grids are red.
+2 / -0
7 years ago
Just asking, if the Mex is not connected to the grid, and the 4Windgens surrounding at are running at 2.5, will the mex go into overdrive?
+0 / -0
Indeed when you are low on energy and can't build further generators, turning off OD would be beneficial. Then, it can also be beneficial to not link grids. In some situations, however, you want OD even if you are low on energy because more energy is easier to get than more metal.

A gui button to turn OD on and off globally could solve that. But this would be more complicated than usefull.

I think the current implementation is not perfect for any situation, but good on average. Maybe you can find an algorithm that is better on average, if you consider the need for metal and energy and the probability distribution of future income.

quote:
Just asking, if the Mex is not connected to the grid, and the 4Windgens surrounding at are running at 2.5, will the mex go into overdrive?
Nothing can contribute to OD when it is not connected. If the windgens are connected to the mex, they do form a grid and contribute, of course. But they will only do, if your energy reserve is more than zero and if there is not a more efficient mex to overdrive.
+1 / -0

7 years ago
quote:
In some situations, however, you want OD even if you are low on energy because more energy is easier to get than more metal.


Wrong, because repair, reclaim and resurrect are all still more efficient than OD. Also if you run out of energy you won't be able to spend your metal and all your energy consuming stuff like cloak, shields and radar get disabled, which again is useless. This is why all energy should go to storage/allies before it ever goes to OD so that you maintain a buffer that can be used for all of those more efficient things. It's even more important not to waste energy on OD if that energy comes from wind, since the output is inconsistent so can't even count on having sufficient energy in the future just because you currently do.

The fact that people tend to build energy inconsistently and shift between estall and espam again only makes the current system worse. You may have sufficient energy but then you build mexes and drain it, and if energy was being dumped into OD then the buffer you have to subsist on during that time is reduced.

quote:
I think the current implementation is not perfect for any situation, but good on average. Maybe you can find an algorithm that is better on average, if you consider the need for metal and energy and the probability distribution of future income.


You don't need anything as absurd as a 'probability distribution of future energy income' if no energy is wasted on OD unless all other energy sinks are saturated first. All that needs to be considered is if energy storage is full and if there's anything left after expenditures are satisfied then 100% of it goes to OD. It's also dramatically more predictable than the current system.
+2 / -0
7 years ago
I've seen people with mass in storage and energy going down, while overdriving. I honesntly expected something like, at 50% energy, slow down and stop overdrving, try to maintain 50% energy (so that sudden influx or spending won't result in issues)

Also, at zero energy storage, overdrive occulates between 0 and 0.1, with 0 and 0.4 consumed. And mass keeps filling up.


That said, I understand a bit of it. more metal is almost always better than more energy, since you can always expand energy but expanding mass takes time and territory. Still, i am not sure the exact behavior I want.


Also, overdrive has an effect on how much metal can be spent, in both directions. Overdriving energy that you need to spend mass slows you down. At zero mass, overdriving can increase how much you can spend (and increase energy demand, so requires calculus or a loop to get the ideal position)


I think. Its complex enough I can't do the math in my head at least.
+1 / -0
Skasi
7 years ago
As far as I know overdrive does not currently take metal storage into account. I see that as a problem. Players can be excessing metal and low on energy, but overdrive will still be active.
+0 / -0
7 years ago
Repair,Reclaim,Ressurect relies a lot on energy, and to Overdrive can really screw things up.

I agree with Aeonios.

Repair is more energy efficient though, since it gives 100% metal at 50% energy cost instead of just building a new unit. However it seems to drain energy and if I overdrive, it tends to waste the energy on meaningless projects.
More often than not, doing the 3R's is more efficient than building a new unit.


Maybe something new:

If a mex is not connected to the rest of the grid, but it has it's own energy producers, it will start Overdriving the mex if any other actions are getting fulfilled.
+0 / -0

7 years ago
quote:
If a mex is not connected to the rest of the grid, but it has it's own energy producers, it will start Overdriving the mex if any other actions are getting fulfilled.


That's pointless because the OD system tries to distribute energy so that you get the maximum amount of metal possible for the energy invested. I don't think that can be improved.

quote:
At zero mass, overdriving can increase how much you can spend (and increase energy demand, so requires calculus or a loop to get the ideal position)


As long as all energy expenditures are subtracted first then it wouldn't become significantly imbalanced, although minimizing fluctuations in OD income probably would require something like that.
+0 / -0
Here is how it is currently:
energy for OD = energy rate * energy storage / max storage.
Note that "energy for OD" is only the provided energy. What is actually used is also limited by the grid.

USrankaeonios only wants to spend energy on OD if storage is full:
energy for OD = energy rate * [energy storage / max storage],
where [x] is rounding down.
A compromise that considers metal storage as Skasi wants would be either applying the same as currently only on that part of stored energy that exceeds stored metal
energy for OD = energy rate * abs(energy storage - metal storage) / (max storage - metal storage),
where abs(x)=x if x>=0, abs(x)=0 if x<0, or using all energy that exceeds current metal for OD:
energy for OD = energy rate * theta(energy storage - metal storage),
where theta is Heavyside's step function, theta(x)=1 if x>=0, theta(x)=0 if x<0. Those are rather quick fix ideas than ideal solutions, though.
+0 / -0

7 years ago
quote:
where [x] is rounding down.


We call that "floor" in fancy programming terms.

quote:
energy for OD = energy rate * abs(energy storage - metal storage) / max storage,


False. Abs would return greater than zero when metal stored is greater than energy stored. Also that might not correctly distribute energy to OD if energy storage is full.
+0 / -0
I defined abs(x)=0 if x<0. Otherwise I would use |x|. You're right that abs is also often used for |.|, though. My formulas are rather mathematic here. As a programmer, you would express that with if and else.

Indeed I had to correct my 3rd formula for the case of full energy storage. The corrected one is now mathematically not defined in the case of full metal storage. You would have to account for that when coding it, but the code would look differently anyway.
+1 / -0
quote:
All that needs to be considered is if energy storage is full and if there's anything left after expenditures are satisfied then 100% of it goes to OD.

That's a very dumb solution because OD is more efficient the less energy you use.

You'd require a player low on metal to have full storage to start OD'ing. But as soon as he starts OD'ing, he can spend more metal, so he may dip below full energy storage. You'll have him flipping back and forth between 0 OD and 100% OD, which is terrible because spending energy on OD in a more granular fashion is way more efficient.

That's (in my eyes) a very strong suit of the current system: The energy spent on OD doesn't jump around like crazy (unless your energy spending does), so it's getting optimal OD returns.

I could get the DErankBrackman suggestion with subtracting available metal from available energy before using it to calculate the ratio of energy invested into OD. That sounds like it would make sense (but it still needs to be tested in practice).
+2 / -0


7 years ago
USrankRanakastrasz you're going to have to post replays because you sound you have a bug. The rest of the people in this thread don't know how overdrive works and seem to be able to make theorems and equations to match any complaint.

A simple test disproves this equation:
quote:
Here is how it is currently:
energy for OD = energy rate * energy storage / max storage.

The energy for OD is actually only your energy net (after cloaker, construction etc...) in proportion to your current storage.
+1 / -0
7 years ago


Minute 4 to Minute five, watch the overdrive on Gajop. His energy drops to zero, and then he gains +0.0 overdrive which occulates on and off, then a bit later, its +0.1 and -0.0. Sure, its a minor amount, but it shouldn't be greater than zero, and implies something went wrong.

If he suddenly had more energy, I could understand it, sort of, but given he has less energy generation than mass generation, and mass is building up, I still can't think of how it could be justified.

http://zero-k.info/Battles/Detail/437359

Presumably this is the replay.

+0 / -0

7 years ago
quote:
You'd require a player low on metal to have full storage to start OD'ing. But as soon as he starts OD'ing, he can spend more metal, so he may dip below full energy storage. You'll have him flipping back and forth between 0 OD and 100% OD, which is terrible because spending energy on OD in a more granular fashion is way more efficient.


Again, energy can be used for more than just OD, and can also be used for things which do not produce metal directly and yet are still more efficient than OD, like repair. Preventing OD from eating into your stored energy or fluctuating wildly is a separate problem (which may not actually exist, since OD only counts net energy which includes energy spent to spend the extra metal income).

quote:
I could get the DErankBrackman suggestion with subtracting available metal from available energy before using it to calculate the ratio of energy invested into OD. That sounds like it would make sense (but it still needs to be tested in practice).


That was actually skasi's suggestion. Also it has different issues, namely that if stored metal is high it would only allow small amounts of OD even if energy > metal and energy was near full.

Another point is that your energy bar generally doesn't take long to fill, and would fill even faster if energy was not being taken out for OD.
+0 / -0
7 years ago
The issue is only the case of overdrive at zero energy. When overdrive should start and how much isn't as important. At zero energy stored, you have an energy stall, and your mass is increasing. In that case, and ONLY that case, do I see this as a direct problem, sindce it makes the energy stall worse and slows down production, as well as making it easier to reach a metal glut.

The only justification I can think of is that, to get a 0.1 metal, you barely have to spend any energy at all.

Assuming 6 metal extractors with 2.0 each, I think its something like 0.0066, assuming my quick and crappy math worked correctly.
Tiny amount, but probably worth it, kinda.

But, if that was the case, it shouldn't be occulating between 0 and 0.1. It should stay at 0.1 or stay at 0.


Spending 0.1 energy wouldn't have a huge effect on your production, and give disproportionally more mass, all things considered.


Its the Occulating that I am concerned about. After all, Granularity means that, like was said earlier, means that maintaining a constant value instead of jumping to a high value then a low value gets you more mass per energy overall.
+0 / -0
Page of 3 (47 records)