Bay 12 Games Forum

Please login or register.

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

Author Topic: Gestation  (Read 3859 times)

Dirst

  • Bay Watcher
  • [EASILY_DISTRA
    • View Profile
Re: Gestation
« Reply #30 on: May 13, 2016, 08:49:04 pm »

And to keep it consistent to adventure mode, perhaps he can code in an adjustment for gestation in adventure mode? Perhaps a multiplier for the TICKS variable?
That's what DWF_STRETCH is for, except it is a fixed x72.
Logged
Just got back, updating:
(0.42 & 0.43) The Earth Strikes Back! v2.15 - Pay attention...  It's a mine!  It's-a not yours!
(0.42 & 0.43) Appearance Tweaks v1.03 - Tease those hippies about their pointy ears.
(0.42 & 0.43) Accessibility Utility v1.04 - Console tools to navigate the map

granak1031

  • Bay Watcher
    • View Profile
Re: Gestation
« Reply #31 on: May 13, 2016, 09:10:03 pm »

And to keep it consistent to adventure mode, perhaps he can code in an adjustment for gestation in adventure mode? Perhaps a multiplier for the TICKS variable?
That's what DWF_STRETCH is for, except it is a fixed x72.

Good to know.
Logged

Dirst

  • Bay Watcher
  • [EASILY_DISTRA
    • View Profile
Re: Gestation
« Reply #32 on: May 13, 2016, 09:29:11 pm »

Sorry, just checked, it does take a parameter.  You're not locked to 72.
Logged
Just got back, updating:
(0.42 & 0.43) The Earth Strikes Back! v2.15 - Pay attention...  It's a mine!  It's-a not yours!
(0.42 & 0.43) Appearance Tweaks v1.03 - Tease those hippies about their pointy ears.
(0.42 & 0.43) Accessibility Utility v1.04 - Console tools to navigate the map

TheBiggerFish

  • Bay Watcher
  • Somewhere around here.
    • View Profile
Re: Gestation
« Reply #33 on: May 13, 2016, 09:43:49 pm »

Bumping this post, because it needs to be reawakened. Also adding a couple related ideas.

A tag using number of ticks would be the most convenient.

Another 2 cents: I don't think laying eggs should REQUIRE Nest Boxes. I think it should be treated similarly to how sleeping is, where the furniture is preferred but not required.
Then make happier animals lay more eggs. This would  allow egg-layers to reproduce properly in the wild.

And for the record: I think a caste-based setup for creature-age stages would be ideal.

I also think having configurable life stages would be also be a good way to go.

In example:

[LIFESTAGE:0:BABY:0]
[LIFESTAGE:1:CHILD:2]
[LIFESTAGE:2:ADULT:15]
[LIFESTAGE:3:SENIOR:65]

The syntax meaning [LIFESTAGE:ORDER:TITLE:AGE].

Conceivably, the [BODY_SIZE:] tags could be absorbed into this.

[LIFESTAGE:0:BABY:0:0:4500]
What happens if you want to have cyclical changes though?

So maybe a caste that says what caste to go to next, instead of an absolute order.  And the first caste would be named specially or something.

And a maximum lifespan?

[LIFESTAGE:START:TITLE:9:SECONDSTAGE]
[LIFESTAGE:SECONDSTAGE:OTHERTITLE:3:THIRDSTAGE]
[LIFESTAGE:THIRDSTAGE:THIRDTITLE:4:START]
[MAXLIFESPAN:1250]

I just kind of threw randumb numbers in there but you get the idea.
[LIFESTAGE:stage_name:stage_title:duration:next_stage]
« Last Edit: May 13, 2016, 09:46:22 pm by TheBiggerFish »
Logged
Sigtext

It has been determined that Trump is an average unladen swallow travelling northbound at his maximum sustainable speed of -3 Obama-cubits per second in the middle of a class 3 hurricane.

granak1031

  • Bay Watcher
    • View Profile
Re: Gestation
« Reply #34 on: May 13, 2016, 10:05:41 pm »

Bumping this post, because it needs to be reawakened. Also adding a couple related ideas.

A tag using number of ticks would be the most convenient.

Another 2 cents: I don't think laying eggs should REQUIRE Nest Boxes. I think it should be treated similarly to how sleeping is, where the furniture is preferred but not required.
Then make happier animals lay more eggs. This would  allow egg-layers to reproduce properly in the wild.

And for the record: I think a caste-based setup for creature-age stages would be ideal.

I also think having configurable life stages would be also be a good way to go.

In example:

[LIFESTAGE:0:BABY:0]
[LIFESTAGE:1:CHILD:2]
[LIFESTAGE:2:ADULT:15]
[LIFESTAGE:3:SENIOR:65]

The syntax meaning [LIFESTAGE:ORDER:TITLE:AGE].

Conceivably, the [BODY_SIZE:] tags could be absorbed into this.

[LIFESTAGE:0:BABY:0:0:4500]
What happens if you want to have cyclical changes though?

So maybe a caste that says what caste to go to next, instead of an absolute order.  And the first caste would be named specially or something.

And a maximum lifespan?

[LIFESTAGE:START:TITLE:9:SECONDSTAGE]
[LIFESTAGE:SECONDSTAGE:OTHERTITLE:3:THIRDSTAGE]
[LIFESTAGE:THIRDSTAGE:THIRDTITLE:4:START]
[MAXLIFESPAN:1250]

I just kind of threw randumb numbers in there but you get the idea.
[LIFESTAGE:stage_name:stage_title:duration:next_stage]

An interesting idea. Is there a specific creature you're trying to simulate using this, or is it purely theoretical?

There is a type of jellyfish that actually is technically immortal, as they actually turn back into the baby stage of life instead of dying.
In that circumstance, I thought about perhaps using some sort of "target age" tag for transformation effects would be useful.

And I think the default [MAXAGE:] tag should work fine versus the [MAXLIFESPAN:] tag idea.
Logged

TheBiggerFish

  • Bay Watcher
  • Somewhere around here.
    • View Profile
Re: Gestation
« Reply #35 on: May 13, 2016, 10:07:44 pm »

I'm new to modding, so I had no idea [MAXAGE:]  was a tag.  :v

Yeah, I suggested that because of the bit where someone brought up a cyclical lifespan creature.

The number is the duration of the stage so yeah that would be a thing?  Unless I completely misunderstand what you're talking about.
« Last Edit: May 13, 2016, 10:09:43 pm by TheBiggerFish »
Logged
Sigtext

It has been determined that Trump is an average unladen swallow travelling northbound at his maximum sustainable speed of -3 Obama-cubits per second in the middle of a class 3 hurricane.

Reelya

  • Bay Watcher
    • View Profile
Re: Gestation
« Reply #36 on: May 13, 2016, 10:27:10 pm »

[LIFESTAGE:0:BABY:0]
[LIFESTAGE:1:CHILD:2]
[LIFESTAGE:2:ADULT:15]
[LIFESTAGE:3:SENIOR:65]

The syntax meaning [LIFESTAGE:ORDER:TITLE:AGE].

Conceivably, the [BODY_SIZE:] tags could be absorbed into this.

[LIFESTAGE:0:BABY:0:0:4500]

^ The problem is that this particular set up doesn't add anything that the current system doesn't do. BODYSIZE has implicit numbering already based on the ordering, and naming the stages like that doesn't allow anything we couldn't really do already. Just calling a stage "Senior" doesn't tell the game what that means, or allow any new code to be run related to it.

Turning castes into life-stages directly doesn't really look good either. Because a character can only be of one caste, so there would have to be a matrix of gender x lifestage then. With baby, child, adult, senior, this would mean eight separate CASTES with jumps between them at aging. Which would be a mess to code and maintain.

For reference here are the relevant tags currently:
Code: [Select]
[BODY_SIZE:0:0:3000]
[BODY_SIZE:1:168:15000]
[BODY_SIZE:12:0:60000]

[BABY:1]
[GENERAL_BABY_NAME:dwarven baby:dwarven babies]
[BABYNAME:dwarven baby:dwarven babies]
[CHILD:12]
[GENERAL_CHILD_NAME:dwarven child:dwarven children]
[CHILDNAME:dwarven child:dwarven children]

[CASTE:FEMALE]
[FEMALE]
[MULTIPLE_LITTER_RARE]

[CASTE:MALE]
[MALE]
[BODY_DETAIL_PLAN:FACIAL_HAIR_TISSUE_LAYERS]

Bodysize, baby/child ages and babyname/childname can currently be declared separately for castes if you like, or externally, and it would be ideal if lifestages also allowed that.

What we really want of course is to be able to specify different tags that are added or removed when a creature ages to a new life stage. So we want something like the grouping that the caste system allows, but not actual different castes for every combination of age and sex (because of combinatorial idiocy).

So, a system like this:

[STAGE:BABY]
 // define what baby means here, with tags
[STAGE:CHILD]
 // define what child means here, with tags
[SELECT_STAGE:ALL]
 // go back to working with all stages

This would allow adding or removing tags as ages change, with the goal of gradually moving away from a hard-coded system. Creatures would be defined as having 1 caste, and 1 stage at any time. But I'd make STAGE dependent on CASTE (i.e. stages can be declared for all CASTES at once, or differently per CASTE). Additionally, the [BABY] and [CHILD] tags would be kept to indicate which of the hard-coded stages each STAGE entry actually represents, similar to how CASTE:MALE and CASTE:FEMALE still tag either MALE or FEMALE.

Personally, I'd keep the BODYSIZE tag system separate to the age-bracket system. We want the most flexible system possible, and right now BODYSIZE can vary independently of life stages if you want. We might as well keep that independence if there's no good reason to remove it.

granak1031

  • Bay Watcher
    • View Profile
Re: Gestation
« Reply #37 on: May 13, 2016, 10:42:26 pm »

What we really want of course is to be able to specify different tags that are added or removed when a creature ages to a new life stage. So we want something like the grouping that the caste system allows, but not actual different castes for every combination of age and sex (because of combinatorial idiocy).

So, a system like this:

[STAGE:BABY]
 // define what baby means here, with tags
[STAGE:CHILD]
 // define what child means here, with tags
[SELECT_STAGE:ALL]
 // go back to working with all stages

This would allow adding or removing tags as ages change, with the goal of gradually moving away from a hard-coded system. Creatures would be defined as having 1 caste, and 1 stage at any time. But I'd make STAGE dependent on CASTE (i.e. stages can be declared for all CASTES at once, or differently per CASTE). Additionally, the [BABY] and [CHILD] tags would be kept to indicate which of the hard-coded stages each STAGE entry actually represents, similar to how CASTE:MALE and CASTE:FEMALE still tag either MALE or FEMALE.

I like it. Having the stages behave similarly but separately to castes allows the most flexibility with the least conflicts.
Logged
Pages: 1 2 [3]