Organic hull evolution/mutation

For what's not in 'Top Priority Game Design'. Post your ideas, visions, suggestions for the game, rules, modifications, etc.

Moderator: Oberlus

Message
Author
User avatar
Oberlus
Cosmic Dragon
Posts: 3177
Joined: Mon Apr 10, 2017 4:25 pm

Organic hull evolution/mutation

#1 Post by Oberlus »

Someone before (can't find it now, sorry) suggested hull upgrades for already built ships. IIRC, I raised objections about the unfeasability of managing already built ships that suddenly have more available slots.
Regarding monsters (tamed or wild) someone else suggested random mutations to make them grow additional weapons and whatnot.

This suggestion is inspired by the above and by the zerg units in StarCraft:

Research hull refinement techs to enable the mutation of living organic hulls into a more powerful version after they reach their maximum growth by age.
The evolved version will have the same slots and mounted ship parts, but with improved hull base stats (usually, starting max structure will be bigger than grown-up structure of the original hull). Getting an stealth and structure upgrade to your old grown-up symbiotic bombers would be great.
Optionally, the mutation could come with the upgrade of current mounted parts, something like "Tentacle parts gets substituted by Big Tentacle parts". This does make sense in my mind only for organic ship parts, because the evolution/mutation of a living ship into something bigger should not make a mounted laser become more powerful, the same that child clothes do not grow with them and need to buy new ones if they want them bigger. So this suggestions makes more sense for my proposal of organic hulls with organic parts in the themed tiered tech tree).

Ophiuchus
Programmer
Posts: 1816
Joined: Tue Sep 30, 2014 10:01 am
Location: Wall IV

Re: Organic hull evolution/mutation

#2 Post by Ophiuchus »

Oberlus wrote: Fri Oct 23, 2020 11:32 am The evolved version will have the same slots and mounted ship parts, but with improved hull base stats (usually, starting max structure will be bigger than grown-up structure of the original hull). Getting an stealth and structure upgrade to your old grown-up symbiotic bombers would be great.
Meter changes are feasable, also for e.g. weapon parts. I would not go for further structure upgrades for organics because we already have the growth mechanic.

I like the idea of growing of extra tentacles or a stronger jaw.
Any code or patches in anything posted here is released under the CC and GPL licences in use for the FO project.

Look, ma... four combat bouts!

User avatar
Krikkitone
Creative Contributor
Posts: 1540
Joined: Sat Sep 13, 2003 6:52 pm

Re: Organic hull evolution/mutation

#3 Post by Krikkitone »

I like the idea of
Fully grown Hull -> Bigger hull with extra slots filled with biological "parts" (whether or not you had those parts originally)

Ophiuchus
Programmer
Posts: 1816
Joined: Tue Sep 30, 2014 10:01 am
Location: Wall IV

Re: Organic hull evolution/mutation

#4 Post by Ophiuchus »

Krikkitone wrote: Fri Oct 23, 2020 2:06 pm I like the idea of
Fully grown Hull -> Bigger hull with extra slots filled with biological "parts" (whether or not you had those parts originally)
Does not work the way freeorion works / much backend work involved for the gain.

Oberlus suggestions are possible without backend changes.
Any code or patches in anything posted here is released under the CC and GPL licences in use for the FO project.

Look, ma... four combat bouts!

User avatar
Oberlus
Cosmic Dragon
Posts: 3177
Joined: Mon Apr 10, 2017 4:25 pm

Re: Organic hull evolution/mutation

#5 Post by Oberlus »

We already have in the game weapons that grow (become stronger) with time, some of the monsters use it. Having organic weapons that grow along with the hull makes sense and brings in differentiation and twist to regular strategies. It's in he agenda.

My idea for mutation of ships includes using different hull arts for the mutated hull, the same you can metamorphose a zergling into a baneling in Starcraft, implemented via destroying the original ships and creating a new one (copying the effect from current monsters' maturing mechanics). As long as there is no trouble (I don't know) automatically creating new ship designs based on existing ones, I think there should be no problem mutating ships into other designs that include extra weapons. E.g. a symbiotic hull with 1 armor part, 1 launch bay, 1 bomber bay and fuel tank could evolve into a hull with one extra internal part automatically filled with a special shield part (or stealth, or whatever, but always the same regardless of the specific ship design from which this mutated hull comes).

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 12801
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Re: Organic hull evolution/mutation

#6 Post by Geoff the Medio »

The main problem is that ships don't have a hull and parts, but rather ships have a design, and the design has a hull and parts. So, there can't be a SetHull effect or an AddPart effect that acts on a ship, because changing either would require making a new ship design for every variation.

A possible workaround would be to have some effects that set various part meters to zeros when a ship is immature, and progressively relax those effects so new parts become active over time. The parts would always be in the design, but would just be inactive until the ship matures enough...

User avatar
Oberlus
Cosmic Dragon
Posts: 3177
Joined: Mon Apr 10, 2017 4:25 pm

Re: Organic hull evolution/mutation

#7 Post by Oberlus »

Geoff the Medio wrote: Fri Oct 23, 2020 4:04 pm The main problem is that ships don't have a hull and parts, but rather ships have a design
I'd like to implement this via destroying the mutating ship and creating a new one with a ship design automatically generated "on the fly" based on the mutating ship design (i.e. copying the present ship parts, optionally adding new scripted parts to new slots). Could that be done?

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 12801
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Re: Organic hull evolution/mutation

#8 Post by Geoff the Medio »

Oberlus wrote: Fri Oct 23, 2020 4:12 pm...a ship design automatically generated "on the fly"
Not presently possible. Ship designs currently must be player-created or pre-scripted. Making it possible would be non-trivial.

User avatar
LienRag
Space Dragon
Posts: 300
Joined: Fri May 17, 2019 5:03 pm

Re: Organic hull evolution/mutation

#9 Post by LienRag »

Oberlus wrote: Fri Oct 23, 2020 11:32 am Someone before (can't find it now, sorry) suggested hull upgrades for already built ships. IIRC, I raised objections about the unfeasability of managing already built ships that suddenly have more available slots.

It's obviously a problem but I'm not sure that it's unsolvable.
The only possibility would be a predefined mutation, of course - like having the ship built in its "larva form" as we do now, but tied to a "mature form" that would have more slots, which the player would fill too. So the ship produced by the shipyard would be the "larva form", and after maturing would become its "mature form".
I don't think it's doable in FOCS only, but I guess that the code to tie a "young form" to a "mature form" is not that hard to produce (I don't know FreeOrion code base so I'm not volunteering).
It's even possible to tie multiple "mature forms" to a "young form" and have some random factor choose between them.
Even by having various values for randomness depending on which part is supposed to sprout at maturity.

Another possibility for organic ship parts would be for them to sprout parts as the ship sprout slots : if a ship with three tentacles sprout another slot, it will also sprout a fourth tentacle to fill this slot.
We can even have more interesting and more biologically-inspired rules : the way IRL spines are modified leaves, we could have rules like that for backbones that would transform into spines or spines that would become ejectable at maturity.
And for that I'm supposed to have the knowledge to design a set of coherent and interesting rules.

Any place in your themed tiered tech tree for plant-inspired ships alongside the animal-inspired ships (Zerg-like like you said) ? We would be gardening them then... I'd certainly like that.

Is there a problem with making hangars bigger (i.e., with more fighters in each of them) when the organic ships grow ?
Do you plan for organic figters too (that would regrow even out of supply) ?

Anyway immersion-wise all this would certainly be great !

User avatar
Oberlus
Cosmic Dragon
Posts: 3177
Joined: Mon Apr 10, 2017 4:25 pm

Re: Organic hull evolution/mutation

#10 Post by Oberlus »

Geoff the Medio wrote: Fri Oct 23, 2020 9:11 pm
Oberlus wrote: Fri Oct 23, 2020 4:12 pm...a ship design automatically generated "on the fly"
Not presently possible. Ship designs currently must be player-created or pre-scripted. Making it possible would be non-trivial.
Hmmm... The AI creates its own ship designs. How does it do it? Couldn't that code be reused somehow?

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 12801
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Re: Organic hull evolution/mutation

#11 Post by Geoff the Medio »

Oberlus wrote: Sat Oct 24, 2020 12:27 am
Geoff the Medio wrote: Fri Oct 23, 2020 9:11 pmShip designs currently must be player-created or pre-scripted.
The AI creates its own ship designs. How does it do it?
AIs are players.

User avatar
Oberlus
Cosmic Dragon
Posts: 3177
Joined: Mon Apr 10, 2017 4:25 pm

Re: Organic hull evolution/mutation

#12 Post by Oberlus »

Geoff the Medio wrote: Sat Oct 24, 2020 12:48 am
Oberlus wrote: Sat Oct 24, 2020 12:27 am
Geoff the Medio wrote: Fri Oct 23, 2020 9:11 pmShip designs currently must be player-created or pre-scripted.
The AI creates its own ship designs. How does it do it?
AIs are players.
I had a look at the AI python code for ship design and it is above my python skills for now. I can't find where it finally "registers" a ship design somewhere to be accessed from FOCS... are those ship design ever accessible from FOCS?

Alternatively, the player could design the him/herself the evolved ship design for each non-evolved ship design. But I don't think there is any mechanic to associate one ship design to another to make the FOCS calls to substitute one by the other upon evolution.

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 12801
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Re: Organic hull evolution/mutation

#13 Post by Geoff the Medio »

Oberlus wrote: Sat Oct 24, 2020 9:43 amI can't find where it finally "registers" a ship design somewhere...
It does the same thing as a human player: issuing a create ship design order: https://github.com/freeorion/freeorion/ ... I.py#L2029
...to be accessed from FOCS... are those ship design ever accessible from FOCS?
Depends what you mean by "accessed from FOCS". If you've selected a ship with a condition, eg. Source or Target or similar, then you can get its design ID as a property, like in https://github.com/freeorion/freeorion/ ... cs.txt#L58

User avatar
Oberlus
Cosmic Dragon
Posts: 3177
Joined: Mon Apr 10, 2017 4:25 pm

Re: Organic hull evolution/mutation

#14 Post by Oberlus »

Ideally, I would have a FOCS command

Code: Select all

CreateShipDesign
    name = <string>
    uuid = <string>  // automatically generated by default
    description = <string>
    hull = <string> // Issue error if not found
    parts = [ <strings> ] // Issue error if anything invalid
    model = <string>
But since that is non-trivial and the suggestion that requires it (the opening post) is not important, I'll go with this:
Geoff the Medio wrote: Fri Oct 23, 2020 4:04 pm A possible workaround would be to have some effects that set various part meters to zeros when a ship is immature, and progressively relax those effects so new parts become active over time. The parts would always be in the design, but would just be inactive until the ship matures enough...

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 12801
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Re: Organic hull evolution/mutation

#15 Post by Geoff the Medio »

Oberlus wrote: Sun Oct 25, 2020 11:42 am Ideally, I would have a FOCS command

Code: Select all

CreateShipDesign
    name = <string>
    uuid = <string>  // automatically generated by default
    description = <string>
    hull = <string> // Issue error if not found
    parts = [ <strings> ] // Issue error if anything invalid
    model = <string>
You'd need to elaborate on what you mean, as arguably this functionality already exists as predefined ship designs like in https://github.com/freeorion/freeorion/ ... ip_designs

Post Reply