Difference between revisions of "Energy Management"

From Robowiki
Jump to navigation Jump to search
(Started rewriting page (NEEDS TO BE COMPLETED!))
Line 1: Line 1:
 
{{stub}}
 
{{stub}}
Energy Management is the art of conserving power to improve overall survival. Some of the more common methods are:
+
Energy Management is the art of conserving power to improve overall survival. Some of the most common methods are:
  
 
* Fire low power bullets at long distances.
 
* Fire low power bullets at long distances.
Line 6: Line 6:
 
* Reduce fire-power (or not fire at all) when the bot energy is low.
 
* Reduce fire-power (or not fire at all) when the bot energy is low.
  
==Explanation==
+
== Explanation ==
Energy Management is extremely easy to implement in almost any bot. Nanobots may not want to use Energy Management methods, since they have such strict [[Code_Size]] requirements.
+
Energy Management is extremely easy to implement in almost every bots. NanoBots may not want to use Energy Management methods since they have such strict [[Code Size]] requirements.
  
===Save Energy for Short Distances===
+
=== Save energy for short distances ===
Saving Energy for Close Range Combat is a smart thing for two reasons:
+
Saving energy for close range combat is a smart thing for two reasons:
 
* Powerful shots take longer to move and
 
* Powerful shots take longer to move and
* Higher Hit Average.
+
* Higher hit rate average.
  
===Reducing Firepower for Killing===
+
=== Reducing the firepower when enemy energy is low ===
Reducing Firepower to use just enough energy to kill an opponent would save a vast amount of energy. Instead to firing full power at a robot with an energy reading of 3.0, you could shoot at with 1.0 energy.
+
Reducing the firepower to use just enough energy to kill an opponent would save a vast amount of energy. Instead of firing full power at a robot with an energy reading of 3.0, you could shoot at with 1.0 energy or even 0.75.
  
The Formula for Energy Used/Damage Inflicted is <code>4*(2*(power-1))</code>,
+
The formula to calculated the damage to enemy robot for given firepower is <code>4 * power + max(0, 2 * (power - 1) )</code>, where ''power'' is a value between 0.1 and 3. But usually, for some reasons, we do not really care about <code>max(0, 2 * (power - 1)</code> and just fire at power <code>enemyEnergy / 4</code>.
where ''power'' is a '''double''' greater than 1, and <code>4*(power)</code>,
 
where ''power'' is a '''double''' less than or equal to 1. So the Minimum Damage you can do is 0.4 ('''4*(0.1)''') and the Maximum Damage you can do is 16.0 ('''4*(2*(3.0-1))''').
 
  
==Related==
+
== See Also ==
  
*[[Selecting Fire Power]]
+
* [[Selecting Fire Power]]
*[[When To Fire]]
+
* [[When To Fire]]
 +
 
 +
__NOTOC__
 +
 
 +
<!-- Category request! Nat: I don't know which category it should be in so if you know, please add correct category and removes this comment ->

Revision as of 13:10, 20 May 2009

This article is a stub. You can help RoboWiki by expanding it.

Energy Management is the art of conserving power to improve overall survival. Some of the most common methods are:

  • Fire low power bullets at long distances.
  • Never fire bullets with a power higher than the necessary to kill the enemy.
  • Reduce fire-power (or not fire at all) when the bot energy is low.

Explanation

Energy Management is extremely easy to implement in almost every bots. NanoBots may not want to use Energy Management methods since they have such strict Code Size requirements.

Save energy for short distances

Saving energy for close range combat is a smart thing for two reasons:

  • Powerful shots take longer to move and
  • Higher hit rate average.

Reducing the firepower when enemy energy is low

Reducing the firepower to use just enough energy to kill an opponent would save a vast amount of energy. Instead of firing full power at a robot with an energy reading of 3.0, you could shoot at with 1.0 energy or even 0.75.

The formula to calculated the damage to enemy robot for given firepower is 4 * power + max(0, 2 * (power - 1) ), where power is a value between 0.1 and 3. But usually, for some reasons, we do not really care about max(0, 2 * (power - 1) and just fire at power enemyEnergy / 4.

See Also