Hey everyone,
I was watching a few videos on YouTube and saw that there's apparently a thing going around now about how Anthem's in-game store is going to have $20 skins and such. I am a hobbyist game designer, and I've often thought about how I might do micro-transactions "properly", if that's even a word you could apply to them, if the day ever came for me to employ them. I think I've come up with how I'd do it, and was hoping to get some thoughts.
Basically, the more money you spend, the cheaper things in the store get, up to the point where everything is automatically unlocked. For instance, at a threshold of $30, every item for sale is free, and every dollar you spend towards that $30 reduces the price of each individual item.
From an implementation perspective, it's pretty simple:
playerCostMod = playerHasSpent / costThreshold //for example, $21.56 / $30.00 = 0.718, remaining items are 71.8% discounted.
if( (itemCost[storeIndex] - (itemCost[storeIndex] * playerCostMod)) > 0)
// if this item costs $9.99, then 9.99 * 0.718 = 7.17, 9.99 - 7.17 = $2.82, item costs $2.82
itemCost[storeIndex] = itemCost[storeIndex] - (itemCost[storeIndex] * playerCostMod);
//this would handle if the player has spent less than the threshold, but the current purchase would put them past it and just //make the item cost the remainder of the threshold
else
itemCosts[storeIndex] = costThreshold - playerHasSpent;
All of this could be wrapped in an if statement that checks if the threshold has been met, auto-ing everything to 0, and yes there's rounding functions and such that have to be put in but you get the gist.
Would this appeal to anyone? Do you have a better idea? This is obviously a problem that's not going away, but is it only a problem because so many people implement these systems in a way everyone hates? ¯\_(ツ)_/¯
Log in to comment