The hud elements have a battery/ram value as well as a batteryMax/ramMax value. They both should be kept up to date and set directly, like this: hud.elements.batteryMeter.battery = currentNode.battery; No extra math needs to be done. Then, the hud.update() should still be called every frame since the HUD contains other elements that need to be updated even if the battery/ram remain static.