Credits

  • Daily Refresh Algorithm datamined by Ninji
  • Flower Heredity datamined by Aeter
  • Flower Data datamined by Psi & Aeter
  • Flower Stages .svg images courtesy of Kamirose

Introduction

Flowers are part of the natural vegetation, along with weeds, bushes and trees.

They mostly serve as a decoration for your island, and increase its star rating. Once fully grown, they can also be plucked to serve as a crafting material.

Flowers exist in various species. Each species has three different basic colors, and more colors can be obtained by breeding.

Flowers also have hidden values called genes, which determine their color and their offspring’s potential colors. A flower’s color is called the phenotype, and the ensemble of its genes are called the genotype.

When flowers are watered, they will have a chance to reproduce on the next day, which will spawn a new flower next to its parent.

Flower Data

Flower Data
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Unused GF HF VM
VM WC GN
Unused
ID

Every flower’s species, colors, growing state and reproducing behavior is determined by the information stored in its internal data, encoded on 64 bits.

Most of these informations are invisible to the player.

Field Format Contents
Book
ID
Identifier
16 bits Internal code of the item
Determines the flower’s species, color and growth stage
→ Fixed when the flower is generated
→ Seed, wild or bred : determined by genes
→ Cloned : same identifier as the parent
Visible to the player
Memo
GN
Genes
4 x 2 bits Each bit pair corresponds to a gene, in descending order (4 to 1)
Determines the flower’s children’s genes
→ Fixed when the flower is generated
→ Seed or wild : default genes for this species and color
→ Bred : computed from genes of both parents
→ Cloned : same genes as the parent
Invisible to the player
Can
HF
Hydration Flag
1 bit Hydration state, dry or hydrated
Determines if the flower will attempt to reproduce on daily refresh
→ Set when watered by a watering can or by rain *
→ Reset on daily refresh or backwards time travel
Visible to the player : the flower shines with small sparkles if set
Gold Can
GF
Gold Flag
1 bit Black rose only
Determines the flower’s ability to produce a gold rose
→ Set when directly watered by a golden watering can (must the center tile of the 3x3 area)
→ Reset when a gold rose is produced
Invisible to the player
Time
WC
Water Count
5 bit integer Number of days without reproducing
Determines the flower’s base reproduction chance
→ Increments on daily reset if hydration flag set (caps at 20)
→ Reset on reproduction or digging up
Invisible to the player
Visitor
VM
Visitor Map
10 bit map Each bit corresponds to a row in the watering visitor table, in descending order (10 to 1)
Determines the flower’s reproduction chance bonus
→ Set if watered by corresponding visitor
→ Reset on daily refresh or digging up
Partially visible to the player : the flower shines with big sparkles if five or more bits are set (cap reached)

* Exact mechanics linked to tile hydration

Flower Sources

Flowers can be obtained from three different sources. Only seed and wild flowers have fixed default genes, shown on the table of Flower Tiers.

Source Details
SR
Seed
Flower seeds can be bought at shops or found in the town bin
→ Spawns new sprouts
→ Fixed genes for this species and color
NM
Wild
Wild flowers are naturally generated when an island is created
This includes both the main island and mystery islands
→ Always blooms
→ Fixed genes for this species and color
BP
Reproduction
Hydrated flowers may reproduce during the daily refresh
→ Spawns new buds
→ Cloning : same genes as the parent
→ Breeding : genes determined from genes of both parents

Flower Life Cycle

Growth Stages

Flowers have four growth stages, which determine if they can grow, reproduce, be plucked or be trampled.

Stage 4 is called “plant” in the game, which can be a confusing term. We will refer to it as “blooms” instead.

Stage Number 1 2 3 4
Stage Name
Sprouts

Stems

Buds

Blooms
Source SW
Seeds
None BP
Reproduction
NM
Islands
Can Grow
Can Reproduce
Can be Plucked
Can be Trampled

Events

Flowers can grow and reproduce when the right conditions are met. Like most daily events, flower growth and reproduction is processed during the daily refresh, which happens when you open the game for the first time of the day after 5:00 AM.

The moment you see the daily announcement by Tom Nook or Isabelle, it means the daily refresh has just been completed.

Flowers blooms can also be plucked or trampled. Plucking a flower will revert it to the stems stage, and the player will receive the corresponding flower item, which can be used as a material in DIY Recipes. Trampling a flower will revert it to buds stage with no additional effect.

When a flower reverts to a previous stage, events will apply according to the new stage.

Event Trigger Effect
Growth Daily Refresh
1. Sprouts, stems or buds stage
2. Not placed on the beach
→ Grows to the next stage
Reproduction Daily Refresh
1. Buds or blooms stage
2. Not placed on the beach
3. Has been hydrated during the day
4. Has a valid tile to spawn a child on
5. Reproduction roll succeeds
→ Breed if partner found
→ Clone if no partner found
→ Spawns new buds
Plucking Picked up by any player (blooms only) → Reverts to stems
→ Player receives item
Trampling Ran over by any player (blooms only) → Reverts to buds

Algorithm

Click to enlarge

Hydration

Flowers will be considered hydrated for the day as soon as any player or villager uses a watering can on them, or if it has rained during the day. Hydrated flowers will shine small silver sparkles.

Flowers are either dry or hydrated. They cannot become more hydrated than hydrated. Having flowers watered before or after it has rained will not change their hydration state. Having flowers watered by multiple players or villagers will not change their hydration state.

Water Source Effect on Flower
Islander Watering
(Player from your Island)
Hydrated for the day
Villager Watering
(Animal from your Island)
Hydrated for the day
Visitor Watering
(Player from another Island)
Hydrated for the day
Visitor Counter +1 for the day
Rain Hydrated for the day
Player with Golden Watering Can Hydrated for the day
Gold Flag on Black Rose on the center tile until it produces a Gold Rose

Water Counter

Every flower has a water counter keeping track of the number of days it was watered without reproducing, which determine the flower’s base reproduction chance.

Water counter is reset to 0 when the flower reproduces or if it is dug up.

Water Counter Base Reproduction Chance
0-3 5%
4 10%
5 15%
6 20%
20+ 90%

Visitor Counter

Every flower has a watering visitor map, used as a watering visitor counter keeping track of the number of players from other islands who watered it during the current day, which adds a bonus reproduction chance to the flower for that day.

Watering visitor count is cleared on daily refresh or when the flower is dug up.

Flowers watered by five visitors or more will make big gold sparkles.

Only the 10 first watering visitors of the day will be counted. Visitors who don’t water any flower will not count toward this limit.

Visitor Counter Bonus Reproduction Chance
1 20%
2 30%
3 45%
4 60%
5+ 75%

Reproduction

When flowers reproduce, they can either breed or clone depending on their surroundings.

Context Reproduction Mode Offspring
Available Partner Breeding Child of both parents
No Available Partner Cloning Exact copy of the parent

Genes

Genes are four hidden values attached to each flower. Together, they define the flower’s genotype, which determines the flower’s phenotype. Only Roses use all four genes, other flower species only use the first three genes.

Genes have been given an unofficial name and code to make communication and notation easier.

Gene Name Influence on Phenotype
Gene 1 R (Red) Generally affects the flower’s red color level
Gene 2 Y (Yellow) Generally affects the flower’s yellow color level
Gene 3 W (White) Generally affects the flower’s white color level
Gene 4 B (Brightness)
S (Shade)
Roses only
Generally affects the flower’s red color brightness

Each individual gene has a value, which can be represented in various ways.

  • Trinary notation is how the gene is coded in the genotype table
  • Binary notation is how the gene is coded in a flower’s attributes
Trinary Value Binary Value Influence on Phenotype
0 00 None
1 01 Low
2 11 High

Breeding Algorithm

When two flowers of the same species breed together, their genotypes combine to create the offspring’s genotype.

The algorithm used to determine the offspring’s genotype is based on a real-life genetic principle called Mendelian Inheritance. Binary or Genetic notations are used here.

  1. Make a copy of each parent’s gene X
  2. Cut both copies in half
  3. Choose one random half from each parent
  4. Combine the two halves to create the offspring’s gene X

Possible outcomes for the offspring gene may be represented by a simple diagram called Punnett Square.

Examples

Section to be edited.

Flower Data Reading Example

Let’s take a look at a particular flower and its data.

Identifier Genes Hydration Flag Golden Flag Water Count Visitor Map
BR
Rose
Memo
2020
Can
False
Gold Can
True
Time
4
Visitor
All : False

Here is how we can interpret this flower’s flags.

Flag Value Meaning Consequence
Memo
Genotype
2020 This flower’s genes are :
Gene 1: 2,
Gene 2 : 0,
Gene 3 : 2,
Gene 4 : 0.
For Roses, this genotype corresponds to a Black phenotype.
Hence, this Rose is Black.
Time
Water Counter
4 This flower has been watered during 4 days without reproducing. This flower’s base reproduction chance is currently 10%.
Can
Regular Water
False This flower has not been watered during the current day. When a new day comes, this flower’s water counter will not be incremented and the flower will not roll for reproduction
Gold Can
Golden Water
True This flower has been watered with a golden can. Since this flower is a Black Rose, when it will reproduce, the offspring will have a 50% chance of being a Gold Rose.
VisitorVisitor Water All : False This flower has not been watered by any of the current day’s first 10 visitors. This flower has no reproduction chance bonus.

Some observations :

  • This flower’s current reproduction chance is 10% (10% base + 0% bonus). However, when it gets watered, then on a new day the water counter will be incremented to 5 just before rolling for reproduction, which will increase the reproduction chance to 15% (15% base + 0% bonus).
  • Since the golden water flag is raised and the regular water flag is not, it means that this flower has been watered by a golden can on a previous day.

Flower Breeding Example

Let’s breed these two flowers.

Parent A Parent B
OP
111101
(221)
UP
010011
(102)
  • Copy each gene from both parents and cut them in half
Gene Parent A Parent B
Gene 1 111 1 010 1
Gene 2 111 1 000 0
Gene 3 010 1 111 1
  • Punnett Square for Gene 1
  Parent A gives 1 Parent A gives 1
Parent B gives 0 01 01
Parent B gives 1 11 11

→ Offspring Gene 1 will be either 01 or 11 (50% chance each)

  • Punnett Square for Gene 2
  Parent A gives 1 Parent A gives 1
Parent B gives 0 01 01
Parent B gives 0 01 01

→ Offspring Gene 2 will be 01 (100% chance)

  • Punnett Square for Gene 3
  Parent A gives 0 Parent A gives 1
Parent B gives 1 01 11
Parent B gives 1 01 11

→ Offspring Gene 3 will be either 01 or 11 (50% chance each)

  • Total Punnett Square (optional)
  Parent A gives
1+1+0
Parent A gives
1+1+1
Parent A gives
1+1+0
Parent A gives
1+1+1
Parent A gives
1+1+0
Parent A gives
1+1+1
Parent A gives
1+1+0
Parent A gives
1+1+1
Parent B gives
0+0+1
OP
010101
(111)
OP
010111
(112)
OP
010101
(111)
OP
010111
(112)
OP
010101
(111)
OP
010111
(112)
OP
010101
(111)
OP
010111
(112)
Parent B gives
0+0+1
OP
010101
(111)
OP
010111
(112)
OP
010101
(111)
OP
010111
(112)
OP
010101
(111)
OP
010111
(112)
OP
010101
(111)
OP
010111
(112)
Parent B gives
0+0+1
OP
010101
(111)
OP
010111
(112)
OP
010101
(111)
OP
010111
(112)
OP
010101
(111)
OP
010111
(112)
OP
010101
(111)
OP
010111
(112)
Parent B gives
0+0+1
OP
010101
(111)
OP
010111
(112)
OP
010101
(111)
OP
010111
(112)
OP
010101
(111)
OP
010111
(112)
OP
010101
(111)
OP
010111
(112)
Parent B gives
1+0+1
RP
110101
(211)
LP
110111
(212)
RP
110101
(211)
LP
110111
(212)
RP
110101
(211)
LP
110111
(212)
RP
110101
(211)
LP
110111
(212)
Parent B gives
1+0+1
RP
110101
(211)
LP
110111
(212)
RP
110101
(211)
LP
110111
(212)
RP
110101
(211)
LP
110111
(212)
RP
110101
(211)
LP
110111
(212)
Parent B gives
1+0+1
RP
110101
(211)
LP
110111
(212)
RP
110101
(211)
LP
110111
(212)
RP
110101
(211)
LP
110111
(212)
RP
110101
(211)
LP
110111
(212)
Parent B gives
1+0+1
RP
110101
(211)
LP
110111
(212)
RP
110101
(211)
LP
110111
(212)
RP
110101
(211)
LP
110111
(212)
RP
110101
(211)
LP
110111
(212)

→ Offspring genotype will be 010101, 010111, 110101 or 110111 (25% chance each).

  • Possible outcomes
Parent A Parent B Offspring Chance
OP111101 (221) UP010011 (102) OP010101 (111)
OP010111 (112)
RP110101 (211)
LP110111 (212)
25%
25%
25%
25%