CleverRaven / Cataclysm-DDA

Cataclysm - Dark Days Ahead. A turn-based survival game set in a post-apocalyptic world.
http://cataclysmdda.org
Other
10.63k stars 4.18k forks source link

Depiction of children in game #52151

Closed I-am-Erk closed 3 years ago

I-am-Erk commented 3 years ago

Is your feature request related to a problem? Please describe.

We now have the ability to have talking monsters, which is the feature I wanted to get before adding children to the game. However, there are some minor potential problems depicting children in a game like this: many areas have laws against depiction of violence against them, so the open-world nature of the game would cause problems with distribution. Plus it's really distasteful, which IMO is a more important issue, despite seeming small: I am already tired of the number of "hurr hurr I made a cannibal meal" posts, and adding children is likely to bring a whole new bunch out of the wordwork. On the other hand, it's very immersion breaking to have invulnerable children floating around after you drop a mininuke on the refugee center.

Describe the solution you'd like

Adding children in general should be done by depicting them using monster, not character code. We can make monsters that talk now, and this way will use less processor power. Children aren't going to be using any of the NPC code - spawning randomly, doing goal based AI behaviour, etc - so it's not necessary to use the NPC framework for them and really just makes it needlessly complicated. Note that any child old enough to fight zombies and do construction work should be depicted as an NPC and, like Aleesha and Gunny in the refugee center, just mention in conversation that they are young.

Preventing unnecessary kid gore

This can be done through JSON almost entirely (maybe even entirely), but it might be nice to do it in code for simplicity.

I propose that children be made invulnerable and totally unkillable. They should "despawn" - go invisible and intangible and cease reacting to anything at all - when any hostile is spotted. This could be accompanied by a comment like "little billy scurries out of sight" if we want to explain what happened to the player. When hostiles are out of sight, the child should respawn in its previous location.

Children should also have the option to be linked to a particular NPC death, so if the linked NPC dies we may hide that child permanently. This would keep children from reappearing alone if you wipe out a faction.

While most or all of this can be done with JSON and effects, it would be great if we could have a simple field for it like "is_child": true covering the invulnerability and disappear/reappear effects, to reduce JSON line bloat. The 'disappear for good if NPC killed' part is probably best managed through EOCs on that NPC's death.

Of note, if we go the "is_child": true route we could also perhaps make children fully ignored by the AI, to avoid somehow using them as bait. We could also make it difficult for the player to target them with attacks, potentially.

Addressing common questions below

Describe alternatives you've considered

Invulnerable children - pretty bland and dumb

Dealing with edgy teenaged players that want to kill and eat child NPCs - we could make child bodies nonharvestable, which would help a little.

Not adding children - I really do need them for a fair bit of the story, the other options are more obvious than this (mentioning them but never showing them on screen eg)

Additional context

Starting to think about the free merchant basement here. It would also be nice to find children in the world on occasion, if used carefully.

Edit to add: The hyperbolic reactions are unnecessary, please. This is a discussion thread, not a PR.

Fris0uman commented 3 years ago

So with this solution when Joe Mcdeathlord hit a kid with their machete they'll get a message about the kid hiding and the kid desapears? Also having kid tied to other NPC means they can't exist as random encounters?

leemuar commented 3 years ago

Im relatively new player and it's just my opinion, but: I have an impression about CDDA project as "as realistic and logical as it can be". I've seen a lot of passion and fights in issue comments about certain features being rejected because they were not right for the game principles of logic and realism. And I appreciate that, I think generally it adds a lot to the immersion game provides, the freedom of action.

Unkillable, godlike, magically disappearing kids would be immersion breaking. We have zombie children, but real children can not die, can not be attacked by monsters? Sounds kinda counterintuitive to me. Partly because children are vulnerable, and we care a lot about them exactly because they can damage themselves very easy and we as human race fear to lose them. Their vulnerability is the biggest reason we care about them.

If I have to choose between keeping that immersion and general idea of "logic and realism" in the game or to have godlike kids around - I will choose not to have kids at all.

Fris0uman commented 3 years ago

Having kid disapear on attack is very far from "godlike kids"

Broken27 commented 3 years ago

Yeah no children is better than children than we cannot kill.

leemuar commented 3 years ago

To make things clear: I would love to have children in the game. I just don't want a feature that is restricted in SOME countries affect the entire game and all players around the globe. That's all. If this could be togglable, configurable - I'd like that. Last of Us scenario? Lord of the Flies scenario? Left Behind scenario? Playing as kid? Count me in!

I encourage to discuss the topic.

What addition of children to the game will add to it? Gameplay wise? Emotion wise? Immersion wise? What countries does this law work in? What are the consequences? Can open source project ignore that law? Does zombie child count as a child by the law? We already have these, is it legal? In some countries representation of homosexual relationship is forbidden by law. Why do we have it in the game and do not afraid for the distribution? Why children is the different case and require special solution?

Zireael07 commented 3 years ago

I can tell you there were cases where a game received a higher rating because it's technically possible to hurt a child (one of the Fallout games, but also an older cRPG I can't recall the name of - might've been Temple of Elemental Evil?). The same issue also surfaced around Disco Elysium recently and the Australian rating.

Higher ratings, well, they DON'T actually affect things AFAIK (yes, you can buy a 18+ rated game as a teen, at least in my country, Poland) but most gamedevs see higher ratings as bad for sales/publicity.

@leemuar: Countries that forbid representing homosexual relationships are (usually) countries that don't like open source either and that have poor internet access, the likelihood that anyone from there will stumble upon C:DDA AND will want to push the law's letter is fairly low

Note that CDDA DOES have one more thing that is problematic and CAN also lead to higher rating - use of drugs. This was also an issue in Fallout and Disco Elysium

Leland commented 3 years ago

Yeah no children is better than children than we cannot kill.

Sorry for the off topic reply, but this may be my new favorite "out of context" quote to come from CDDA

I-am-Erk commented 3 years ago

So with this solution when Joe Mcdeathlord hit a kid with their machete they'll get a message about the kid hiding and the kid desapears? Also having kid tied to other NPC means they can't exist as random encounters?

That's pretty much how it would work yes. If we had "is_child" we could probably make it impossible to intentionally target a kid at some point so that you had to get pretty specific to trigger the vanishing act yourself.

Edit: forgot to address second part. Kids wouldn't be spawning as random NPCs. As noted they would actually be monsters in the code, and they'd spawn mostly in faction bases. Once we got them working there would probably be special static NPC kids, like happening on a dad and daughter in an lmoe shelter. You wouldn't find a child just wandering the map.

What addition of children to the game will add to it? Gameplay wise? Emotion wise? Immersion wise?

Quite a lot actually. Kids make a world feel real in a pretty vital way, adding a lot more emotional impact to stories. The Last of Us was brought up as an example. Having children to protect, meeting children that need help, or even just seeing that the basement of the refugee center is loaded with children will add an enormous amount to making the world feel real, and can do a lot to turn your survivor camp into something that's worth fighting for for many players.

Blah blah blah why don't we remove all violence blah blah

You guys can stop the freakout acts. They are needlessly dramatic to an absurd degree and they're wasting all our time. If you have nothing to add besides a hyperbolic rant, I will remove your post. Particularly as this is a discussion thread to explore ideas, not a PR invoking a change. (edit to add, this is in regards to a now deleted post. Most of the ones I have left are, while occasionally a little reactionary, just fine)

leemuar commented 3 years ago

Kids make a world feel real in a pretty vital way, adding a lot more emotional impact to stories. The Last of Us was brought up as an example. Having children to protect, meeting children that need help, or even just seeing that the basement of the refugee center is loaded with children will add an enormous amount to making the world feel real, and can do a lot to turn your survivor camp into something that's worth fighting for for many players.

I absolutely agree. I just think we can not achieve this with unkillable or invisible-on-hit children. The threat should be real if we want players to feel that, even if this threat comes from the player himself.

On refugee center: I personally do not see it as appropriate place for children. RC is struggling to survive, they decline membership to not get "redundant mouth". Children are "redundant mouths" actually, and they do not fit in that poor state on RC I saw in the game. In post-apoc only resourceful communities can afford children. Maybe later, when player help the RC with lots of stuff it would be reasonable for them to accept some children?

I-am-Erk commented 3 years ago

Children are actually pretty core to the story of the refugee center, and keeping children alive is a lot of why they feel forced to turn people away. Nobody considers children dead weight. Can you imagine busloads of refugees arriving and being like "oh, you only want people who can work so my kids can't come down? Makes sense I guess".

I disagree that being able to target and kill children in safe NPC camps will have any impact on them feeling threatened as part of the story. We are not prevented from, for example, having a child die and revive as a zombie as part of a storyline. Since they won't be showing up at random, all their instances will be connected to story

PatrikLundell commented 3 years ago

Invulnerable kids is a feature I definitely don't like. I'd rather have no kids at all that immersion breaking ones. There is no achievement in "protecting" an invulnerable kid, and even if you were to try to place them in "safe" locations only, there will be freak (and not so freak, as in deliberately arranged) situations where hostiles get to the location where the kids are and you end up with an LMOE shelter with a zombie former dad, a zombie hulk (or whatever) and a missing kid that used to be there. Thus, my stance is kids as humans or no kids at all.

leemuar commented 3 years ago

Yeah, I might give bad example. My point is I'm trying to figure out how can we NOT make children special (invulnerable, invisible, etc). Can we just ignore that law just the way we ignore homosexual conent and develop children NPC the usual way? Gameplay and programming-wise it would be much simpler: they "live" and behave just like any other NPCs, no special logic in code and etc.

I disagree that being able to target and kill children in safe NPC camps will have any impact on them feeling threatened as part of the story. We are not prevented from, for example, having a child die and revive as a zombie as part of a storyline. Since they won't be showing up at random, all their instances will be connected to story

leemuar commented 3 years ago

Thanks for pointing this out, this sounds reasonable, I probably missed this on my playthroughs.

Children are actually pretty core to the story of the refugee center, and keeping children alive is a lot of why they feel forced to turn people away. Nobody considers children dead weight. Can you imagine busloads of refugees arriving and being like "oh, you only want people who can work so my kids can't come down? Makes sense I guess".

I-am-Erk commented 3 years ago

Can we just ignore that law

We can. At most it would be a minor headache for us. Personally I also don't feel like dealing with yet another major source of I Am Very Badass posts, now about killing all the children in the refugee center.

@PatrikLundell your example shouldn't happen. If a quest spawns a family in a location where a hulk can get at them, then when the parents die, just have a zombie child spawn in the building a day or two later. The kid hid, died later, and revived. Again, these are all going to be specific instances of children with attached stories, not just random spawns in an evac shelter.

leemuar commented 3 years ago

@I-am-Erk Why? Im relatively new and could miss something. Does it attracts unwanted attention from police\government? Or posts like these provoke hot debates?

Personally I also don't feel like dealing with yet another major source of I Am Very Badass posts, now about killing all the children in the refugee center.

I-am-Erk commented 3 years ago

@leemuar for my own opinion, it's just kinda gross and tiresome. There are, as I've outlined, some practical considerations but they're not pressing. I know I am far from the only person who considers violence against children to be a rather particular trigger, since it's a lot less abstract than the usual player edgy behaviours.

Maryionet commented 3 years ago

@I-am-Erk Why not just discourage or even give infraction to those who post such content?

Personally I also don't feel like dealing with yet another major source of I Am Very Badass posts, now about killing all the children in the refugee center.

Qrox commented 3 years ago

We can add an option to turn child spawn off and switch to mentioning them in the dialogue for those people who don't like invincible children (me included).

Inglonias commented 3 years ago

The only way to 100% stop a determined person from being terrible and killing children is to make them invulnerable, but that is, as you said, immersion-breaking. Short of that, the best thing you can do is to simply make the action inconvenient to accomplish, and/or boring and unsatisfying. Off the top of my head, we could make children simply vanish on death, along with their belongings. No corpse. No clothes. No loot. Nothing. Simply make the action have no payoff.

Alterforce commented 3 years ago

How do the human corpse snippets fit into this? Some of them clearly state that they used to be children. If the children were made invincible, would those snippets be removed or altered?

I-am-Erk commented 3 years ago

How do the human corpse snippets fit into this? Some of them clearly state that they used to be children. If the children were made invincible, would those snippets be removed or altered?

As I've said in the op and in replies, we can have children die in game even with a system to prevent active combat violence against them.

Short of that, the best thing you can do is to simply make the action inconvenient to accomplish, and/or boring and unsatisfying.

That is my own plan b, yes. I would keep corpses because of reviving, but disable butchery and loot.

themaster567 commented 3 years ago

I get that you said that they're "incredibly important" to add, but if then you have to add a mountain of countermeasures to abuse we both know will happen regardless of tags and the like, then is it really worth it?

In my view, the addition would create a hot button issue that would never go away, with people raging at others for finding/modding ways to kill them. It would be a nightmare.

I-am-Erk commented 3 years ago

I don't see the need for a mountain of features added. The stuff I've described is pretty basic, and could be done in JSON, or made a bit more concise in c++.

themaster567 commented 3 years ago

I believe that, if you're going to do this, then it needs to be hard-coded, fully. If you're going to restrict certain actions with them, then doing these restrictions in JSON will only stop somebody unable to use a text editor.

I-am-Erk commented 3 years ago

I don't really care if people want to mod things out. Or in, for that matter. Nothing stops anyone from adding children to their own mods with the system I've already described, right now, and allowing any manner of unspeakable things to happen to them.

I-am-Erk commented 3 years ago

This topic has pretty much ceased to contain any sort of novel or relevant discussion. I suspect it will be a more effective use of time to close it and just discuss it amongst the core contributors, since the repeated "I didn't really read or think about this, but I feel I should give you my opinion" posts serve nothing but to clutter up my notification feed.

I'll give it a bit longer, but please refrain from commenting if you just came in from Reddit, saw the first two or three sentences, and then scrolled through the discussion. This is intended to be a discussion thread, not an opinion poll.

ERRORCODE509 commented 3 years ago

Personally, I'm of the "all or nothing" opinion. The addition of children would add nothing to my gameplay experience beyond what's already there, but magically-disappearing children would definitely detract from it. I've no issue with not being able to target them, but them disappearing at the first sign of danger would be an issue for a game that prides itself on realism. Admittedly, it's a much better idea than just having invincible children (I've played enough Bethesda games to hate invincible NPCs), but it's still pretty bad. It also brings couple of possible bugs to mind that would need significant hardcoding to resolve. I don't condone harming children, but adding undying children is worse than none at all. If the devs really want to add them, make it so that they can die like any other NPC.

Tl;dr: Don't add children.

EDIT: In my defense, I typed this up yesterday.

I-am-Erk commented 3 years ago

Aaaand we made it one comment.

Squishums commented 3 years ago

I didn't really read or think about this, but I feel I should give you my opinion

Not reaching the same conclusions as you doesn't mean that people didn't read or think about it. What did you expect from a discussion thread other than opinions?

I feel like if your narrative ideas are in conflict with game mechanics (i.e. I want children, but I need to make a bunch of weird unrealistic concessions to get them comfortably into the world), you should reevaluate your narrative ideas. Would you seriously approve a mechanic that needed those kinds of concessions from a new contributor?

I-am-Erk commented 3 years ago

Not reaching the same conclusions as you doesn't mean that people didn't read or think about it

The problem isn't people not reaching the same conclusion as me. It's that there isn't discussion here, just repetition of largely two points with the odd bit of useful feedback. The noise ratio was too high, probably partly because my initial issue post was too specific on a single point and thus didn't invite sufficient alternative discussion, and partly because it got shared with an inaccurate tagline to a much larger and less development-centric audience. Since the discussion isn't providing any of the information I was looking for, I closed it.

Things I was looking for:

Things I was not really looking for:

Whether or not the lack of useful information is on me or not is, at this point, moot: the thread wasn't serving any purpose but to be annoying, so I closed it. If I ever need some more specific feedback or thoughts, I'll open a different thread at some point.

Zireael07 commented 3 years ago

Things I was looking for:

discussion of different ways children can be depicted in game and various available options discussion of ways within the code to implement various ideas for depicting children in game.

Your OP didn't look like it was inviting discussion on those two options. Instead, you yourself pointed out that invulnerable children are immersion breaking (first paragraph) and then... proceeded to suggest the very same thing but presented as the kid hiding. That doesn't look like wanting to discuss 'various available options' or 'ideas for depicting children in game'.

Quite honestly, I see no real reason WHY we even need interactable children in game (they could just be mentioned in dialogue, or kid toys found around the center, etc etc.). Remember, NPCs can still be buggy, and pathfind straight into Zs, which will.. tear the kid to shreds... or should, considering the existence of Z children - if the magic 'hiding' works on Zs coming close/into the refugee center, this would doubly break the immersion.

Squishums commented 3 years ago

I mean yeah it's a bit moot at this point. I don't think you're going to get much positive feedback after the thread devolved this much (not even being snarky here btw), but I don't think it sets a great impression of the development team to pack of your proverbial toys and leave either. You're allowed final say here. I'm just getting at the optics of it.

Anyway, if you want random input on how to implement children:

1) Locked in an invulnerable bunker is way more palatable for people inclined on immersion. I can believe there's a super hard door and walls where the only way in requires enough explosives to level the place anyway, so you could sidestep the corpses and direct literally-by-hand violence. There's already once instance of this unless something changed, but my point is that I don't think it's something to try to remove; it fits fine. 2) Similarly, does your child NPC even need a human presence in the world? Can you interact with them in a way that you're piecing together their story based on clues or by talking to other NPCs. You could explore the narrative, or even have two way communication by having the player leave something for the child to pick up. Maybe you leave them food or something. The child could leave something for the player the next time they slept in a place that a child could reasonably have snuck into. Something of a thanks and a good luck. Could leverage the label and note system for a "special" item without special stats. Narratively the gift effectively becomes the child, and allows for emergent storytelling in the player trying to take good care of it. I'd love to see more mementos like that. 3) Partially blob infected? Is there an LD50 for the blob, or room to reflect on your "I'm going to die" state? Didn't give this too much thought, and tbh I don't know any of your larger narrative plans here. But since it sounds like you're ok with violence against child zombies, maybe this gives you the abstraction you need. Maybe their condition means they want to die (could be just this one instance where it's possible; doesn't have to be part of a larger system), or through their acceptance, rob the player of any joy they would get from going through with it. 4) Parent + child as a single entity in the game. They're a regular static NPC, but the parent and child are inseparable entities, and their dialogue isn't handled differently from any technical perspective. Maybe they've mutated together even? Again needs more thought.


The reason you'll get pushback on any flavour of invulnerable (or smells-like-invulnerable) regular-every-day-human is because it breaks a pretty core premise of the game that pointing a shotgun at something and pulling the trigger does about what you'd expect in real life. My design goal for something like this would be to infringe on existing game mechanics as little as possible. Great games come from when all of the systems work in harmony, instead of trying to glue independently designed systems together. It may mean needing to alter your existing plans, but those restrictions can breed a unique "only in CDDA" narratives.