0004 pushed, finally. It features a small handful of what was supposed to be released something like a week ago.
What a disaster! Plenty to fix, now, so at least I'll have bite-size things to do for 000425. I don't want to look at this project for a couple days, though.
000425 squish list:
1) Exchange screen is terrible -- fix overflow-prevention. If better way found, apply to HWInv quantity box, too. What the Hell is "integer emulation," anyway? How can you not have integers? Probably other currently-unknown ways to game Exchange logic, too. Fixed, revamped screen (see OP). Variables will still reset if you switch from buy to sell or vice versa with a quantity set in cases where you don't have enough cash or coin.
2) There's frequently no indication whether a loan was repaid or defaulted on, while notification, when it is given, is too easy to miss. It seems to always be firing and I don't see anything wrong in the code... loan icon will now change color on loan repayment or default to try being more informative and visible.
3) Dice sound needs to be compressed. 266kb (+ more since it's re-encoded in two more formats for browser compatibility) for that is insane... I doubt anyone would ever play this expecting... 2128kbps or whatever... audio quality for the single SE in the entire game. I guess Construct removes the original uncompressed file automatically, so it's fine.
4) Adjust slippage formula... Fixed.
5) Effect of BTC price on loan amounts needs to be rewritten and should apply on a logarithmic scale, instead of now when BTC price increases to something like a penny, loan request amounts tend to be <100BTC. Fixed -- price effect lessened - is now more random. Also found and fixed an issue with some rolls where it'd pay nothing. ... And found another issue where USD payout wasn't being calculated correctly. ...... And another where BTC price would sometimes not be rounded correctly. Also removed BTC price restrictions on which loan offer types would commit in hopes I fixed the problem warranting that workaround.
6) Date&Time box is sometimes displaying [] instead of [0x], esp. after layout changes. Fixed.
7) Prevent time-flow while lending pop-out is popped out? I don't see why to restrict it. If the user wants time to flow, that's his choice. It still pauses upon first opening which is what was important.
ETA: -But it may cause bugs if there're any events which pop up "inside the screen." The Fire event will likely become unclickable unless its components have a higher Z-level (which'd still possibly cause display issues). Needs to be fixed. ETA2: No, that's not a problem. Fire event no longer pops up inside screens but instead uses the "Events" screen.8 ) Inconsistent to be able to click hashrate to get to HWInv page, but you can't click exchange rate to go to exchange. Maybe HWInv page should have its own clickable box to get to it, then.... or maybe the box approach is just clutter. Fixed. Clicking the BTC price box when exchange is unlocked will send user to Exchange screen.
9) Game is loading the "Updating" page & scripts twice. Tempted to leave it in... better safe than sorry. Looks like it stopped displaying update progress in %, though. "Fixed." %updated should now display. Game will also now spend less time waiting for handshake. It will now only wait 100ms instead of 1s before switching screens if it doesn't detect an update. It "should" wait for a handshake without my "explicit pause," but I don't fully trust the engine. If anyone experiences an issue where their game doesn't update to 000425 once it's out, please let me know! Game will still load Update screen twice when there is an update.
Planned feature additions:
1) User debt, karma loans, debt settlement.
2) "WGSE" (casino)
3) Color-coding of Weekly I/O page line items (tiled background?? Can't change CSS for parts of multi-line text box). Right now, it's inconsistent and confusing. Shelved. I can't get this to work right with the special boxes the I/O screen uses.
4) Tiny progress bars for loans in Main & Stats screen? Done. Has some minor cosmetic quirks I'm not going to bother with (bars start completely filled due to null variables, bars all reset to 0% for any day where a new loan was issued but corrects the next day). However, because the progress bar is not styled by the game, it's possible there will be more significant issues I need to resolve for people playing in non-Chrome browsers, in Win8 or non-Windows OSes. Please let me know if this is the case!
Unplanned feature additions:
*You can now pause and unpause (set to last speed) time flow by pressing your space bar. Only applicable in "Main" or "Stats" page.
Unplanned changes:
*BTC price will now have a 1.15x multiplier added to "Adoption Trend." This simply means the price of BTC will increase faster and be more significantly affected by changes in the "Adoption Trend" variable.
*Initial difficulty reduced from 5 to 2.5. Difficulty will have a .9x multiplier added to "Adoption Trend," slowing its rise and decreasing the effect of "Adoption Trend" changes while also making it more likely to decrease. Tweaked difficulty to massively reduce the effect of "raw time" on difficulty so it's a) more viable to mine, and b) more reliant on "Adoption Trend" and less extreme exponential additions.
*Attributions button added to Options screen. It launches to a basic html with exactly the same info as what's in the resource attributions list of the OP to better ensure I'm not violating OFL & CC.BY licenses.
*BTC price starts out 100x higher than originally (now $.00001/BTC) to help compensate for USD loan payout initially struggling to pay out even $.10.
*Slippage is now a bit more significant, but still less than in 0004.
Unplanned fixes:
*Special "newb-detection" variable which has the increasingly useless/outdated welcome info will now automatically declare a user not a newb after six in-game days instead of relying on them to buy hardware which caused display issues if it was still up after lending was unlocked.
*Stats page wasn't displaying "F u l f i l l" in lending pop-out.
*Lending pop-out was saving "Speed" as a number instead of string, leading to minor screw-ups, esp. with pause/unpause feature.
Bugs introduced (but I'm too lazy to fix for next release):
{Cosmetic} Text boxes look particularly ugly on revamped Exchange screen. Maybe it's finally coming time to replace them? -Or a workaround solution by changing additive display property...?
{Cosmetic} Images in the WGSE screen need some TLC to blend it together better. As-is, I just used a feathered square selection and tweaked curves to try lessening how obvious the cutting and pasting was, but the cuts are still far too rigid without a large-enough semi-transparent bordering.
{Gameplay} Pause/unpause variables occasionally become confused. SpeedCarryover is possibly not being set appropriately on all game-caused pause events.
*Co-location will remain disabled until 00045. Will restrict electricity usage at Mom's House then, too. Ideally/realistically, someone could keep rigs at their mom's house along with other locations so they can always put some at mom's house without electricity cost liability, but this'd be a bear to code. Game should also quietly track debt to Mom and randomly present good opportunities to pay her back (maybe she loses her job or something) and wipe the karma/reputation debt.