HabitRPG / habitica

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

De-Aryanize default character #1529

Closed SabreCat closed 10 years ago

SabreCat commented 11 years ago

Whenever a new user registers, their avatar defaults to a white male with blond hair. It'd be much more welcoming to a diverse base of users if the initial avatar were random, making no assumptions about the "typical" player's gender or skin color.

Self-assigning since this is a change hopefully within my coding reach, and which I tend to care about more than most!

wc8 commented 11 years ago

You could randomize it—or use blue skin and white hair. The latter option might be more palatable to those who take their character's appearance seriously. (As opposed to users like me who change it every so often.)

The tour should probably mention the option to change the character's appearance.. It's been a hot topic in the past.

SabreCat commented 11 years ago

It would only be random when a new character is first generated--I'm not saying it should randomize your avatar every time you log in, ha. If I can't get it to be random, then we could come up with an iconic character setup that dodges the problematic nature of the white male default: a green-skinned lady, perhaps!

lefnire commented 11 years ago

Thou shalt all be unto mine own image! But I agree with @wc8, that should probably be the last item of the tour steps. "Finally, click here to customize your avatar".

One downside I anticipate is that I'm recently very much leaning towards removing habitrpg-shared/helpers:userSchema() and relying entirely on Mongoose default values for the User model. This will make my life a whole lot easier, but it could present quite the technical dilemma for this ticket.

lefnire commented 11 years ago

Actually, I take that "last step of the tour" bit back. I forgot that there actually is a popover that shows up after a few clicks in the game, it's the first popover after the tour

Gaelan commented 11 years ago

@lefnire Should I figure out random gear? Or should I wait because of the habitrpg-shared/helpers:userSchema() removal?

SabreCat commented 11 years ago

How would random gear work? At the moment, there's only one set of linearly improving gear, though I get the impression there will be more variety once classes are up and running.

lefnire commented 11 years ago

I think @Gaelan means the avatar customizations (pink v yellow shirt might be the "gear" referred to?)

In any case, let's put this tick on hold (@Gaelan don't do anything yet) until I've fully removed helpers:userSchema() in favor of user.js:Schema. I'll ping back here when that's done - or I might just implement it myself at the same time, since once we're using mongoose schema, avatar randomization should be a fairly trivial task.

Gaelan commented 11 years ago

Yeah, that's what I meant. My bad.

lefnire commented 10 years ago

The new default character is bald, and there is no longer gender. We could go further to make the default skin some median tone like c06534. I'm personally not digging the idea of randomization - new users will end up with an orc head, red mustache, and buns, thinking "wut?" - I think a median blank slate says more obviously "customize me" than a random combo.

wc8 commented 10 years ago

Yeah, that could go badly…It might actually end up upsetting more than it interests. Median tone is fine. Another idea: a silhouette with a ? for new characters, a la pet slots in the stable, but instead of a footprint a silhouette.

lefnire commented 10 years ago

I think the ? might still off-put people. Kinda "how do I unlock my avatar?". I'm thinking:

  1. An "agreeable" default avatar, with an explicit callout in the tour
  2. OR forcing users to customize immediately (a la Skyrim)

Edit: actually, @wc8 I see your idea agrees with #2. Another option is to redirect the user to /#/options/profile/avatar after the tour ends

SabreCat commented 10 years ago

Okay, I'm convinced against random. I like the idea of having an agreeable default, especially if it's fantastical--a lot of our fan art has featured blue- or green-skinned peoples! Broad body, green skin, long hair perhaps?

Forcing immediate customization could work, but I think it'd be hard to avoid making it feel obtrusive with our UI.

The male/female thing is already being resolved with the customization overhaul.

SabreCat commented 10 years ago

Our default is now a dark-skinned, bald, broad-shouldered Habiteer, which is not so fantastical as some of the suggestions but still a far sight less problematic than the original default. I'm happy with it; closing.

lefnire commented 10 years ago

I actually forgot about this, I intended to ask y'all which you'd prefer as the start avatar.

SabreCat commented 10 years ago

I mean, it'd still be cool to make it a green-skinned slim-bodied figure with white hair or something, but this one feels "generic" without saying "white dudes are the default human beings", heh.

meganstrickland commented 10 years ago

Just throwing in my vote for green or blue skin for the starting avatar, so that no real-life skin color is privileged, and I think this would have the added bonus of making the baldness seem less "male" because, hey, blue skin.

deilann commented 10 years ago

I'm not worried about a dark skin tone because as a white person, I know that my skin tone will always be an option in games. Obviously, I can't speak for POC, but I do know that they don't always know their skin tone will be an option, even if blue/green is an option because I've seen this in multiple games. I don't think Habit can suddenly grant privilege to POC by making their skin-tone default, and can only increase visibility that it is, in fact, an option. I would actually argue to make the default character dark skinned with a pony-tail, possibly the orange. Men will always assume they can be male; white people will always assume they can be white. The only time we ever see the gender thing going in the opposite is when male healers and mages are forced to wear dresses and tiaras.

meganstrickland commented 10 years ago

Forgive me---when I created a dummy character over on cron.habitrpg.com, the default was pale, so I assumed that was still the default starting skin color on the main site. I absolutely agree that dark-skinned by default is better than pale-skinned by default. I still think that using a non-realistic skin color might deflect some of the gender assumptions, though.

deilann commented 10 years ago

I think that the strongest way to beat off gender assumptions is to male the default avatar as feminine as possible. If it reads as female, people who want a feminine avatar will realize it's possible. People who want a more masculine avatar probably wont be worrying at this point whether or not it's possible because it is 99% of the time. And people who want to go androgynous are the kind of people who I feel are likely to play with the editor anyway, as theyre used to having to do that no matter what. meganstrickland notifications@github.com wrote:

Forgive me---when I created a dummy character over on cron.habitrpg.com, the default was pale, so I assumed that was still the default starting skin color on the main site. I absolutely agree that dark-skinned by default is better than pale-skinned by default. I still think that using a non-realistic skin color might deflect some of the gender assumptions, though.


Reply to this email directly or view it on GitHub: https://github.com/HabitRPG/habitrpg/issues/1529#issuecomment-37126048

Forgive me---when I created a dummy character over on cron.habitrpg.com, the default was pale, so I assumed that was still the default starting skin color on the main site. I absolutely agree that dark-skinned by default is better than pale-skinned by default. I still think that using a non-realistic skin color might deflect some of the gender assumptions, though.

—Reply to this email directly or view it on GitHub.

lefnire commented 10 years ago

@meganstrickland we selected the HEX directly in the center of our human skin-tone set. Probably looks white because it's not dark (per se), but Shane was pretty meticulous about designing the tone gamut based on real life, with proper stepping, so it should accurately be right in the center. What we were going for with bald: fresh-out-of-the-oven template human tofu :) We tried slim body for some femininity, but that's not speaking it to anyone, so...

So that's why we did what we did. As for what to do next, @lemoness & I were thinking about just making default a WOC. As @deilann mentioned above, white men won't complain. Although, hearing @meganstrickland's arguments, I think I'm leaning towards blue or white (aka, ghost) skin. Blue, they might actually associate with an avatar (like, Avatar the movie)! White seems like a ghost - I know Habbit actually starts you off as a ghost. Green I'm not so keen on, it speaks more orc or a poisoned player than "change me". Not sure what to do about hair color/length: (a) @deilann mentioned if we go funky-color, then the baldness might be ok; (b) others have mentioned just use a pony-tail.

Anyway, those are my thoughts - I'm not gonna call any shots on this (as the white guy), so hit me with a PR when y'all have fleshed it out

lemoness commented 10 years ago
  1. How do we feel about having this be the new sample character? sample character
  2. After a bunch of conversations with new users (and less enthusiastic conversations with many angry social media messages accusing us of being sexist for requiring people to "pay to be women") I think I've hit on one of the big causes of confusion - the free ponytails are mixed in with the purchasable hairstyles. How hard would it be to rework the page to look like this? If there's a lot of that awful spritesmith renaming required, I volunteer myself to relabel them all.

sample screen revision

  1. Can we rename the "Head" section to "Hairstyles and Hair Colors"? I think this will also encourage people to scroll down and explore their options.
deilann commented 10 years ago

Yes and yes On Apr 29, 2014 6:24 PM, "lemoness" notifications@github.com wrote:

1.

How do we feel about having this be the new sample character? [image: sample character]https://cloud.githubusercontent.com/assets/3494081/2836755/a4193a02-d005-11e3-853d-f659d07ba882.png 2.

After a bunch of conversations with new users (and less enthusiastic conversations with many angry social media messages accusing us of being sexist for requiring people to "pay to be women") I think I've hit on one of the big causes of confusion - the free ponytails are mixed in with the purchasable hairstyles. How hard would it be to rework the page to look like this? If there's a lot of that awful spritesmith renaming required, I volunteer myself to relabel them all.

[image: sample screen revision]https://cloud.githubusercontent.com/assets/3494081/2836775/082338d6-d006-11e3-8b2f-e87bbdda1321.png

  1. Can we rename the "Head" section to "Hairstyles and Hair Colors"? I think this will also encourage people to scroll down and explore their options.

— Reply to this email directly or view it on GitHubhttps://github.com/HabitRPG/habitrpg/issues/1529#issuecomment-41751611 .

SabreCat commented 10 years ago

This all sounds excellent to me.

lemoness commented 10 years ago

Great! Let me know any and all ways that I can help to make this easier for the devs :)

On Tue, Apr 29, 2014 at 6:46 PM, Sabe Jones notifications@github.comwrote:

This all sounds excellent to me.

— Reply to this email directly or view it on GitHubhttps://github.com/HabitRPG/habitrpg/issues/1529#issuecomment-41752640 .

Alys commented 10 years ago

Summary of actions required from the most recent comments:

I've just noticed that SabreCat is assigned to this, and here I was getting interested in it... :) @SabreCat did you especially want to work on these changes?

lemoness commented 10 years ago

salutes Tedious Spritesmith Renamer reporting for duty!

On Friday, August 1, 2014, Alice Harris notifications@github.com wrote:

Summary of actions required from the most recent comments:

I've just noticed that SabreCat is assigned to this, and here I was getting interested in it... :) @SabreCat https://github.com/SabreCat did you especially want to work on these changes?

— Reply to this email directly or view it on GitHub https://github.com/HabitRPG/habitrpg/issues/1529#issuecomment-50954766.

Alys commented 10 years ago

@SabreCat : I couldn't stop. It was too interesting.

@lemoness : From my local install, this is what a new default avatar looks like, and what the new "Head" heading is like. Ok? EDIT: Default avatar had the wrong body shape. See comment below. screen shot 2014-08-02 at 4 21 37 pm

The unmixing part hasn't been done yet.

Alys commented 10 years ago

Grr. Sorry, wrong body shape. THIS is what the default avatar looks like: screen shot 2014-08-02 at 4 33 12 pm

lemoness commented 10 years ago

These are looking really good! Ahh Alice, you're great :D

On Fri, Aug 1, 2014 at 11:33 PM, Alice Harris notifications@github.com wrote:

Grr. Sorry, wrong body shape. THIS is what the default avatar looks like: [image: screen shot 2014-08-02 at 4 33 12 pm] https://cloud.githubusercontent.com/assets/1495809/3787307/e9484f84-1a0e-11e4-91be-1421973af886.png

— Reply to this email directly or view it on GitHub https://github.com/HabitRPG/habitrpg/issues/1529#issuecomment-50955579.

Alys commented 10 years ago

All that's left is "unmix free ponytails from purchasable hairstyles". Lemoness, there won't be any spritesmith renaming to be done.

I know how to do it and have tentative code, but I'm getting odd errors, even when I put my local install back to only approved code. If I can't sort that out soon, I'll upload my code and let someone else test it.

lemoness commented 10 years ago

I'm secretly relieved.

On Sat, Aug 2, 2014 at 9:42 PM, Alice Harris notifications@github.com wrote:

All that's left is "unmix free ponytails from purchasable hairstyles". Lemoness, there won't be any spritesmith renaming to be done.

I know how to do it and have tentative code, but I'm getting odd errors, even when I put my local install back to only approved code. If I can't sort that out soon, I'll upload my code and let someone else test it.

— Reply to this email directly or view it on GitHub https://github.com/HabitRPG/habitrpg/issues/1529#issuecomment-50982022.

Alys commented 10 years ago

The code to make the final change ("unmix free ponytails from purchasable hairstyles") is here, along with a request for someone else to test it: https://github.com/Alys/habitrpg/commit/e340d584cd3b912636e3898eae4951bf39560062

Alys commented 10 years ago

Ummm.... @lemoness ... It's possible that my change to add the flower has had unintentional consequences... One user (John Camden - ha!) has reported that a flower has appeared on his head. Thinking about the change I made... I definitely added the flower to the file that defines defaults for new players. However I'm guessing now (too late!) that the file might also be applied to all existing players, meaning that any new defaults are applied to all players unless those players had already made a settings change that would make the default irrelevant. So in this particular case:

If this is correct, I'm sorry. :( I didn't understand that the defaults would be applied to existing players. It could have been avoided by using a migration script that set flower=none for all existing players that didn't have a flower option, but I fear it might be rather late for that since all players who've used Habit since the change went live might now have the flower. That is, IF my guess is correct. It might just be a coincidence that John put on a flower and then forgot he'd done so.

@lefnire : The file I'm talking about is src/models/user.js - do all new defaults get picked up by existing players? Is it worth reverting the change in production until a migration script is written for the remaining users that haven't been affected yet?

lemoness commented 10 years ago

Ahhh - well, we'll know if that's the case, because we'll get a flood of complaints and bug reports.

It only just went live, right? If so, and your guess is correct, it would be nice to reverse it so that we can minimize the confusion/complaints. If it's too late, it's too late, but many people will still be at work/away and not have logged in since the change.

On Mon, Aug 4, 2014 at 4:30 PM, Alice Harris notifications@github.com wrote:

Ummm.... @lemoness https://github.com/lemoness ... It's possible that my change to add the flower has had unintentional consequences... One user (John Camden - ha!) has reported that a flower has appeared on his head. Thinking about the change I made... I definitely added the flower to the file that defines defaults for new players. However I'm guessing now (too late!) that the file might also be applied to all existing players, meaning that any new defaults are applied to all players unless those players had already made a settings change that would make the default irrelevant. So in this particular case:

  • For any existing player who was already wearing a flower, their flower would not have changed.
  • For any existing player who had at some time in the past put on a flower and then taken it off, they would still not be wearing a flower.
  • But any existing player who had never experimented with flowers would now have been given a blue flower.

If this is correct, I'm sorry. :( I didn't understand that the defaults would be applied to existing players. It could have been avoided by using a migration script that set flower=none for all existing players that didn't have a flower option, but I fear it might be rather late for that since all players who've used Habit since the change went live might now have the flower. That is, IF my guess is correct. It might just be a coincidence that John put on a flower and then forgot he'd done so.

@lefnire https://github.com/lefnire : The file I'm talking about is src/models/user.js - do all new defaults get picked up by existing players? Is it worth reverting the change in production until a migration script is written for the remaining users that haven't been affected yet?

— Reply to this email directly or view it on GitHub https://github.com/HabitRPG/habitrpg/issues/1529#issuecomment-51131761.

Alys commented 10 years ago

Reversing it would involve editing src/models/user.js to change this line:

flower: {type: Number, 'default': 1}

to this:

flower: Number

I haven't submitted a patch for that because doing so would put it into develop which means that all of develop would have to be pushed to production and I'm guessing that that's something @lefnire wouldn't want to do in a hurry (any other recent changes would get pushed out immediately). @lefnire, what's the best way to revert this? Sorry to create trouble for you.

Alys commented 10 years ago

@lemoness Do you know if anyone part from Tyler has direct access to production?

deilann commented 10 years ago

There'd be no way now to separate those who have blue flowers on purpose from those who don't, that I can think of, though.

On Mon, Aug 4, 2014 at 4:47 PM, Alice Harris notifications@github.com wrote:

@lemoness https://github.com/lemoness Do you know if anyone part from Tyler has direct access to production?

— Reply to this email directly or view it on GitHub https://github.com/HabitRPG/habitrpg/issues/1529#issuecomment-51133098.

Alys commented 10 years ago

No, we couldn't fix anyone already affected, but we could do a migration for all users who have no value for flower, to give them the zero value. But the fastest thing would be to revert the default flower change until a migration script had been written.

deilann commented 10 years ago

I'm actually looking at it as a feature. It's easily solved (take the flower off) and helps users who never noticed the flowers know they're there.

On Mon, Aug 4, 2014 at 4:51 PM, Alice Harris notifications@github.com wrote:

No, we couldn't fix anyone already affected, but we could do a migration for all users who have no value for flower, to give them the zero value. But the fastest thing would be to revert the default flower change until a migration script had been written.

— Reply to this email directly or view it on GitHub https://github.com/HabitRPG/habitrpg/issues/1529#issuecomment-51133351.

SabreCat commented 10 years ago

Best "not a bug, a feature" situation I've met yet! xD

lemoness commented 10 years ago

@Alys In that case, I wouldn't worry too much about it - as Ryan says, it's easy to solve. It just means that we'll have to answer the question "why does my avatar have a flower?" several times. Hardly the most dramatic of situations. I don't know if I'd call it a feature, but as bugs go, it's pretty light.

On Mon, Aug 4, 2014 at 4:52 PM, deilann notifications@github.com wrote:

I'm actually looking at it as a feature. It's easily solved (take the flower off) and helps users who never noticed the flowers know they're there.

On Mon, Aug 4, 2014 at 4:51 PM, Alice Harris notifications@github.com wrote:

No, we couldn't fix anyone already affected, but we could do a migration for all users who have no value for flower, to give them the zero value. But the fastest thing would be to revert the default flower change until a migration script had been written.

— Reply to this email directly or view it on GitHub https://github.com/HabitRPG/habitrpg/issues/1529#issuecomment-51133351.

— Reply to this email directly or view it on GitHub https://github.com/HabitRPG/habitrpg/issues/1529#issuecomment-51133433.

Alys commented 10 years ago

Damn, I've confirmed that it really is happening. I've just logged in to production with three test users that I created a while back, and they all have blue flowers. I'll create a separate Issue ticket for this so we can direct users to it if we want to. Sorry again.

Alys commented 10 years ago

https://github.com/HabitRPG/habitrpg/issues/3843 "Blue flower appears on avatar's head"

SabreCat commented 10 years ago

It sounds like you feel bad about this one, @Alys, but it's really quite minor (and a little funny, but maybe that's just my bug-lovin' QAer brain). It's not like you, say, made drops barely ever happen, or something like that....

Gaelan commented 10 years ago

Or broke everyone's stats page… :smile:

Alys commented 10 years ago

Thanks SabreCat and Gaelan. :) But I feel only very slightly bad. I've been in IT long enough to know that glitches happen, sometimes even to me. :) And I felt even less bad once I looked at the PR and found this: screen shot 2014-08-05 at 3 22 18 pm

I've also been in IT long enough to know when I can escalate blame upwards. ;) :)

lemoness commented 10 years ago

Hehehe ;)

On Monday, August 4, 2014, Alice Harris notifications@github.com wrote:

Thanks SabreCat and Gaelan. :) But I feel only very slightly bad. I've been in IT long enough to know that glitches happen, sometimes even to me. :) And I felt even less bad once I looked at the PR https://github.com/HabitRPG/habitrpg/pull/3834 and found this: [image: screen shot 2014-08-05 at 3 22 18 pm] https://cloud.githubusercontent.com/assets/1495809/3807193/844de644-1c60-11e4-9748-a64fa206e270.png

I've also been in IT long enough to know when I can escalate blame upwards. ;) :)

— Reply to this email directly or view it on GitHub https://github.com/HabitRPG/habitrpg/issues/1529#issuecomment-51151215.

thepeopleseason commented 10 years ago

:clap:

lefnire commented 10 years ago

Or dropped the database on Christmas! (Seriously @Alys, this is small-beans). I'll push the no-default fix for now. How about:

db.users.update({'preferences.hair.flower':null},{$set:{'preferences.hair.flower':0}},{multi:1})?

Alys commented 10 years ago

Thanks @lefnire :)