HabitRPG / habitica

A habit tracker app which treats your goals like a Role Playing Game.
https://habitica.com
Other
12k stars 4.1k forks source link

Unlocking functionality based on daily logins rather than leveling #323

Closed danj3ris closed 10 years ago

danj3ris commented 11 years ago

I suggest that the unlocking of features be based more so on daily login or daily HabitRPG interactions / visits, rather than leveling.

This ties in a bit with the cheating player as well. As it currently stands, I can "cheat" by continually clicking that I've performed a good habit, and in doing so level up and unlock features.

"The point of unlocking things is to expose users to complexities over time", as said by the creator of HabitRPG, makes total and complete sense.

As HabitRPG is meant to be a motivational life-altering game, cheating literally does the player no good in this sense. However, unlocking added functionality has become the motivation for cheating, completely subverting the creator's above statement. If the player knows that leveling up "rewards" one with added features, and the player has a way of leveling up very quickly (multiple clicking upon performing positive habits), the "reward" should be removed for this action.

Unlocking new features by daily HabitRPG visits not only removes the motivation to cheat, it motivates players to actually visit the site.

Quick example:

"This is your second day visiting HabitRPG! You now have access to the reward store's in game items!"

"This is your fourth day visiting HabitRPG! You can now form parties!"

Perhaps put a "feature progress bar" up on the player's dashboard that only progresses with daily visits. Make leveling up be a requirement for being able to wear certain kinds of armor (which in this sense should also be "out of stock" on the store shelves until the player has visited HabitRPG for x number of days.)

lefnire commented 11 years ago

Let's get a discussion going around this, I'm open to the idea. Exp-gain has already been shown to be relative, so let's get a vote on what unlocks features. Levels is the easiest (current), and also gives rhyme-and-reason to levels; but I'm open to whatever

mattrozak commented 11 years ago

habitrpg.com is open in a pinned tab when my browser is open and my laptop is running (> 8 hours a day); I know other people leave it running in the background too. Maybe a "visit" to HabitRPG should only be counted if the user actually interacts with the page.

Pandoro commented 11 years ago

I really like the idea! Specially since i'm getting annoyed by the fact my girlfriend has earned more exp than me, while playing only half as long :-P Another option would be to normalize the exp gain by the number of tasks you have listed? This would however not prevent the cheating :-\ On Feb 7, 2013 6:47 AM, "Matthew Rozak" notifications@github.com wrote:

habitrpg.com is open in a pinned tab when my browser is open and my laptop is running (> 8 hours a day); I know other people leave it running in the background too. Maybe a "visit" to HabitRPG should only be counted if the user actually interacts with the page.

— Reply to this email directly or view it on GitHubhttps://github.com/lefnire/habitrpg/issues/323#issuecomment-13222807.

StanLindsey commented 11 years ago

I'm the same as @mattrozak. When I open Chrome two tabs load, #1 is blank and #2 is HabitRPG. That way even if I go off browsing for three hours I'll always end up on HabitRPG.

horusofoz commented 11 years ago

I favour XP gain as the primary method. Maybe have some features introduced based on time (like public challenges).

danj3ris commented 11 years ago

The same applies for me as well. I'm continuously logged in to HabitRPG because I never log off.

One way my suggestion can work is if there is a 24 hour countdown started when a user logs in to HabitRPG. As many times as they visit or interact with HabitRPG after the countdown begins, they would have already made their "daily visit". Once the 24 hours has elapsed, the user's next visit to HabitRPG (or in the case there was an open browser window pointed at Habitrpg for a full 24 hours, then the user's next interaction on the site) would count as a new daily visit and the clock would reset. In this way, every 24 hours a user could get a new "daily visit" credit. The daily visit credits would be what unlock the features.

A handy little countdown could be presented to the user:

"Visit HabitRPG again in 23 hours 51 minutes for your next daily visit credit!"

I've created a mockup image of the above idea and using levels gained in a manner more linked to being able to purchase in-game items. The top most item in the store is another example of how users can be rewarded by visiting HabitRPG daily instead of cheating by multiple clicks on a performed positive habit. If a user can click a positive habit as many times as they want, the coins and levels still wont do them any good if daily visits is what unlocks new features and new items for sale.

In relating this to a number of RPG's I've played, you can gain multiple levels early in the game by fighting and gaining experience, but the game isn't going to let you buy a high end sword until you get to the town that sells them.

DailyMockup

Just to be clear, I present these ideas because the introduction of features should be a gradual process due to an RPG's complexity. It just so happens I saw it as an opportunity to make cheating less rewarding as well.

Pandoro commented 11 years ago

God, I love it when people make mock ups! I like the idea, making it time based instead of level based also makes it irrelevant of playing speed of players.

StanLindsey commented 11 years ago

I like this, though the visual representation is huge but his is deffo something to take into consideration as we design future elements. (Especially if things like a background adventure happen, maybe progress in that is only done by daily visits)

wc8 commented 11 years ago

I like the idea of some things unlocking based on # days use of HRPG, but levels need to have some meaning. Changing to Level 6, for example, will provide more of a sense of progress and thus motivation if it does more than just change the turquoise level label on the header. I think different features should be used to address the inclination to click just to see what happens next rather than clicking to mark a real habit/task done.

danj3ris commented 11 years ago

@wc8 I agree with you in terms of leveling having to mean something.

Currently the act of leveling:

The problem is that the current rewards for cheating are TOO enticing. People can continue clicking, earn enough coins for all in-game items, and unlock all features within minutes. Levels don't mean anything as it is if they can be gained so quickly.

Based upon other RPG's I've played, gaining levels allowed you to access better armor and weaponry and items. I tried to display that in the mock-up with the red text next to "Sword2". This provides incentive to level-up. But if the availability of certain in-game items in the rewards store was also on a time-release mechanism, the player could level up all they wanted via cheating, but they still wouldn't be able to access items or features unless time passed.

I have another suggestion for leveling to mean something. Reaching level 2 grants you your 50 health refilled correct? Make this only applicable up to level 5. After that, make reaching every subsequent level grant you only partial health restoration. Lower it by 2 every level. By the time you reach level 15 you are only regaining 30 health each time.

That's right. Leveling up makes the game harder.

Make health potions less effective as your level increases, and now reaching level 25 without dying is actually something to be proud of.

wc8 commented 11 years ago

Interesting, I suggested (in response to #325) a cap on total XP for dailys. That would make leveling up require progress over the course of days rather than clicks—at least for dailys. There would still be a way around it via habits. I'm starting to see the point of capping them.

I prefer to make leveling up harder and tie the equipment unlocking to that than to make unlocking time based. Tie leveling up, somehow, to time of progress. Otherwise leveling up loses meaning instead of gaining it.

Some have suggested leveling up should make the HP higher. After the discussion on that thread, I agree with them. On the other hand, I do like the idea of staying alive very slowly getting harder, but I'm not sure how hard staying alive should get.

There are different views of thought on how hard/easy dying should be. #223 The question there is what happens if, at level 25, the user had five bad days and are sitting there staring at level 1? (Setting aside the issue of power outages, bugs, etc.) Will the user be motivated to start again, or just inclined to despair?

I suggest if leveling up is harder, and therefore more meaningful, the value of reaching level 25 without dying will be less important. Just reaching level 15 will be an achievement.

In short, I very much agree that leveling up should be much harder.

Pandoro commented 11 years ago

Just to set things in a little different light, it shouldn't be harder ;) For you it should probably be indeed harder, with 32 dailies? For me, with my now 4, but up until yesterday 3 dailies, it should be a little easier ;)

Hence my post #325.

On Thu, Feb 7, 2013 at 10:30 PM, wc8 notifications@github.com wrote:

Interesting, I suggested (in response to #325https://github.com/lefnire/habitrpg/issues/325) a cap on total XP for dailys. That would make leveling up require progress over the course of days rather than clicks—at least for dailys. There would still be a way around it via habits. I'm starting to see the point of capping them.

I prefer to make leveling up harder and tie the equipment unlocking to that than to make unlocking time based. Tie leveling up, somehow, to time of progress. Otherwise leveling up loses meaning instead of gaining it.

Some have suggested leveling up should make the HP higher. After the discussion on that thread, I agree with them. On the other hand, I do like the idea of staying alive very slowly getting harder, but I'm not sure how hard staying alive should get.

There are different views of thought on how hard/easy dying should be.

223 https://github.com/lefnire/habitrpg/issues/223 The question there

is what happens if, at level 25, the user had five bad days and are sitting there staring at level 1? (Setting aside the issue of power outages, bugs, etc.) Will the user be motivated to start again, or just inclined to despair?

I suggest if leveling up is harder, and therefore more meaningful, the value of reaching level 25 without dying will be less important. Just reaching level 15 will be an achievement.

In short, I very much agree that leveling up should be much harder.

— Reply to this email directly or view it on GitHubhttps://github.com/lefnire/habitrpg/issues/323#issuecomment-13260852.

danj3ris commented 11 years ago

@wc8 I too rather have equipment unlocking to be level based. Using XP for new equipment, like you mentioned in https://github.com/lefnire/habitrpg/issues/325, is a pretty good way to do it. The time based method for unlocking equipment was suggested as a way to make cheating get you nowhere.

Leveling up granting you increased HP is a staple of many RPG's. It can work, I chose instead to leave one's max health at 50, and gain back less and less upon leveling. This forces the player to either strive ever harder to avoid performing bad habits/forgetting dailies, or form a real reliance on armor and it's protection. My potions becoming less and less effective idea is ridiculously harsh, but I threw it out there anyway.

In the case of a level 25 user who might have had 5 bad days, perhaps death should take bribes? I just posted my suggestion on this thread: https://github.com/lefnire/habitrpg/issues/223

Finally, wouldn't leveling up essentially be harder if death could come easier at higher levels?

StanLindsey commented 11 years ago

Just a quick note; at the end of the day by cheating you are only cheating yourself. You might as well tick all your to-dos off and pretend you did everything.

I agree it should mechanically be worth more but personally the reward for leveling up is that I've been doing well personally.

danj3ris commented 11 years ago

@SlappyBag Oh I completely agree. The original purpose of this thread had a lot to do with the release of new features. @Lefnire wanted them to be gradual. They can't be gradual if they are based on level gain, which cheating speeds up.

StanLindsey commented 11 years ago

Ah, yes, sorry I only briefly read the thread. But I can agree with you in terms of unlocking features which would be a reward for cheating.

That said we could add an options menu to check on or off certain features if they really desire it. Everything would level up automatically but if you're friend wanted you in a party you can just turn it on in options. I suspect most people wouldn't use it but more individual features such as "streaking" would only be behind a level or login wall.

Pandoro commented 11 years ago

Regarding the party, you could also be able to accept invites with any level. Fixes that problem^^

On Fri, Feb 8, 2013 at 12:13 AM, Stan Lindsey notifications@github.comwrote:

Ah, yes, sorry I only briefly read the thread. But I can agree with you in terms of unlocking features which would be a reward for cheating.

That said we could add an options menu to check on or off certain features if they really desire it. Everything would level up automatically but if you're friend wanted you in a party you can just turn it on in options. I suspect most people wouldn't use it but more individual features such as "streaking" would only be behind a level or login wall.

— Reply to this email directly or view it on GitHubhttps://github.com/lefnire/habitrpg/issues/323#issuecomment-13267883.

StanLindsey commented 11 years ago

@Pandoro Agreed. The party system is extremely in beta but all these discussions are fantastic guys.

wc8 commented 11 years ago

Yes to allowing successful HabitRPG'ers to invite lower levels into a party, mark that down right under "team spirit" Certain major features like that may benefit from being able to be helped in by another user.

@Pandoro Yes: tailor leveling up difficulty to the user somehow. I commented further in #325. Checklists might work for some of my daily tasks. I need to be able to click each one as done or undone, though. My health literally depends on most of them. Maybe that's why I appreciate HabitRPG so much. My health is at times a job onto itself and I haven't found any other app so far that helps me get those things done without losing track of everything else I have to do.

danj3ris commented 11 years ago

@wc8 I'm right there with you in terms of my health literally depending upon habit performance.

I have an undiagnosed obsessive compulsive disorder that I've been dealing with for most of my life. I can live with it, but it sure would be nice to stop. It is listed as one of my bad habits, and it is a constant health drain in life and HRPG.

I've become more active on GitHub recently because HRPG has shown to be effective in decreasing my performance of the habit, and since the worst enemy in HRPG is yourself, helping improve HRPG would help myself as well.

HRPG will be a difficult game for me no matter what. But it should most certainly be tailored to the individual. You should read my 3am brainstorm I posted to https://github.com/lefnire/habitrpg/issues/325. It was a ridiculously complex idea that I think would have HRPG "unfun", but part of me thinks it would actually work for my defeating an obsessive compulsive habit.

Maybe once a player proves them self worthy, they can attempt "hardcore" or "beserk" mode. After we get solid mechanics settled first of course.

And it is posts such as these that make me feel that https://github.com/lefnire/habitrpg/issues/332 would be a good idea. Perhaps mostly for consolidation.

wc8 commented 11 years ago

@danj3ris (In my case it's 4-5 physical conditions, at least one of which can kill me if I don't control/treat it.) I had to skim through the #325 3am idea when I read it, so I have to re-read it.

Recap of ideas in this thread:

The last two could maybe be added to Trello?

wildcate commented 11 years ago

Is it maybe possible to combine the leveling-up and time unlock? So it would take at least, say, your current level in days (or half the current level in days) to make it to the next level? That would make the levels mean something yet keep people from clicking madly to get the XP faster.

wc8 commented 11 years ago

Combining leveling-up and time unlock seems good to me. At first I thought it would be difficult survive if you had a few bad days, but after all, you can earn GP and buy a potion to keep going.

Pandoro commented 11 years ago

As @wildcate and me discussed in #392, once we get priority multipliers, a lot of difficulty normalization things might start to clean themselves up a little. Maybe we can make priorities between 0.1 and 10. This would mean people who feel like they are progressing too fast could reduce the points they earn each day. And people who feel like they are progressing too slow, could increase the points they get.

At that point the levelling rate and unlock rate will probably have to be revisited to see if people are getting along at a speed that was originally planned. I can imagine though that in general people will start levelling faster and thus a minimum level unlock could have a smaller effect. To prevent people from cheating their way to lvl 100 and thus unlocking everything in a day, I think it would be good to also have a time based unlock. For some people this might not even be considered cheating, but just their idea of playing :p In that case they would be confronted with new features way too fast and thus a time based unlock would be nice as well.

So a combination of level and time is healthy decision I think.

toebu commented 11 years ago

I'm pro time-based unlocking. I would count the number of days that someone has been logged in at least once, and add the features based on that. That's similar to @danj3ris mockup suggestion, but with one advantage: if you log in once in the evening and the next day in the morning, it will still count as two check-ins. This is better because otherwise, if you're a power-gamer like me, you would have to set a reminder at exact 24-hour intervals to get the maximum amount of checkins.

I think the level should not matter for unlocking for two reasons:

wildcate commented 11 years ago

I think counting the logins once per workday is a good idea - better than making it a 24-h interval. However, I'd still say that level and time combined would give the best effect: someone who is playing in a slower style will also have less experience with the system (as in what happens when...) and the way I understood it, the gradual unlocking is to make sure you are comfortable and well-acquainted with what is there already. Logging in once a day and tracking, say, 3 habits and 2 dailies is not the same, at least in my eyes, as tracking multiple habits, multiple dailies, and a to-do list. The second reason you give... well, the point is to get you into doing more, isn't it? So that would be an incentive to get more things done. Generally, I think this is about improving personal productivity and personal habits, and since every person is different, it will never be a system that is inherently fair across the board - different folks need different ways to handle their to-do lists. I love the "party" idea, but I think it should come with a clear warning that the primary objective is personal accountability and personal productivity and not "who has the biggest axe". And secondly... cheaters will always cheat. If I cannot hold myself to checking fairly and doing things before clicking them on Hrpg, the only person I hurt is myself. But if I want to cheat... nobody, and no system in the game, is going to stop me. Nor anyone else, there is always a way around. So I'd agree with what someone else said somewhere else here on the board: We should plan for someone who does not cheat : )

toebu commented 11 years ago

I definitely agree that we should ignore cheaters. The only thing that bothers me, is that I can't make a party with people not at level 3. If I get someone new to join and they are not very motivated to use HRPG, it would help to get them more interested if I party-up with them. So, as someone already suggested, if one can invite lower level players to a party, as long as the team leader has reached the necessary level, I'm fine. Then I would also agree that it could be better to unlock features based on logins and level.

horusofoz commented 11 years ago

@toebu Excellent idea. If a party leader is high enough level then he should definitely be able to invite lower levels.

@wc8 @lefnire @SlappyBag Maybe we could make it you unlock the ability to create a party at level 3 rather than the entire function?

wc8 commented 11 years ago

Party Invitations added since a few people in the thread have requested/agreed with the idea. @horusofoz if that doesn't cover what you're thinking we can update card.

horusofoz commented 11 years ago

@wc8 Sounds good to me :)

justdiver commented 11 years ago

First wanted to say a quick thanks for coming up with this awesome idea. I love it.

With regards to the rewards system I had an idea. What if you used a "token" system? You perform your dailies and get a token, or jewel (or any placeholder) for each one completed. You limit this to say 5 jewels per day. You could make the price of an item be 20 jewels plus some level requirement. Setting the level requirement sufficiently high would mean that people who just come back everyday and do little quests (resulting in low level) would have to work harder to get better items and that people who just inflate their XP would still need to be regular users to get their limited tokens. This would also have the benefit of being more "in game" than an arbitrary "Come back in X days for item!"

I'm having a hard time hashing out what I'm talking about but I'm pretty sure the general idea is there and someone could expand upon it.

wildcate commented 11 years ago

I think originally, the discussion was about the functionality extensions that come into play when going up a level (such as the party system). I wouldn't limit the items or bind them to a minimum level or other minimum requirement, personally - the "buy something" mechanism is there to motivate doing more stuff more often, more regularly, or faster. If I need to wait until level 5 before something like a due date mechanism develops - that is fine because I will be familiar with all the rest of the game and can easily take in the new possibility. But waiting for a reward is just... not right in my eyes. After all, didn't it say something like "buy rewards liberally - this is what reinforces good habits and motivates you" in one of the beginning rewards notes?

horusofoz commented 11 years ago

Is this discussion still active or is the consensus to stick with fuctions unlocked through levelling?

Do we need a poll to help decide?

danj3ris commented 11 years ago

I originally came up with this idea due to @lefnire's want of features being brought to the player's attention gradually. If features were unlocked via leveling, all a player had to do was cheat for a few minutes before they had all of the features made available to them. My idea was to not have the addition of features be a reward for cheating, if the whole point of gradual introduction of features is to allow a new player TIME to absorb the new features.

Rewards on the other hand, should be based on a player's completion of good habits.

It was argued that levels would mean nothing if functionality was introduced to the player via time passing instead. I made a few suggestions above to allow levels to continue meaning something, although @wildcate's not wanting to wait for a reward is something I completely agree with and it negates the idea of level indicating being allowed to use particular armor. It may work in other RPGs, but this is HRPG.

In that sense, I'd stick with the other idea I mentioned above. Make the game harder. Either gain back less health every time you level up, make health potions more expensive every level, or lessen the amount of potions you can buy as you level higher. Leveling get's more difficult, as it should be.

Hence, you being a higher level character "means" you are actually good at HRPG. Or you cheat.

wc8 commented 11 years ago

Maybe we should start a discussion on the community site about how to make the game harder (or how not to, for those who find it hard already) and close this ticket on the bug tracker?

horusofoz commented 11 years ago

I think the forum would be a better platform for this kind of discussion. Going to be fun trying to migrate the various discussed ideas over.