Colony: Difference between revisions

From DominAnt
Line 48: Line 48:
* workers += if (worker+warrior < capacity) r_breed * r_worker * const
* workers += if (worker+warrior < capacity) r_breed * r_worker * const
* warriors += if (worker+warrior < capacity) r_breed * r_warrior * const
* warriors += if (worker+warrior < capacity) r_breed * r_warrior * const
* food += max(0, min(capacity, (r_food * ar_worker - level) * (workers+warriors) * const)), Gathering and eating, if r_food*ar_worker kept at level or above the food increase, else it decreases. Level could be 0.5, 0.4, or something...
* food += max(0, min(capacity, (r_food * ar_worker - level) * (workers+warriors) * const)), Gathering and eating, if r_food*ar_worker kept at level or above the food increase, else it decreases. Level could be 0.5, 0.4, or something... Maybe let food can be negative, to affect how many dies in steps below?


Transform workers to warriors and vice versa
Transform workers to warriors and vice versa

Revision as of 09:52, 24 March 2016

The ant colony means the ants living together but here the word colony is normally also used to refer to the physical nest built underground too.

The different owner status of colonies

See also: UI Colony View

Settings

The player may set the settings of colonies from anywhere in the world.

  • Ratio on how many Worker and Warrior ants. The colony strives towards that ratio and workers can be turned into warriors and vice versa. (Every minute a small shift is done)
  • Ratio on what workers should do: Expand the nests capacity, get food, help breeding to increase population.
  • If enough Experience: Ratio on the expanding: Normal or Secret. Secret chambers can not be destroyed by humans but are slow to build.

Over time the ratio will move towards just having workers getting food. You will have to look after your colonies from time to time. Purpose: Unattended colonies shall become weak and population shall decrease in the long run.

Properties

The colony has (all as float numbers):

  • Population (the number of ants living there). This population is directly related to the zone of control (zoc) that may interfere with other colonies.

Inherited from the nest:

  • Capacity (max ants and max food)
    • Experienced players may build secret chambers too. (Can not be destroyed by players themselves, only by ants)
  • Food (how much food is stored)

Founding

See Build Nest and Colonize

Every minute

  • If colony has set its property to expand the nests capacity expands.
  • If colony has set its property to breed the nests size expands but no more than the capacity.
  • If colony has set its property to get food the food is added (if there is food available) but no more than the capacity.
  • If the number of ants in the colony is bigger than the nest capacity limit, the number of ant is slowly decreased
  • Slowly migrating actual Worker and Warrior amount towards the setting (ants are given new tasks)
  • The ants in the colony eat and food is decreased by the number of ants
  • If there is no food in the nest the number of ants in the colony is decreased
  • Sometimes cave in-s and other accidents occur (decreasing capacity and killing ants)

TO THINK ABOUT, KEEP IT SIMPLE!

Linear? Makes one colony "slow to turn" but using many colonies it gets done faster. Use ar_worker=worker/(worker+warrior) in some formulas instead of r_worker to reflect the actual population? The may be stored in one of the calculations as a column.

  • capacity += r_expand * ar_worker * const
  • secret capacity += r_expand * ar_worker * r_secret * const (NOTE: secret is a part of the capacity)
  • workers += if (worker+warrior < capacity) r_breed * r_worker * const
  • warriors += if (worker+warrior < capacity) r_breed * r_warrior * const
  • food += max(0, min(capacity, (r_food * ar_worker - level) * (workers+warriors) * const)), Gathering and eating, if r_food*ar_worker kept at level or above the food increase, else it decreases. Level could be 0.5, 0.4, or something... Maybe let food can be negative, to affect how many dies in steps below?

Transform workers to warriors and vice versa

  • if (to many warriors compared to workers) warriors -= const, worker +=const , i.e. if ar_worker > r_worker + 0.01
  • if (to many workers compared to warriors) warriors += const, worker -=const , i.e. if ar_worker < r_worker - 0.01

Starving:

  • if (food == 0) workers -= ?, warriors -= ?, or maybe x = x * 0.99 - const ?
  • if (workers + warriors < 2) colony is dead

Decaying.

  • food turn bad, slowly decreases? -= const similar to setting 1%?

Decaying both inhabited and not inhabited

  • if (capacity > 10 or not inhabited) capacity slowly decreases -= const similar to setting 1%?
  • if (capacity < 2 and not inhabited) nest is broken and destroyed

TODO Sligtly different values for different species? If one is better at breeding, one at exanding and the other at fighting?

== Every N minutes

  • Animal attacks (or moves)