Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1] 2

Author Topic: QoL improvement for Gremlins and wild-caught animal people [QUICK FIX]  (Read 3278 times)

Button

  • Bay Watcher
  • Plants Specialist
    • View Profile

OK so I wouldn't normally ask for this since it's only to support modded functionality, not in-game functionality; but Thanks FantasticDorf for reminding me that this applies to vanilla Gremlins, as well as to modded animal-people! So this is a perfectly valid vanilla suggestion.

If I'm correct this should only take a single if statement and maybe half a dozen lines of code.

Background

I have modded my animal people to be [PET_EXOTIC] since 0.34. I started doing it in order to slaughter them and use their bones, since they weren't good for anything else and they were filling up my cages; but since the advent of visitors, trained wild-caught animal people have essentially functioned as fortress permanent residents, including claiming rooms at the inn, and petitioning for citizenship after two years.

I like this, but there are some problems:

The Problems

First, although they act like permanent residents/citizens in every other way, wild-caught animal people's [v] description always just gives their species description and wounds. I know they have thoughts because I can read some of them with Dwarf Therapist - we just can't see them in game.

Similarly, their labor-setting dialog is the pet labor dialog, even when they're citizens. Since I know that (modded-to-be-tameable) animal people who joined civs in worldgen and then petition for citizenship later are able to have their labors set, I know it's not simply a matter of tameable creatures automatically getting the pet labor dialog.

Third, since they're wild-caught, they need to have their training kept up; but as productive members of the fortress, they assign extremely low priority to getting caught up on their training, which leaves the animal trainers waiting around for them while they Perform in the tavern, for example. This ties up trainers for ages and lets their other charges get out of hand. However, since they're now citizens of the fort, the animal people no longer show up on the Animal screen and their training assignments can no longer be changed!

And if you pre-empt the citizenship request and turn off their training just before they become citizens, you have another issue: once their training decays back to Wild, although they continue to behave as normal citizens, your traps and info screens now treat them like any other wild animal.

So, the solution I would like to propose:

The Possible Solution

An extra "if" statement in the code for accepted citizenship requests. If the person making the request has training levels, then set the flags and linkages necessary to resolve the above issues. If I'm correct, it should be a matter of setting their training levels to 0 and then moving them from a "pets" array belonging to civ X to a "person" array belonging to civ X.

Also if they don't have a name you might want to have them adopt a name at this time, but that's not a big deal.
« Last Edit: January 02, 2019, 01:52:13 pm by Button »
Logged
I used to work on Modest Mod and Plant Fixes.

Always assume I'm not seriously back

FantasticDorf

  • Bay Watcher
    • View Profile
Re: QoL improvement for wild-caught animal people [QUICK FIX]
« Reply #1 on: January 02, 2019, 01:09:58 pm »

Relatively sensible suggestion, myself, PatrikLundell and others no doubt have been talking about bugfix/featurefix resolutions for a while outside of full flung suggestions.
  • Patrik has his noted issues with gremlins particularly in vanilla, having to resort to cheap tricks to keep them tamed.
Toady can just have civilian pets and disable the 'tamed' flag in 'flags1' which is your metaphorical [ON/OFF] switch of true/false with guihacking when they petition/fulljoin or you can do that yourself, but setting up the right kind of GUI edit without a well orchestrated third party tool, plugin or script to automatically tame whatever you click on with DFhack its a lot harder to do the preceding step before you can just turn off tameness.

  • Example A - I captured a gorlak, i can change his status to make him tame and join me but he hasn't been interred to me culturally, there are plenty of additional things i need to do like give him a name (manually) establish him as a histfig and probably additional steps that i haven't covered or been aware of until it is a good imitation of converting wilderness populations

However semi-sentients are still animalistic so will never properly work in this application without more codification or willingness to use labour manipulators and a lot of patience.

I have a good degree of success using trolls with goblins this way, i can set them to do manual labour like additional miners on embark start after paying for them, shear them regularly enough by burrowing them over a place to stay and also slot them as members rather than auxillary for squads and outfit them with weapons and armor, providing i can labour manipulate a troll to make crude armor with the correct fittings based on the creator. Made easier to identify each by name with guihacking and applying historic status to track what they do in the fortress in engravings.
« Last Edit: January 02, 2019, 01:11:51 pm by FantasticDorf »
Logged

Button

  • Bay Watcher
  • Plants Specialist
    • View Profile
Re: QoL improvement for Gremlins and wild-caught animal people [QUICK FIX]
« Reply #2 on: January 02, 2019, 01:54:45 pm »

@FantasticDorf Thanks for reminding me about gremlins! That makes this a vanilla feature request and not just a mod-supporting feature request, which makes me feel less bad about suggesting it. I've updated the first post accordingly.
Logged
I used to work on Modest Mod and Plant Fixes.

Always assume I'm not seriously back

ArtemiusTheHuman

  • Escaped Lunatic
    • View Profile

I can say, just deleting the [PET] or [PET_EXOTIC] after taming will be enough for correct labors working. This creatures will be citizens of your fortress, and by the time passed (dont know, how long you need to wait) - citizens of your civilisation.

But I agree, this must be a feature, that don't needs for raw-files correcting. Maybe, ingame task to teach this encaged creatures if they are not a member of other civilisation is a good way, and I think it's a good chance to make "teacher" skill more useful.

My english is not so good, so sorry for probable mistakes.
Logged

GoblinCookie

  • Bay Watcher
    • View Profile

I think the current situation about gremlins and animal people is a crude placeholder. 

Really they should always have been citizens with a proper entity definition from the start, the reason they are in this weird half-way house between beast and person is because of corner-cutting in the early development of the game. 

They didn't really need to be in the game for any reason, so why are they even in?  Why add shoddy content you cannot be bothered to implement properly rather than leaving it out until you have the time/mechanics to implement them properly?
Logged

PatrikLundell

  • Bay Watcher
    • View Profile

Most everything is DF is half baked, for a number of reasons:
- They prioritize contents before polish. In theory, they could stop the development of new feature and spend the next 20 years on fixing/improving/polishing existing features. At the end of the day it's a balance act between new contents and improvements of existing one, and the current balance is very much in favor of new contents (eventually we'll see how the commercial version affects this balance).
- Most everything is interlocked, so in order to get anything to work there has to be some basic, often temporary, functionality as support for other things. The temporary implementation may then remain for many years before the area is revisited for a proper implementation. Regardless of which area Toady focuses on, it interacts with other areas that have to provide at least some support (and most players probably have their own favorite focus area they'd rather see addressed).
- You need to get things out there to get them tested and see how they interact, as Toady and Threetoe can test only a small portion, and many interactions are hard to foresee. However, it may take years before the area is returned to.
- If Toady would wait until things were polished and all detailed implemented, nothing would have been released at all yet. Alternatively, we'd have awesome fluid dynamics (or some other aspect) in a completely dead and boring world.
Logged

FantasticDorf

  • Bay Watcher
    • View Profile

Im still mithered that glass aquariums don't contain real water that doesn't help suffocating animals so that we can properly divide water from land-cages instead of splatters but that's just the state of the game, amongst other things like gremlins or that purring maggots are really hard to obtain without adding fixes yourself so that they've floated out of the collective community conciousness.

Most people don't even know your dwarves can stock vermin fish to look at in aquariums which toggle between terrarium/aquarium, encourage your dwarves to bathe over grates to give use to soap for good thoughts (instead of using complex car washer like setups) or grab gremlin lackeys to go hunt some animals. I think there's even a strength factor for restraints that determines how likely animals will rip off the chain when succesfully aggro'd that still pending confirmation.

Its unfinished, and onwards. Not a bad thing but the community does make notice that corner cutting, yeah. Lets hope the pre-magic can get to sorting it out.
Logged

GoblinCookie

  • Bay Watcher
    • View Profile

Most everything is DF is half baked, for a number of reasons:
- They prioritize contents before polish. In theory, they could stop the development of new feature and spend the next 20 years on fixing/improving/polishing existing features. At the end of the day it's a balance act between new contents and improvements of existing one, and the current balance is very much in favor of new contents (eventually we'll see how the commercial version affects this balance).
- Most everything is interlocked, so in order to get anything to work there has to be some basic, often temporary, functionality as support for other things. The temporary implementation may then remain for many years before the area is revisited for a proper implementation. Regardless of which area Toady focuses on, it interacts with other areas that have to provide at least some support (and most players probably have their own favorite focus area they'd rather see addressed).
- You need to get things out there to get them tested and see how they interact, as Toady and Threetoe can test only a small portion, and many interactions are hard to foresee. However, it may take years before the area is returned to.
- If Toady would wait until things were polished and all detailed implemented, nothing would have been released at all yet. Alternatively, we'd have awesome fluid dynamics (or some other aspect) in a completely dead and boring world.

True, but a lot of time this works but for animal people it does not work at all.

There is literally no point at all in having intelligent beings with no corresponding entity to keep track of it's at least material culture.  In effect there really isn't any reason to have whether a creature is intelligent or not defined in the creature raws at all, it would have been much better for Toady One to have simply created the entity and defined intelligence backwards, an intelligent being is one that creates a cultural entity and the cultural entity defines whether any secondary species (dogs and the like) are also intelligent like the primary species. 

The game just rounds up all the species that have entities and treats them as intelligent beings rather than animals, irrespective of the individual creatures status.  So if we had a civilisation of dogs, the pet dogs of the other human civilization would be considered to be people even if their own entity does not have the entry that makes dogs people alongside the humans.
Logged

PatrikLundell

  • Bay Watcher
    • View Profile

No. Entities and creatures are not the same thing. Currently entities are tied to a starting creature race, but entities can have members of several different races (and there's nothing in principle that would rule out gods creating civs with a group of starting races, rather than a single one). Neither animal people nor Gorlaks or Plump Helmet Men have civs their races start, but they can still be members of "greater" civs: it's just that the entrance mechanism isn't available to fortress mode (except for the broken Gremlin case: it's brokenness may well be the reason the functionality wasn't implemented fully, as it may have been realized that too much infrastructure was missing [that's  a speculation on my part, of course]).

Goblin "slave" races is an example of (semi) intelligent races being members of a civ without any (current) culture of their own.
Also, it makes sense for intelligent semi megabeasts to become bosses of civs, even though they don't form civs of their own.

A civ of animals doesn't make sense, as intelligence is a prerequisite for civilization, while at the same time, intelligence doesn't imply civilization (intelligent fantasy dragons is once such case: they simply won't cooperate with each other). If there was a civ of intelligent dogs the creatures would either be distinct from normal dogs (i.e. a different race), or (intelligent) dogs shouldn't be treated as animals. A slavery/caste system could be used to stratify different races into different tiers, but that's largely a different issue.
Logged

FantasticDorf

  • Bay Watcher
    • View Profile
Re: QoL improvement for Gremlins and wild-caught animal people [QUICK FIX]
« Reply #10 on: March 23, 2019, 06:54:26 pm »

There's no such absolute answer to that really PatrikLundell, things will inevitably change and to the sticking point all we can do presently is report the problems and watch and wait for how magic arc generated races tests the water, and how law and property Arc will deliver with some expansion to autonomy. I realise you're correcting their innacuracy of course and i don't disagree with the understanding of what you said.

The rules surrounding entities (which is really tight at the minute) mono-creature culture (which segments along faction lines if more than one creature is inputted) might be liable to loosen, as its going to be just a little regarding factors with religion in the worked upon villian arc if for instance you have a number of races convening upon the same god they have a mutual investment in due to prodding them with innate spheres rather than anything learnt.
Logged

GoblinCookie

  • Bay Watcher
    • View Profile
Re: QoL improvement for Gremlins and wild-caught animal people [QUICK FIX]
« Reply #11 on: March 26, 2019, 06:51:25 am »

No. Entities and creatures are not the same thing. Currently entities are tied to a starting creature race, but entities can have members of several different races (and there's nothing in principle that would rule out gods creating civs with a group of starting races, rather than a single one). Neither animal people nor Gorlaks or Plump Helmet Men have civs their races start, but they can still be members of "greater" civs: it's just that the entrance mechanism isn't available to fortress mode (except for the broken Gremlin case: it's brokenness may well be the reason the functionality wasn't implemented fully, as it may have been realized that too much infrastructure was missing [that's  a speculation on my part, of course]).

I'm well aware that entities and creatures are not the same thing.  The idea was to assume that all creatures are animals unless they have an entity which defines them as something other than animals.  Once there is such an entity file, the game treats all instances of the creature as intelligent beings regardless as to whether they are presently part of any civilisation at all presently. 

Goblin "slave" races is an example of (semi) intelligent races being members of a civ without any (current) culture of their own.
Also, it makes sense for intelligent semi megabeasts to become bosses of civs, even though they don't form civs of their own.
No, they are coded as pets of those civilizations (no different to dogs) but are treated by the game sometimes as animals and sometimes as intelligent members of the goblins civilization despite not being defined as such because of their tag.  This is why the results are complete mess, rather than making trolls inherantly intelligent creatures they should simply have been defined as a secondary intelligent creature in the goblins civilisation right at the start.  Any free trolls in the underground would belong to separate entities defined in a separate file entry to the goblins.

A civ of animals doesn't make sense, as intelligence is a prerequisite for civilization, while at the same time, intelligence doesn't imply civilization (intelligent fantasy dragons is once such case: they simply won't cooperate with each other). If there was a civ of intelligent dogs the creatures would either be distinct from normal dogs (i.e. a different race), or (intelligent) dogs shouldn't be treated as animals. A slavery/caste system could be used to stratify different races into different tiers, but that's largely a different issue.

We don't create civilisations in which ordinary dogs are simply considered people, as the system is working backwards.  Because someone defined a civilization in which dogs are people all ordinary dogs are treated by the game as full people, irrespective of their social status in their actual entity.

Why are solitary intelligent dragons intelligent?  Presumably because they have language and abstract ideas right?  They must share these either with other dragons or with the civilizations nearby.  Therefore a dragon is really the dragon of entity X or it is part of a entity civilisation, ablate possibly one with a single member. 

Multiple entities can share the same entity definition.  There are two ways therefore to make intelligent dragons, either we define the  dragon as a person in an existing entity file in which case the dragon will have the language and ideas of that entity or we make it part of a seperate dragon entity.

In both cases the type of person the dragon is, is defined.  A dragon is a solitary person which means the entity will not create dragon settlements but instead will place them individually. 
Logged

Bumber

  • Bay Watcher
  • REMOVE KOBOLD
    • View Profile
Re: QoL improvement for Gremlins and wild-caught animal people [QUICK FIX]
« Reply #12 on: March 26, 2019, 08:11:32 am »

Why are solitary intelligent dragons intelligent?  Presumably because they have language and abstract ideas right?  They must share these either with other dragons or with the civilizations nearby.  Therefore a dragon is really the dragon of entity X or it is part of a entity civilisation, ablate possibly one with a single member.
Current DF dragons aren't intelligent. For sake of argument, a solitary intelligent dragon would be intelligent if it's capable of learning and reasoning. It doesn't need a language of its own if its sole interest in learning a civilized language is eavesdropping on rumors of treasure and threats. In the case that dragons don't pass on knowledge to other dragons (including their own offspring,) it wouldn't make sense to give every dragon in the world its own entity civilization if it's not going to use it.

For a vanilla DF example, giants are solitary and intelligent semi-megabeasts.
« Last Edit: March 26, 2019, 09:34:14 am by Bumber »
Logged
Reading his name would trigger it. Thinking of him would trigger it. No other circumstances would trigger it- it was strictly related to the concept of Bill Clinton entering the conscious mind.

THE xTROLL FUR SOCKx RUSE WAS A........... DISTACTION        the carp HAVE the wagon

A wizard has turned you into a wagon. This was inevitable (Y/y)?

GoblinCookie

  • Bay Watcher
    • View Profile
Re: QoL improvement for Gremlins and wild-caught animal people [QUICK FIX]
« Reply #13 on: April 02, 2019, 06:07:26 am »

Current DF dragons aren't intelligent. For sake of argument, a solitary intelligent dragon would be intelligent if it's capable of learning and reasoning. It doesn't need a language of its own if its sole interest in learning a civilized language is eavesdropping on rumors of treasure and threats. In the case that dragons don't pass on knowledge to other dragons (including their own offspring,) it wouldn't make sense to give every dragon in the world its own entity civilization if it's not going to use it.

For a vanilla DF example, giants are solitary and intelligent semi-megabeasts.

We were talking about fantasy dragons in general, we both knew that Dwarf Fortress dragons aren't intelligent,

Giants are an actual example of the problem in Dwarf Fortress.  They have no language of their own and no items or ideas; but the game has them down as intelligent creatures even though it would make no difference if they were not.  In order for a creature being intelligent to mean anything it must have an entity file to record it's cultural concepts because human-like intelligence is defined really not so much by the ability to abstractly reason but the ability to create some of what is found in the entity files.

There are other advantages to starting with the entity file, it avoids bugs involving the relationship between intelligent creatures and their animal status; no intelligent creatures have animal status because not having animal status in an entity is what tells the game you are intelligent.
Logged

pikachu17

  • Bay Watcher
  • PADORU PADORU
    • View Profile
Re: QoL improvement for Gremlins and wild-caught animal people [QUICK FIX]
« Reply #14 on: April 02, 2019, 07:43:45 am »

Current DF dragons aren't intelligent. For sake of argument, a solitary intelligent dragon would be intelligent if it's capable of learning and reasoning. It doesn't need a language of its own if its sole interest in learning a civilized language is eavesdropping on rumors of treasure and threats. In the case that dragons don't pass on knowledge to other dragons (including their own offspring,) it wouldn't make sense to give every dragon in the world its own entity civilization if it's not going to use it.

For a vanilla DF example, giants are solitary and intelligent semi-megabeasts.

We were talking about fantasy dragons in general, we both knew that Dwarf Fortress dragons aren't intelligent,

Giants are an actual example of the problem in Dwarf Fortress.  They have no language of their own and no items or ideas; but the game has them down as intelligent creatures even though it would make no difference if they were not.  In order for a creature being intelligent to mean anything it must have an entity file to record it's cultural concepts because human-like intelligence is defined really not so much by the ability to abstractly reason but the ability to create some of what is found in the entity files.

There are other advantages to starting with the entity file, it avoids bugs involving the relationship between intelligent creatures and their animal status; no intelligent creatures have animal status because not having animal status in an entity is what tells the game you are intelligent.
It "would make no difference if they were not" intelligent? You are disregarding the main purpose of INTELLIGENT, that they can learn and improve skills. There would be a meaningful difference if they did not learn skills.
Also, INTELLIGENT allows them to speak, but that is less important.
Logged
Sigtext!
dwarf 4tress from scratch
The Pikachu revolution!
Thank you NatureGirl19999 for the avatar switcher at http://signavatar.com

A warforged bard named Gender appears and says"Hello. I am a social construct."
Pages: [1] 2