diff --git a/gorge.js b/gorge.js index 32a7d3b..2818f1a 100644 --- a/gorge.js +++ b/gorge.js @@ -14,6 +14,8 @@ let updateRate = 60; let currentProductivity = {}; +let lastTime = 0; + function calculateProductivity() { let productivity = 0; for (const [key, value] of Object.entries(belongings)) { @@ -72,8 +74,13 @@ function buyBuilding(type) { // update stuff function updateDisplay() { + + let newTime = performance.now(); + let delta = newTime - lastTime; + lastTime = newTime; + updateProductivity(); - addResources(); + addResources(delta); displayResources(); displayBuildings(); displayUpgrades(); @@ -85,11 +92,12 @@ function updateProductivity() { currentProductivity["food"] = calculateProductivity(); } -function addResources() { - resources.food += currentProductivity["food"] * 1 / updateRate; +function addResources(delta) { + resources.food += currentProductivity["food"] * delta / 1000; } function displayResources() { + document.title = "Gorge - " + round(resources.food) + " food"; document.getElementById("resource-food").innerText = "Food: " + render(resources.food); document.getElementById("productivity").innerText = round(calculateProductivity(), 1) + " food/sec"; @@ -512,5 +520,7 @@ function buildingTooltipRemove() { window.onload = function() { setup(); + lastTime = performance.now(); + setTimeout(updateDisplay, 1000/updateRate); }