How can I model a "weapon overheating" mechanic? I want to create a weapon overheating system very similar to the plasma rifle in Halo. You can watch a video of the plasma rifle firing. What I want to do is to create a flexible logic that can be used for multiple weapons for different in game feelings. Here is my proposed system Create a bar that is split from 0 100. Each bullet has a heat value as an integer. Every bullet adds this value to the bar. The bar has a cooldown set as some value per second. If the bar goes over 100 with any bullet fire the bullet still shoots but then the weapon is deactivated for a period defined as it's "cooldown." Now this system is very simple but visually it will be very linear, with a simple growth and decay. I wanted to try to create a more exponential system that would mean the bar would jump quickly to the middle then remain and hover near the top hot bit of the bar for a long period to create a sense of anticipation just before it overheats. What would be a good formula to achieve that result?