2 Idle Ideas to Improve Clan Pay Code

Started by James de Monet, April 14, 2015, 01:35:55 PM

April 14, 2015, 01:35:55 PM Last Edit: April 14, 2015, 01:38:15 PM by James de Monet
I just went to post this idea in Random Tiny Code Wants, only to discover it has been locked since 2011. Well, huh.

Anyway, this is probably more trouble than it's worth, but for the sake of discussion:

Clan pay has long been a sticking point for some people. It doesn't bother me much, but I do get a tiny twang of resignation every time I realize I've forgotten to pick up my PC's pay for a while.  Unless you're setting a timer to remind yourself, I imagine this happens to everyone. If you are like me, you are probably forgetting to pick up your pay from an hour to a couple of days (or even more) after it becomes available.  That means that if it refills once a week, you are actually losing out on up to 40% of your already somewhat meager income, because you basically aren't getting paid for the time from when your pay becomes available to when you pick it up, resetting the timer again.

I thought of two ways to improve this.

One, if the pay timer was based on the first time your PC picked up their pay, and not the last time they did, you would basically have a RL week in which to pick up your pay without losing any.  For example, if my PC first picked up their pay at 8pm on a Saturday, and next week I pick it up at 8pm on Saturday, there's no problem under either the current or this proposed system.  If I pick it up at 9pm instead, however, under the current system, I now won't be able to pick it up until 9pm next week, and that extra hour of pay is gone.  With this system, I would still be able to pick it up at 8pm next week, losing nothing. This isn't a big deal with an hour, but let's say I forget to come back until 7pm Saturday. Under the current system, I have lost 6 days and 23 hours of pay. With this system, I could pick up this week's pay at 7pm Saturday, and my new week would still be available an hour later at 8pm. It gives you a week of grace time.

The second idea would be to pro-rate pay based on how long it's been since you last picked it up. So, if I come back to the pay NPC three days after my last payment, instead of telling me I have 64 game days left, he would just give me 42% of my RL weekly pay.  If I come back after a week and a half, he would give me 150% of my weekly pay.  The problem with this system is that if you take a hiatus for 5 RL years and come back, the NPC might hand your PC 35,000 'sid. No bueno.  Maybe the total accumulation could be capped at one game month of pay, or something.

The second idea might be easier to code, because it probably wouldn't change the way the deciding variable is stored, just the way that pay is calculated based on the variable.  But I don't really know how it's coded now, so I could be wrong.

FWIW
Quote from: Lizzie on February 10, 2016, 09:37:57 PM
You know I think if James simply retitled his thread "Cheese" and apologized for his first post being off-topic, all problems would be solved.

I would agree with either of these changes,  but I think the proration shold only kick in after you've gone beyond your pay period.  So, you could receive 110% but not 10%, if that makes sense.
Former player as of 2/27/23, sending love.

Let's keep it simple.  As you said, pay periods tick from the first time you accepted pay from that NPC.  When you collect, you get your salary times the number of full pay periods that have ticked since you last collected.  Cap it at some number of pay periods (4-6) so, indeed, people who take long breaks don't come back to ridiculous payouts.

The problem with calculating it from your first payment is that you have to store two variables: your first payment time, and your last payment time, because the tick is based on your first payment, but the proration is based in your last payment.  Doing it purely based on proration means you only need to store the last payment time.

I see your point about full pay periods, Valeria, but I think allowing partial pay periods is better for playability.  Payday advances are available in RL. That was probably much truer in the past, in the days before computers and corporate policy memos.  If that NPC knows your PC, he would probably be willing to give them an advance on their pay if they begged, because there's a sword they just HAVE to buy before someone else does, or they want to pick up a round at the bar, even if their normal payday isn't till tomorrow.
Quote from: Lizzie on February 10, 2016, 09:37:57 PM
You know I think if James simply retitled his thread "Cheese" and apologized for his first post being off-topic, all problems would be solved.

April 14, 2015, 02:04:31 PM #4 Last Edit: April 14, 2015, 02:12:06 PM by whitt
Quote from: Marauder Moe on April 14, 2015, 01:44:59 PM
Let's keep it simple.  

DB Says...
PayDay = 4/8/15

Codes Says...
If (PayDay < Today) Then
PaySalary
Repeat
  PayDay == PayDay + PayIncrement
Until (Payday > Today)
Else
 "Come back in (PayDay - Today) Days.

No massive payouts, no rolling calendar of pay because you forgot.
I miss code.

ETA - One field (plus knowing what today is)
Quote from: BadSkeelz
Ah well you should just kill those PCs. They're not worth the time of plotting creatively against.

Yeah, but if you really want to keep it simple...

DB Says...
LastPayDay = 4/8/15

Codes Says...
Pay((Today - LastPayDay) / PayIncrement * BasePay)

One field (plus knowing what today is), no conditions, better playability
Quote from: Lizzie on February 10, 2016, 09:37:57 PM
You know I think if James simply retitled his thread "Cheese" and apologized for his first post being off-topic, all problems would be solved.

I think pay day advances should be worked out with your clan leaders. (loan shark style or just bonus or incentive style)

Perhaps the code could be a bit more forgiving and the NPC could give you the coins for one skipped period (hold them over for you plus your new pay period), but nothing beyond that. Realistically, if you haven't picked up your pay beyond one skipped period, you likely haven't logged in and worked or interacted and why should the clan be paying you for that?

Would it be too jarring oocly to have a sort of heads up when you log in when your pay is ready to be picked up? Sort of like your birthday message? Or should that be the sole responsibility of the player to keep track of?
Smooth Sands,
Maristen Kadius, Solace the Bard, Paxter (Jump), Numii Arabet, and the rest.

Of what value is refusing to pay fractional paydays?

Being that your payment will always be an integer, you are losing some portion of one 'sid everytime you pick up your pay. Wanna pick up your pay five times in a day? Sure, but you just lost 3.5 sid.

Is that realistic? Maybe not. But do we care? Is there some downtrodden, really gritty-beautiful, eating-poo-berries-until-payday RP of which I have been previously unaware?
Quote from: Lizzie on February 10, 2016, 09:37:57 PM
You know I think if James simply retitled his thread "Cheese" and apologized for his first post being off-topic, all problems would be solved.

I've never been in a clan where they paid me, but if the problem is missing pay days, why not forgo elaborate timing mechanisms and just give the player a message when they log in:

> E
Welcome to the world of Zalanthas.
* House Salarr is waiting for you to pick up your pay.
The neat, clean-shaven man sends you a telepathic message:
     "I tried hairy...Im sorry"

Quote from: James de Monet on April 14, 2015, 02:21:05 PM
Yeah, but if you really want to keep it simple...

DB Says...
LastPayDay = 4/8/15

Codes Says...
Pay((Today - LastPayDay) / PayIncrement * BasePay)

One field (plus knowing what today is), no conditions, better playability

Above allows someone to join a clan, go on three RL month hiatus and come back to a windfall, I don't think that's better.  

While the current system allows you to "lose" paydays, it also doesn't require you to pay living expenses during the same time period.   Virtual you is just spending your virtual (missed) pay however you normally would.
Quote from: BadSkeelz
Ah well you should just kill those PCs. They're not worth the time of plotting creatively against.

Quote from: WithSprinkles on April 14, 2015, 02:22:34 PM
I think pay day advances should be worked out with your clan leaders. (loan shark style or just bonus or incentive style)

Perhaps the code could be a bit more forgiving and the NPC could give you the coins for one skipped period (hold them over for you plus your new pay period), but nothing beyond that. Realistically, if you haven't picked up your pay beyond one skipped period, you likely haven't logged in and worked or interacted and why should the clan be paying you for that?

Would it be too jarring oocly to have a sort of heads up when you log in when your pay is ready to be picked up? Sort of like your birthday message? Or should that be the sole responsibility of the player to keep track of?

This would be good.
Varak:You tell the mangy, pointy-eared gortok, in sirihish: "What, girl? You say the sorceror-king has fallen down the well?"
Ghardoan:A pitiful voice rises from the well below, "I've fallen and I can't get up..."

Quote from: whitt on April 14, 2015, 02:43:25 PM
Above allows someone to join a clan, go on three RL month hiatus and come back to a windfall, I don't think that's better.

I mentioned in the OP that you would have to impose some kind of limit.

I read the PaySalary in your snippet as being inside the repeat.  But you could still just:

Pay(Max((Today - LastPayDay) / PayIncrement, 2) * BasePay)
LastPayDay == Today
Quote from: Lizzie on February 10, 2016, 09:37:57 PM
You know I think if James simply retitled his thread "Cheese" and apologized for his first post being off-topic, all problems would be solved.

Anyway, the issue is not that the complexity you are adding by refusing to pay fractional paydays is prohibitive.  I'm just curious if you guys think that there is an RP value added to doing so. It is (arguably) more realistic, but does it actually do something good for the players and the story?

Also, you can miss a payday while not being absent from the game.  If your boss drags you on a 3-day desert romp ten minutes before your payday, you are going to lose pay.  I don't know that that has ever happened to me, I'm just saying its not fully representative to assume that anyone not picking up their pay the second it regens is not around spending money.
Quote from: Lizzie on February 10, 2016, 09:37:57 PM
You know I think if James simply retitled his thread "Cheese" and apologized for his first post being off-topic, all problems would be solved.

Oh... I think I am looking at this from too low on the ladder.

In the case of folks with paydays that matter - Nobles and such - never being out of cash (eg incremental installment pay) could be a very good thing.

Lord Fancypants shouldn't need to say "I'll gladly pay you Tuesday for a hamburger today".

They can be grabbing sid everytime they're about to go out into the city with incremental pay.  Nice perk.
Quote from: BadSkeelz
Ah well you should just kill those PCs. They're not worth the time of plotting creatively against.

I don't know that my thought process is representative, but I don't see any reason why House Happypants would pay you quarter-monthly.  Pay periods are already on a half-month basis.  If you don't stick out the next half month because you want to leave the clan or something, you shouldn't be able to pick up 50% of the pay for 50% of the work you did.

I only even advocate for proration beyond the pay period because I think it makes little sense to effectively penalize people for being on a break when their character's pay period rolls around (when IG, you'd better believe that my character would be there on the day picking that pay up), not necessarily because I think proration of pay is very IC.  I think IC, the paymaster's attitude would be well screw you, and they would probably make sure part of that period you were "unpaid" for went into their pockets and was reported as paid.
Former player as of 2/27/23, sending love.

You could probably make a very good case, both historically and practically, for a hunter-gatherer society to pay wages on a daily basis, IMO.  But that isn't really the question. Do you think it's more playable to pay on a weekly/monthly basis?
Quote from: Lizzie on February 10, 2016, 09:37:57 PM
You know I think if James simply retitled his thread "Cheese" and apologized for his first post being off-topic, all problems would be solved.

From a user experience viewpoint, paying out in weekly chunks makes it very evident what your (weekly) salary is.

Pro-rating will almost certainly lead to misunderstandings, with people wondering if their rank/pay is set correctly, or if the last crash messed with the timer, or whatever.

True...
Quote from: Lizzie on February 10, 2016, 09:37:57 PM
You know I think if James simply retitled his thread "Cheese" and apologized for his first post being off-topic, all problems would be solved.

The pay clerk's minions should deposit it directly in your Nenyuks.

There should be some leeway based on rank. Rank 1,10%, Rank 3, 30% time you can pick up early or late.