Series
Pikmin
7 games, 2001–2023.
Games
Interactive: timeline (needs JavaScript)
The series by yearMechanics
A marked cell changed from the game before. “Uses” means the game has the mechanic, with no variant recorded yet.
Every claim, by mechanic and game
| Concept | Pikmin 2001 |
|---|
| Day limit | - The game allows
MAX_DAYS = 30 days, counted by mCurrentDay (getCurrDay() returns it minus 1). At the end of a day with all 30 ship parts (MAX_UFO_PARTS) the good ending plays. Otherwise, a day count below 30 goes up by 1 with the end-of-day results, and once it has reached 30, the ending is the neutral one if the player holds at least MIN_HAPPY_END_PARTS = 25 parts, counted without five named parts (the Nova Blaster, Space Float, Massage Machine, Secret Safe, and UV Lamp), and the bad one if not. Computed: of 30 parts with 5 not counted, 25 means every one of the other 25. Code
|
| Resource harvesting | - When a pellet or an enemy body (both
Pellets with a config from parms/pelMgr.bin) finishes being drawn into an Onion, GoalItem::suckMe adds the config's mMatchingOnyonSeeds (p06) to the Onion's pending count if the config's type (p00) equals the Onion's color, and mNonMatchingOnyonSeeds (p07) otherwise; the code defaults are 1 and 1, and a negative value sets off fireworks instead. The Onion then fires one sprout of its own color per pending count, which lands and buries itself as a leaf; when no sprout object can be created, it stores a leaf Pikmin inside instead. Ship parts take the ship's path, not this one. In the decompilation's enum the type for bodies, PELTYPE_Corpse, is 0, the same value as PELTYPE_Blue, which the comparison would read as a blue match; the shipped configs' p00 values are data. Code
|
| Time of day | - The clock advances by the frame's real time (
gsys->getFrameTime()), and a 24-hour game day lasts 60 × daySpeed × day_multiply real seconds: daySpeed (p00) comes from parms/gamePrms.bin, with a code default of 20 minutes that a decompilation comment gives as 27 in the file, and day_multiply comes from the stage file, 1 if it has none. Each day starts at startHour (t00, default 7.0) and ends when the time of day reaches endHour (t01, default 19.0), so the playable span is 12 ÷ 24 of a game day (computed): with day_multiply at 1, 10 real minutes at the code defaults and 13.5 at the comment's 27. The clock advances only while no reset is pending (gsys->resetPending()), no menu is open outside a cutscene, nothing is paused (mPauseAll), no window is over the screen (mIsUIOverlayActive), no cutscene plays, the section's update flags include UPDATE_WORLD_CLOCK, and the game isn't in the tutorial (isTutorial()). Code - When a day ends (
GameCoreSection::cleanupDayEnd), outside challenge mode, the tutorial, and the game's ending (isEnding(): the 30th day, or all 30 ship parts), every Pikmin is killed and counted as left behind unless it is entering or leaving an Onion, or in its LookAt state, or following the captain (formation mode) in a state other than drowning, burning, swallowed, bubbled, dying, or flicked, or in free mode (FreeMode, in any state) within mSunsetSafetyRange (p60, "日没生き残り範囲", code default 200, read from parms/pikiMgr.bin) of an Onion or of the ship, measured by qdist2's ground-plane approximation (|dx| + |dz| − ½ min). Pikmin with mushroom heads die too. If any were left behind, the take-off cutscene plays its enemy-attack version. The survivors then all go into their color's Onion (exitDayEnd), and a Pikmin with no Onion of its color is killed. Code
|
| Unit growth | - A buried sprout (
PikiHeadItem) waits mGrowUpTime (p51, "growupTime(秒)") plus 0 to 2 seconds at random, then plays its growth animation and moves one stage, leaf to bud or bud to flower ((mFlowerStage + 1) % 3). A flower waits mWiltTime (p52, "kareTime(秒)") plus 0 to 2 seconds, then wilts: it becomes a leaf, and after mRebirthSeedTime (p53) plus 0 to 2 seconds it goes back to the buried state. The three times are read from parms/pikiMgr.bin; their code defaults are 4, 4, and 1 seconds. A plucked Pikmin keeps its sprout's stage. Code - A Pikmin that isn't yet a flower drinks when it touches a nectar puddle in its normal state, unless it is damaged, carrying (transport mode), or mushroom-headed; the puddle is an
OBJTYPE_Water object, which a decompilation comment calls nectar. If it drank, its growth animation makes it a flower (setFlower(Flower)) at once, from leaf or bud. Code
|