Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adds Xenotypes, a way to change small changes into a human customization option. Turns Felinids into a xenotype #10843

Closed
wants to merge 8 commits into from

Conversation

ToasterBan
Copy link
Contributor

@ToasterBan ToasterBan commented Apr 4, 2024

About The Pull Request

Forums post:
https://forums.beestation13.com/t/xenotypes-design-thread/25645

As the title says, adds xenotypes, which on the character customisation screen for humans lets them have different organs, traits or arguably anything from a roundstart choice

There are two current xenotypes,
Homo, is the default humans that everyone knows and loves
Felis, spawns with cat ears, tail and tongue. Making them functionally identical to felinids outside of fall damage immunity, diet and rare interactions

Also removes felinids, for obvious reasons

for maintainer approval, I got a "I mean, its fine"
https://ptb.discord.com/channels/427337870844362753/565330972707651584/1225146875749859449

Why It's Good For The Game

2 main reasons:

  • If a species can be mistaken for another because they put on a hat, then it should not be a completely different species.

  • I don't think anyone plays felinids for gameplay reasons, and species should not be just customisation, but also have mechanics that alter how someone plays.

Testing Photographs and Procedure

Screenshots&Videos
Lf4Pj1PV3M.mp4

Put screenshots and videos here with an empty line between the screenshots and the <details> tags.

Changelog

🆑
add: Xenotypes, a new customisation option for humans. They currently have the baseline "Homo" and the catlike "Felis"
del: The felinid species
tweak: most things that would check for felinids now check for one of the cat organs
tweak: mass purrbation now changes a species ears and tail to cat ones
/:cl:

@ToasterBan ToasterBan requested a review from Crossedfall as a code owner April 4, 2024 17:03
@github-actions github-actions bot added SQL SQL Change Config Update Administration TGUI-Changes Contains changes to TGUI. Make sure its up to date with TGUI 4.0 labels Apr 4, 2024
@EvilDragonfiend
Copy link
Member

Hmm, I am not sure about this. It removes felinid traits like second story falling grace, Capsaicin immunity, or something else?

@Lagomorphica
Copy link

It's not really going to contribute to peoples ability to roleplay a character to remove the traits that make felinids 'felinids' (outside of just aesthetic.)

The biggest one specifically is diet. It at least shows some differences and is more accurate to what a xenotype would be - them having a different palate and preferable food is part of it. That at the very least should be preserved, if nothing else is possible, since it lets people.. roleplay around those things, and the fact that they are not just 'visually different humans' but 'a horrific abomination of animal and human DNA spliced together on a level that is more than just superficial.'

@EvilDragonfiend
Copy link
Member

But also it technically treats them as a human to silicons.

@Tsar-Salat
Copy link
Contributor

But also it technically treats them as a human to silicons.

I believe that's part of the intention of putting them under humans.

The biggest one specifically is diet.

Agree somewhat with this.
If we go the PRs route, removing intrinsic traits and behavior like isfelinid() that check species and not bodyparts, Why not just keep the tongue? Its just another organ like the ears and tail.

If its decided we want to pursue this route of making felinids genetically modified humans but with unique phenotypical traits, I think we should remove all species checks on them entirely, and just make them handle the organs alone.

@ToasterBan
Copy link
Contributor Author

Hmm, I am not sure about this. It removes felinid traits like second story falling grace, Capsaicin immunity, or something else?

It removes the falling immunity, which is only seen on a singular lowpop map and is quite niche
Felinids never had capsaicin immunity?
and it also removes stuff like chocolate vomiting, laser pointer jumping and the tableslam moodlet

Outside the falling immunity all the things felinids lose are incredibly minor and mostly just jokes

@Tsar-Salat
Copy link
Contributor

Oh yeah, I wouldn't mind if you kill the ability for felinids to eat raw food, if you decide to keep the tongue. Humans, even genetically modified, arent carrion eaters like lizards and oozelings.

Thats probably the main opponent of the tongue making sense.

@ToasterBan
Copy link
Contributor Author

Felis' spawn with cat tongues, meaning they keep felinid diets and the "meows" talkverb

@WhereAmO
Copy link
Contributor

WhereAmO commented Apr 4, 2024

I really like this for what it could open up with other species, allowing subtypes to exist. Semi-Aquatic lizards that need to chug water or die, IPCs with MMI's inside rather than Posis, Moths but evil, different castes of apids? Lots of opportunities!

@EvilDragonfiend EvilDragonfiend added the Needs Approval Needs maintainer discussion and head-dev approval. Do not merge this solo. label Apr 5, 2024
@EvilDragonfiend
Copy link
Member

EvilDragonfiend commented Apr 5, 2024

There should be maintainers' acceptance how we want to apply xeno subtypes to base species:

  • Applying /datum/species/human/felinid to them
  • Applying /datum/species/human to them

In my thought, felinids being human is somehow fully against this xenotype system, because they don't become xenotype of human. They just get cat organs as a human - and this means giving cosmetics to a human. Are they really a xenotype of a human then?
I think the design should be reconsidered.

@PowerfulBacon
Copy link
Member

Not sure how I feel about this, on one hand I don't really care about the removal of felinid unique quirks since they were basically useless anyway and could be quirks, however on the other hand I think that it makes so much more sense for felinids to just be a different species since then their selection is in the same place with all the other species, instead of being on human which doesn't make a whole lot of sense.

When we originally created this new preferences menu, there was a prefered way of implementing this and it was a whole subpanel section for genetic modifications, where you could choose different genetic mutations for your character within a point limit similar to how rimworld has it. Felinid would have been a preset on that (Which also moves it away from the species panel, but it makes a bit more sense since players can customise their characters genetics in a much richer way and felinid isn't a species or thing that exists at all, just a preset of genetic modification which is what your character would have to go through to become a felinid).

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this box show on all species or only humans?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It only shows up on species that have the "Xenotype" feature, which only humans have

@ToasterBan
Copy link
Contributor Author

I think that it makes so much more sense for felinids to just be a different species since then their selection is in the same place with all the other species, instead of being on human which doesn't make a whole lot of sense.

I just want to know why you think felinids should be an entire species? In our "lore" they are just genetically modified humans, gameplay wise they are practically identical to humans and they look almost identical to humans

Felinids are practically just humans in every single way so I geniunely do not see the benefit of them being considered an entirely different species outside of it being a meme or tradition

@DarnTheMarn
Copy link
Contributor

I just want to know why you think felinids should be an entire species? In our "lore" they are just genetically modified humans, gameplay wise they are practically identical to humans and they look almost identical to humans

There is precedent for this exact situation already. Hulks are genetically modified humans just like felinids are. They are not considered human while they are hulk, but they are when they return to being a human. By the same logic, felinids aren't to be considered human until they have their tail and ears replaced with human ones.

@llol111
Copy link
Contributor

llol111 commented Apr 7, 2024

Finaly after all these years, finaly we are removing felinids ☺️

jokes aside, ive been saying they shouldnt be their own species for ages now. They are verry clearly just mutated/gene-modded humans.
this is honestly over due, i like it.

Personaly i think maybe instead of whole subspecies/xenotypes it should just be individual mutation options
but i guess thats mostly a semantic/wording nitpick

@ToasterBan
Copy link
Contributor Author

ToasterBan commented Apr 7, 2024

There should be maintainers' acceptance how we want to apply xeno subtypes to base species:
Applying /datum/species/human/felinid to them
Applying /datum/species/human to them
In my thought, felinids being human is somehow fully against this xenotype system, because they don't become xenotype of human. They just get cat organs as a human - and this means giving cosmetics to a human. Are they really a xenotype of a human then?
I think the design should be reconsidered.

I don't understand what you are saying at all

There is precedent for this exact situation already. Hulks are genetically modified humans just like felinids are. They are not considered human while they are hulk, but they are when they return to being a human

Hulks don't change species, at least codewise. Hulks not being human only exists for Asimov AIs so you can take one down without the AI going crazy. Sure cat people are now protected under Asimov but I don't consider that too big of a change

I really like this for what it could open up with other species, allowing subtypes to exist. Semi-Aquatic lizards that need to chug water or die, IPCs with MMI's inside rather than Posis, Moths but evil, different castes of apids? Lots of opportunities!

currently, you can only easily throw on human xenotypes, you'd need to pretty much copy paste everything to give another species xenotypes and that honestly would be hacky

but you could add quite a lot of minor xenotypes for humans like:

  • tall, faster and pale moon adapted humans
    -slow, heat resistant volcano planet adapted - humans
  • short, slow, more resistant high-gravity adapted humans that need more oxygen
  • or you can add 50 "animal ear person" variants I guess

if maintainers don't like the felinid removal I will try to re-do the PR to have human variants, but I won't have both ideas in one PR

@ToasterBan ToasterBan closed this Apr 7, 2024
@ToasterBan ToasterBan reopened this Apr 7, 2024
@ToasterBan
Copy link
Contributor Author

close and re-opening was an accident, ignore it

@WhereAmO
Copy link
Contributor

WhereAmO commented Apr 7, 2024

Hum, would it be hard to adjust this into being a thing that works for all species, to open that up for coders in the future? Making it a system that works for em all would be absolutely lovely.

@DarnTheMarn
Copy link
Contributor

Hulks don't change species, at least codewise. Hulks not being human only exists for Asimov AIs so you can take one down without the AI going crazy. Sure cat people are now protected under Asimov but I don't consider that too big of a change.

Code has no bearing on it, it's still fact. If you open the can of worms that modifying a human genetically equals human, you set up a lot of questions. Are pod people humans? Fly people? What about a human who turns into a slime person, or even a normal slime? Even plasma men. All of these originate from humans yet aren't considered human. Why should felinids be an exception.

@EvilDragonfiend
Copy link
Member

Bringing what I said in Discord here


I am really not sure. I think species code should be refactored to let human have xenotraits than being a pure human
but that eventually would mean subtype of a human species
let's say we have 2 more catperson types:

  • Felinid - mutant humanoid, human but with cat organs
  • Nekoperson - inherently born catperson like lizardperson, not a human with cat organs, but very looks like a felinid. They have no human genetic feature.

first one can be considered to be a human, but second wouldn't be, but both can be subtypes of /species/human
I think felinid being a species is inevitable.

In my idea, nuking isfelinid() is actually correct here for felinid removal?

@EvilDragonfiend
Copy link
Member

EvilDragonfiend commented Apr 8, 2024

Also, even if they're xenotype, they should respect their own appearance cosmetics. They'll be still need to be a species, so that the game can load xenohuman felinid appearance.
I mean, they still might need to be selectable from species selection. Alternative selection from human to felinid will work, as if we select a subrace from a human.

@EvilDragonfiend EvilDragonfiend self-requested a review April 8, 2024 00:53
@EvilDragonfiend
Copy link
Member

EvilDragonfiend commented Apr 8, 2024

🔑 so, that being said, I am sorry for your efforts, but I think this isn't actually correct.
It's ironic that removing a felinid from being a species should be actually done by they being there. We should nuke isfelinid(), and make felinid species datum shouldn't have their own value much.

(It's not a real key, but I used the emoji as mine as a strong opinion. I should hear other maints opinion)

Copy link
Member

@PowerfulBacon PowerfulBacon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

First things first, we need to decide if this should be the case. Should felinids be moved out of the species tab. I am not a huge fan of moving felinids out of the species tab since it complicates the character creator UI for little gain, when them being in the species tab makes perfect sense.

Secondly, if this is the best solution then it should be a full solution. The felinid species datum needs to be deleted, isfelinid needs to be nuked and everything should be deleted or tied to organs where it makes sense (No more fall damage negation, for example).

@PowerfulBacon
Copy link
Member

PowerfulBacon commented Apr 8, 2024

I just want to know why you think felinids should be an entire species?

Because from an interaction design perspective on the character creator screen, it makes the most sense to have them be in the species box and the species system works perfectly fine code-wise for felinids even if they are a boring and aren't a unique race.

@ToasterBan
Copy link
Contributor Author

First things first, we need to decide if this should be the case. Should felinids be moved out of the species tab. I am not a huge fan of moving felinids out of the species tab since it complicates the character creator UI for little gain, when them being in the species tab makes perfect sense.
Secondly, if this is the best solution then it should be a full solution. The felinid species datum needs to be deleted, isfelinid needs to be nuked and everything should be deleted or tied to organs where it makes sense (No more fall damage negation, for example).

I didn't completely nuke felinids since I didn't think maintainers would accept it

I was thinking of adding more xenotypes with more unique features (mostly being species variants) but I felt that would be too much in one PR (and possibly completely re-do how it works so all species can have xenotypes, without duplicate code)

If maintainers don't want the felinid removal I will happily close the PR and start work on a better xenotypes system PR

@EvilDragonfiend
Copy link
Member

EvilDragonfiend commented Apr 8, 2024

I believe felinid still should be a species due to how appearance works.
Implementing advanced /datum/species code if a thing should be considered to be that species would be best here, including configurable options because some downstreams might want felinid to be felinid rather than a full human.

My single opinion. Keep the discussion on.

@ToasterBan ToasterBan marked this pull request as draft April 9, 2024 11:14
@ToasterBan
Copy link
Contributor Author

converting to draft as I am thinking of better ideas of implementing this

@Rukofamicom
Copy link
Contributor

Rukofamicom commented Apr 9, 2024

Felinid should not be a unique species, it should be exactly what it's always been described as - humans who genetically modified themselves to look like catspeople.

I'm in favor of this, but I do think the customization should be more broken apart - Ears and Tail shouldn't be a forced package deal, should allow for players to choose only one or both separately as customization options, but regardless of what they choose the human should still be human at its core.

Felinids as a unique species add almost nothing particular to the game that traits/quirks shouldn't be capable of doing on their own.


I'd also be okay with taking the other extreme and making felinids a truly unique species for the record, but since they've always essentially been humans in appearance and mostly in gameplay (silicons being the only majorly notable exception) I think the merge into human is better.

@ToasterBan
Copy link
Contributor Author

I am not a huge fan of moving felinids out of the species tab since it complicates the character creator UI for little gain, when them being in the species tab makes perfect sense.

I've been trying to have xenotype choice look something akin to

this mockup

image

for 2 days, but I cannot for the life of me learn how to us JS

@ToasterBan
Copy link
Contributor Author

I don't have the time to properly setup and maintain a system like this for now, maybe for another time

@ToasterBan ToasterBan closed this Apr 16, 2024
@Pockets-byte
Copy link

instead of removing everything that makes felinid's different, the differences from humans should be expanded on. not good.

@ToasterBan ToasterBan deleted the xenotypes branch June 15, 2024 08:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Config Update Feature It's that time again Needs Approval Needs maintainer discussion and head-dev approval. Do not merge this solo. Removal SQL SQL Change TGUI-Changes Contains changes to TGUI. Make sure its up to date with TGUI 4.0 Tweak
Projects
None yet
Development

Successfully merging this pull request may close these issues.