Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines
(+1)

A couple of QOLs

The "Game by...." info in the bottom left corner sometimes (especially out of full screen mode) covers up things you might want to click for now that's my nuclear stuff

Engineers aren't particularly smart, it'd be nice if they were able to purchase a store of consumables to ride out price peaks. Quantity to buy = profit/price * need, this means if the price is low and you get 2$ of electricity for each 1$ of coal and you use 20 units of coal per second your engineers would buy 40 units of coal, as the price per unit goes up the amount of surplus they buy goes down and if the price goes too high you don't end up with an instant crash of electric and population. Would be happy if that was a research.

Stock market manipulation, it's clear that over time the cost of materials goes up, I think I've seen that it's related to the total amount you've purchased, could you also link it to time? a big purchase a long time ago should have less impact on cost of materials than a small purchase a few seconds ago... You could simulate a coal supply rather than arbitrary prices, long term coal producers would know to produce around the same amount of coal as is used too much and the price crashes too little and no-one can afford to buy it and make a profit, so have the amount mined fluctuate around the rate the player uses (from 50% to 150%) perhaps smoothed so if you double coal usage coal supply speed doesn't double instantly and then use this hidden supply variable to set the price, the more supply is available the cheaper the resource, players could then manipulate the market to a degree making for some more active play fun, for realism iron cost could depend on coal supply since smelting, and uranium and oil mining speed could similarly be dependant on coal and iron supply, and electricity cost/availability as they're resources used in building the supply line

Thanks for the comments! 

The "Game by..." info shouldn't cover stuff; if it does, the layout broke. I will look into it. 

The idea about engineer improvement is nice, thanks! Might include it in future. 

Stock market manipulation is already a research, but maybe some added complexity won't be bad. Thanks for the ideas! 

Regarding the layout issue: I have the same issue in my game when not in full screen. I have to switch to full screen to see everything without overlaps. (Ever program with Tk? Even though it's layout engine works hard to avoid this kind of issue, it's not an easy problem to detect or correct..)

That info thing only happens on the Power and Alternat Tabs, I think it's cause the power station stuff isn't scaling... I have to scroll to see it all.

And I get that theres's a research but as far as I can tell that's not a way to "actively" play the game, that's a click the button and done... my suggestion was that the player could manipulate the stock market through their actions within that section of the game, or ignore it if it doesn't interest them. I think I may have also worked out how to implement it in sudo code:

//HR = HiddenResource
HRAmmount += HRSpeed
HRSpeed += HRAcceleration/10 * PlayerUsageHR
If HRSpeed < 0.5 * PlayerUsage then HRSpeed = 0.5 * PlayerUsageHR
If HRSpeed > 1.5 * PlayerUsage then HRSpeed = 1.5 * PlayerUsageHR
//HRSpeed is capped between 0.5 and 1.5x Player Usage
HRAcceleration += Random(-1,1)
If HRAmmount < -1 then HRAcceleration += log(abs(HRAmmount))/3
If HRAmmount > 1 then HRAcceleration -= log(abs(HRAmmount))/3
//HRAcceleration gets a random flux and a Bias to Accelerate to HRAmmount to 0, uncapped to allow long-term consequences (but could be capped by multiplying by 0.9999 for example gently bringing the acceleration closer to 0). This would be the place where you can slow or speed one resource based on another having a shortage, so:
//if CoalAmmount < -1 then IronAcceleration -= log(abs(CoalAmmount))/10
//allowing the iron price to react to the coal price but requiring time for the effect to come into play rather than instantly
HRActualPrice = HRBasePrice / (( HRSpeed / PlayerUsageHR ) + random(-0.25,0.25)
If HRAmmount < -1 then HRActualPrice *= (2 ^ log(abs(HRAmmount)))
If HRAmmount > 1 then HRActualPrice /= (2 ^ log(abs(HRAmmount)))
//This is how you could turn an amount of resource into a price, the base price gets modified by speed, if the production of a resource is slow then the price should go higher and vice versa, with some wiggle room for tick to tick price fluctuation when resource speed is pegged to max or min (which will be most of the time). And then this price is affected by the stockpile, for every order of magnitude increase in the stockpile the price halves, if there's a "negative stockpile" the price doubles for every order of magnitude. This is also where you can make one price a factor for another
//IronActualPrice += CoalActualPrice/100
//UraniumActualPrice += ElectricityActualPrice * 100
//Allowing for more instant buying of one thing affecting the price of another.

All in all, this keeps the near-term fluctuations, but would allow for the long-term price to be directly manipulated by player actions, and make for all sorts of different strategies.

There's quite a few algorithms out there for economic simulations like that, ranging from simple "the more you buy, the more it cost; the more you sell, the less it costs" to complex ones that modify based on any number of point-in-time history elements, with older history items having progressively less of an impact until they simply disappear. I think for a game like this, the economy portion of it is not a major game component, so a simpler approach should be suitable: If the player buys, that would drive the price up. There is no selling done of anything but energy to counter that, though.