Pikifen/Changelog

From Pikmin Fanon
Jump to: navigation, search

The following is a general changelog for Pikifen. This changelog will only list the most notable differences between each version of the engine; for a more detailed list of changes throughout the development period, check the commit log on GitHub.

Some versions may be unable to read content created in older versions. If you want to keep your content from one version to the next, read the "Format change warnings" list in that update's section.

0.16.2[edit]

November 3rd, 2018

Changes
  • The Z coordinate of particles created from status effects and spike damage can now be controlled. (Thanks Neo)
  • Status effects can now also make the object glow. (Thanks Neo)
  • You can now use the mob_type comparand in the on_pikmin_land event.
  • The starting number of sprays can now be set per-area. You can set this in the area editor's "Info" panel. (Thanks Neo)
  • Fixed Armored Cannon Beetle not turning. (Thanks Kman, Neo)
  • Fixed a couple of carrying path-related crashes and glitches. (Thanks Neo)
  • Hopefully fixed random Pikmin carrying-related crashes. (Thanks Pikminfanboy9003)
  • Added some custom asserts to the code, which should make debugging certain crashes easier.
  • Shrunk the default Onion open range, so that it's less annoying.
  • Optimized part of the area loading process. (Thanks Neo)

0.16.1[edit]

September 22nd, 2018

Changes
  • Added a Z coordinate offset to the particle generator start action.
  • The Beady Long Legs's feet now turn towards the body. This was possible by changing the focus action, making it take a target.
  • The Beady Long Legs's head now properly floats above the ground, and will also rise according to the highest foot. For this, the stabilize_z action was created.
  • The Beady Long Legs's feet are no longer punchable.
  • Limbs now draw with effects, like darkening from being in a different sector.
  • Added the remove_status action, to remove a status effect. (Thanks Neo)
  • Fixed leaders and some other objects not becoming darker when they are inside darker sectors. (Thanks Kman)
  • Fixed area editor crash when loading an area with an unknown object. (Thanks Kman)
  • Fixed area editor crash when deleting a sector. (Thanks Neo)
  • Fixed Pikmin told to swarm trying to attack an object higher than them. (Thanks Neo)
Format change warnings
  • The focus action must now have a word after it to represent the target. trigger is the event's trigger object (the old action behavior), and parent focuses on the parent object.

0.16.0[edit]

September 13th, 2018

Changes
  • Object features:
    • Objects can now be linked to other objects.
      • In the area editor, you can specify links between objects.
      • In an object's spawn data, you can specify what links you want between the object that spawned and the object that got spawned, if any.
    • Objects can now send messages to other objects. This can either be all objects it has a link to, or all objects within a certain distance. The action send_message and the event on_receive_message have been created for this purpose.
    • Objects can now have "children" or "parent" objects. Children objects can be used as standalone parts of more complex objects. Like a leg of the Beady Long Legs, segment of the Armored Mawdad, hair of the Hairy Bulborb, etc.
      • When an object is created, any children objects defined in the children block of the object type's data file will also be created.
      • The child object can relay damage to the parent object, and/or handle it. Same goes for script events and status effects.
      • The child object can also be connected to a specific parent body part, or the parent object center.
      • It's possible to draw a "limb" between the two.
    • Objects can now be walked on top of. Use the attribute walkable in the object type's data. Nearby objects will climb on top if they are at least 50 units away (vertically).
    • Objects can now have rectangular collision. This system can be used for gates and the like. It should only be used for these kinds of objects since the engine is not ready to handle the collision between two rectangular objects, for instance.
    • Added some script actions to better support an arachnorb enemy.
      • arachnorb_plan_logic can be used to plan where the arachnorb head needs to be after the next set of steps. This can either involve it turning in a different direction, or walking somewhere.
      • move arachnorb_foot_logic requires a parent and a limb with a parent body part. It makes the object move towards its rightful spot somewhere else, such that when all feet finish moving, the arachnorb head object will end up in the spot it wanted to.
      • move linked_mob_average makes the arachnorb head object move to the average location of its linked objects.
      • turn arachnorb_head_logic updates the arachnorb head's angle based on the current position of its feet objects.
  • Added a Beady Long Legs. I couldn't find a good place for it in the Play area, though.
  • Rendering changes:
    • Object, area layout, and particles are now drawn a bit differently, internally. You might see things you couldn't before and vice-versa. Most notably, objects that are poking inside a wall will have the obscured parts properly obscured now. This is a pretty intensive change, so let me know if you see something being drawn wrong.
      • The before_mobs property in a particle generator's data has been removed due to the new ordered drawing. But please give me feedback on this change.
    • The way objects are scaled for the height effect has been changed. Now, it's less subtle, but needs to be called manually using script actions. Falling into a bottomless pit also shrinks the object down until it's gone.
  • Onion changes:
    • Pikmin in Onions are now controlled per-Onion, instead of globally. The Onion also keeps track of the amount of Pikmin of each maturity.
    • The whistle button can now stow away one Pikmin in the Onion you are close to. This feature is temporary until a proper Onion system is in place. (Thanks Kman)
  • Minor new features:
    • Added a turns_invisible parameter to status effects. If true, objects with this status are invisible to opponent objects.
    • Added a maturity_change_amount parameter to status effects. These allow Pikmin to mature or whither.
    • Added a buries_pikmin parameter to sprays. If true, using the spray on a Pikmin will bury it and turn it into a sprout.
    • Added a receive_status action. This can be used to give an object a status effect. (Thanks Kman)
    • Added a move away_from_focused_mob action. (Thanks Kman)
    • Added field_pikmin as a comparand for if actions. This can be used to know how many Pikmin are currently on the field. (Thanks Kman)
    • Added a pushes_with_hitboxes attribute.
    • Added a can_free_move attribute, that allows an object to move in any direction freely regardless of where it's facing.
    • Added the start_height_effect and stop_height_effect actions to control the object height effect.
  • Other changes:
    • Attacks with hitboxes with hazards can now miss, like normal attacks. (Thanks Kman)
    • The area selection menu now uses the areas' names, instead of the folder names.
    • Minor bug fixes and tweaks. (Thanks Kman)
Format change warnings
  • When spawning an object, the object type name, position, etc. is now specified in the data file, not the script file. This is similar to how reaches work.
  • The onion_starting_number attribute in a Pikmin type's data has been removed. Now, you can use the pikmin_inside variable when spawning an Onion. Example that starts an Onion with 8 leaf Pikmin and 1 flower Pikmin inside: pikmin_inside = 8 0 1.

0.15.1[edit]

June 23rd, 2018

Changes
  • Fixed sprite bitmap part picker causing a stack overflow crash on large images.
  • Fixed sprite bitmap part picker resetting the camera position and zoom every time anything happened.
  • Fixed a mob spawning another mob out-of-bounds causing a game crash. Happened with the Armored Cannon Beetle.
  • Fixed Pikmin thrown directly at a whole (such that they wouldn't slide sideways) losing all momentum and not making it up the wall.

0.15.0[edit]

June 16th, 2018

Changes
  • Revamped animation editor:
    • There is now a panel to edit the sprite bitmap file info on. It includes the ability to click parts of the spritesheet, and a button to browse for an image file.
    • All sprite-related panels have received a button to import data from a different sprite.
    • The sprite transformations, Pikmin tops, and hitboxes are now controlled via on-canvas handles.
    • The sprite comparison can now be tinted (along with the current working sprite), and can be placed either above or below the working sprite.
    • Hitbox editing now has a side-view mode, which helps adjust hitboxes vertically.
    • When picking a file to load, you can now browse a list of object types right away, or a list of global animations, instead of having to browse your engine's folders.
    • The bar of buttons on the bottom-right was moved to the top-left as a more standard toolbar, and packs more tools now.
    • The unsaved changes warning is now a small balloon next to the button you tried to press. It goes away on its own.
    • There's an options panel now. The only option I can think of right now is using the middle mouse button to pan, like the area editor has.
    • Controls and shortcut keys have been standardized like the area editor.
    • Sprites now have an "angle" parameter, so they can be rotated.
    • Added icons to the main menu's buttons.
    • When you boot it up, it opens the load menu right away. Adding a new frame to an animation also opens the sprite picker right away.
    • Tons of other tiny fixes and improvements.
  • Area editor improvements:
    • Ported some of the changes the animation editor received: the toolbar, buttons to browse for files to use in various panels, the unsaved changes warning balloon, and the zero key to reset view.
    • Added a quick play button. It saves the area, quits, and starts playing that area. Leaving will return to the area editor.
    • Added a cursor snapping mode button, which toggles between "snap to grid", "snap to vertexes", "snap to edges", and "disable snapping". (Thanks Neo)
    • Added stats to the main panel.
    • Area reference images can now be loaded from anywhere in the disk.
    • The problem finder can now detect bridge mobs that aren't on a bridge sector.
  • Added on_land as an event usable in the mob script.
  • If there were errors loading the area, a quick notification will be shown after the area loads.
  • Added Yellow Wollywog. (thanks Kman, Neo, Scruffy, Untitled)
  • Fixed minor glitches (thanks Kman)
Format change warnings
  • Sprites no longer use a "game size", but rather, a "scale". If you made custom animations that changed the size of the sprite, you'll have to re-specify the size with the scale.
  • In animation text files, the parameters "outward" and "angle" regarding hitbox data are now "knockback_outward" and "knockback_angle". If you have animations with hitboxes that cause knockback, redo the knockback data.
  • Area backups have been moved from User_data/Area_backups/* to User_data/Areas/*, and the file names went from Geometry.txt and Data.txt to Geometry_backup.txt and Data_backup.txt. If you care about your backups, make this change accordingly.
  • Area reference image data was moved from User_data/Area_editor_references/* to User_data/Areas/*. The reference configuration text file is the same, except it now has an extra parameter, file, where you specify the path to the image to serve as a reference. Also, the reference no longer needs to be Reference.png in the area's reference user data folder. It can be anything on-disk. (Thanks, Neo)

0.14.0[edit]

April 24th, 2018

Changes
  • Added leader punching.
  • Reworked the hitbox and damaging system, so expect a different look and feel.
    • Now, all mob types can have a list of resistances.
    • Attacks can now wither Pikmin maturity by one level.
  • Added Armored Cannon Beetle and its boulder.
  • Reworked the mob scripting.
    • The mob script text file can now have an init block, where you can specify actions that should be run when the mob spawns.
    • Conditions (if-then) now have an "else".
    • Conditions can also check for much more than just a variable's value.
    • Enemies now shake if it's been X seconds and Y damage since the last shake. This should make fighting enemies much better, since they aren't shaking all the time.
    • Some stuff is now handled automatically: handling death (though now you have to specify the death state's name in a parameter), handling sprays, handling bottomless pits, releasing held Pikmin on death, and stop walking on death.
    • Added the following actions: turn (turn to a direction), set_tangible (whether an object is tangible or not), randomize_var, move focused_mob_pos (moves to the focused mob's position at that moment), teleport, spawn (spawns an object).
    • Added the following events: on_tick (triggered every game tick), on_touch_object, on_touch_wall.
    • Added a bunch of options to existing actions.
    • Added some mob type parameters:
      • blocks_carrier_pikmin, which can make an object block carrier Pikmin if it is alive.
      • appears_in_editor, which can make a mob type not appear in the area editor's list. (Thanks Kman)
      • is_projectile, which is useful for objects that are meant to cause destruction and harm.
      • projectiles_can_damage, which is useful for obstacles that shouldn't lose health when projectiles hit.
  • Minor tweaks.
    • Updated the application icon, which was outdated.
    • The engine now reports initialization errors at startup.
    • Gates now push objects on their own, instead of relying on a sector.
    • Area editor's object picker now has the category names aligned to the left, so they don't blend in with the buttons.
    • Made the Red Bulborb, Dwarf Red Bulborb, and Whiptongue Bulborb turn around on the spot to align, like in the canon games.
    • Bridges over bottomless pits are now possible.
    • Rebalanced some enemies.
    • Fixed dead leaders locking up gameplay. If the active leader dies, the game switches to the next, and if all die, returns to the main menu.
    • Changed the default zoom level from 1.5 to 1.4.
    • Other minor tweaks and bug fixes. (Thanks Neo, Kman)
Format change warnings
  • The attack_power parameter for Pikmin has been removed. Pikmin damage is now controlled by the hitbox's attack multiplier.
  • Pikmin no longer attack using frame signals, but instead with hitboxes, just like enemies.
  • Pikmin and leaders now need hitboxes in order to be damaged.
  • Bottomless pits are no longer a sector type, but a flag. There's a new checkbox on the area editor, so update your areas's bottomless pits accordingly.
  • Gates now push objects on their own. Update your areas so that gates are not on top of sectors of the "blocking" type.
  • Attacks in animations got some changes.
    • In animation files, a hitbox's multiplier parameter is now called value. Either do a global text replace, or re-apply your animations' hitbox data in the editor.
    • Leader/Pikmin health has been increased to be similar to most other objects. As a result, enemies, hazard, etc. should cause more damage accordingly.
  • Mob scripts have been reworked.
    • Actions no longer use equals signs.
    • The if_not, if_less, and if_more actions have been all condensed into the if action.
    • if action now needs an accompanying endif action. This also means several actions can go inside the same "if" section.
    • The format for the if actions is now if <left-hand side> <operator> <value>, with <left-hand side> being var followed by the variable name, or just the name of some special information, <operator> being one of =, !=, <, code>></code>, <=, code>>=</code>.
    • The on_big_damage event is gone, in favor of the "itch" system. on_itch is triggered when it's been X seconds and Y damage since the last itch event.
    • The on_death, on_touch_spray, and on_bottomless_pit events have been removed, since they are now handled internally, automatically. Mobs must declare the death_state parameter, so the script knows what state to send the mob to when it dies. Also, if you wanted any state to not handle the death or spray events, you will have to specify them in the states_ignoring_death and states_ignoring_spray parameters, respectively.
    • Renamed some actions to make more sense: animation to set_animation, far_reach to set_far_reach, gravity to set_gravity, health to set_health, hide to set_hiding, near_reach to set_near_reach, state to set_state, timer to set_timer, var to set_var, inc_var to increment_var.
    • eat was split into swallow and release.
    • chomp was split into start_chomping and stop_chomping.
    • particle was split into start_particles and stop_particles.
    • move stop and move stop vertically were changed to stop and stop vertically. special_function delete was changed to delete. special_function die_start was changed to start_dying. special_function die_end was changed to finish_dying.
    • move vertically was removed.
    • The move action's relative coordinates now rotate with the object, so +X is the object's front, -Y is the object's left, etc.
    • move, set_health no longer assume "absolute" values if you don't say "relative". Now, you have to specifically say either "relative" or "absolute".
    • The on_mouth_empty and on_mouth_occupied events have been removed in favor of the if action and the chomped_pikmin comparison.
    • The start_particles action now requires the (relative) coordinates to spawn the particles from.

0.13.0[edit]

February 11th, 2018

Format change warnings
  • The area editor backup files have moved to /User_data/Area_backups/<area name>, and are called Data.txt and Geometry.txt. Move your existing backups over if you care about them.
  • The area editor reference images and their position data have been moved to /User_data/Area_editor_references/<area name>. If you care about a reference image, move the image file here, and rename it to Reference.png, and if you want to port the center, size, and opacity data, find it in the area's Data.txt file and port it to its own file called Reference.txt in this folder.
  • Your options will now be loaded from /User_data/Options.txt. Move the file there if you care about your settings.
  • Your creator tool configurations will now be loaded from /User_data/Tools.txt. Move the file there if you care about your tools settings.
Changelog
  • The project has been renamed to "Pikifen".
  • Changed the default resolution and zoom so everything looks bigger and better.
  • User data now goes into its own folder. This includes: the options file, creator tools settings file, area editor backups, area editor reference images, and error log. This should make things more organized, and should make it easier to share your content without worrying about accidentally including files that only concern you! And don't forget to move your options file there, too, if you care about your settings.
  • Areas can now have "creator", "version", and "notes" fields.
  • The title screen now has a proper Pikmin logo system.
  • Added an options menu for players to set the resolution, and to enable fullscreen.
  • Added an option to the area editor to allow panning with the middle mouse button (and resetting the camera/zoom with the RMB).
  • Added Whiptongue Bulborb.
  • Added notifications instructing the player how to pluck, stop the auto-pluck, open an Onion, and get up from lying down.
  • The controls for stopping the auto-pluck and getting up have been changed from any button to just the whistle button.
  • Leaders and Pikmin now walk a bit faster.
  • Fixed carrier Pikmin getting stuck against one another.
  • The advanced sector behavior settings now hide the "tags" field if the current sector type doesn't need it. Set the sector type to "Bridge" or "Bridge rail" to enable it, and also update its description accordingly.
  • Added an "import hitboxes" button when editing a sprite's hitboxes.
  • Misc. menu improvements.
  • Improved Pikmin graphics:
    • Standby icons no longer look like lifeless clay models.
    • Walking animation is now more lively.
    • Yellow Pikmin ears are much more accurate.
    • General tweaks.
  • Minor bug fixes and tweaks.

0.12.0[edit]

December 23rd, 2017

Format change warnings
  • Area format updates
    • The leaf shadow texture was renamed from Leaf shadow.png to Tree_shadow.png.
    • Area backgrounds are now fetched from the Game_data/Images/Textures folder.
    • An area's reference image coordinates now specify the center, not the top-left. The parameter in Geometry.txt is now called reference_center instead of reference_pos.
  • In Game_data/Misc/HUD.txt, the HUD items that had key in the name now have button. The coordinates also now specify an invisible box from which the HUD item cannot go beyond; most HUD items will maintain aspect ratio and still fill this box.
  • Pikmin animations for sprouts renamed from buried to sprout. Similarly, the script variable buried in the area editor, used to spawn sprout Pikmin, has been renamed to sprout.
Changes
  • New area editor!:
    • New features:
      • You can now select, move, and even edit multiple vertexes, edges, sectors, objects, path stops, or path links at once.
      • Sector drawing and vertex moving are more intelligent and friendly in general.
      • An "Info" panel to edit the area's name, weather, etc.
      • Undo button.
      • Textures are now drawn on the sectors.
      • When dragging vertexes or drawing edges, a number will appear that shows the length of relevant edges.
      • The "Options" panel got several more options: toggle the edge length number, switch view mode (show textures, just wireframe, heightmap, or brightness map), specify the auto-backup timer, and specify the undo limit.
      • A tool to quickly offset, scale, or rotate the textures of sectors you click on.
    • Quality-of-life tweaks:
      • When drawing a sector or moving a vertex, you can now place vertexes on existing edges without needing to create a vertex there first.
      • Status bar now writes more warnings, and will also scroll automatically when showing long messages.
      • Picker panels now have a brief description, and let you search using the text box at the top.
      • The area picker will appear right away when loading the area editor, and the object type picker now has all mobs, split into categories with separators.
      • Sector hazards are now controlled with buttons and pickers, instead of the user having to write a list manually.
      • The reference and shadows can now be transformed using draggable control points.
      • Implemented several keyboard shortcuts, as well as Esc to cancel operations and deselect all, Ctrl+A to select all, etc.
      • When drawing a new sector, it uses the top suggestion in the list of suggested textures, and when placing a new object, it uses the last type set (or a Red Pikmin by default).
      • The path editor has been changed to allow the user to draw paths in a more streamlined way.
    • Other changes:
      • Reference data has been moved to the "Tools" panel.
      • Double-clicking the middle mouse button now resets the camera to the origin.
      • The main panel now has icons for each button.
      • Many more minor tweaks and quality-of-life changes.
  • Added White Pikmin ingestion poison in the form of a new feature: spike damage.
    • Creators write down the types of spike damage. These determine what the damage is, what triggers it (damage when ingested, or damage when attacked), and what particles come out.
    • Any mob type can make use of a type of spike damage.
    • Any mob type can also use a list of vulnerability modifiers, making it more or less vulnerable to certain types of spike damage.
  • The file Misc/System_asset_file_names.txt can now be used to override system asset file names. For instance, instead of the game icon being loaded from Icon.png, it can be loaded from some other image.
  • Sprouts now evolve in stage over time. Pikmin types have new parameters: sprout_evolution_time_1 specifies how long a leaf Pikmin must wait before evolving, in seconds. sprout_evolution_time_2 is the wait time for bud Pikmin, and 3 is for a flower to wither back.
  • New creator tool options: area_image_mobs, if set to false, hides mobs, particle effects, etc. from the final area image. mob_hurting_percentage lets you change how much health the mob will lose with the "hurt mob" tool; the default is also now 50% instead of 20%.
  • Details:
    • The mouse cursor jumping to the leader cursor on area load was annoying, so now it does the opposite.
    • New particle graphic: rock. This is used when a Pikmin seed ejected from an Onion lands.
    • Enemy spirit size now depends on enemy size.
    • When repairing the suit at the ship, some sparkles come out. There is now also a notification telling the player how to repair the suit when they get near.
    • HUD elements now move in from off-screen when the area is entered.
    • If there's no carrying path in the area, the Pikmin will just make a beeline for the Onion/ship.
    • The "missing texture" texture went from a red "ERROR" to a violet-and-black checkerboard pattern.
    • Notification bubble is now black, so the white text on it can be read better.

0.11.0[edit]

July 27th, 2017

Notes
  • Your old right/up/left/down controls will not be recognized in this version. Please re-map them in the options menu.
  • If you made custom weather conditions, you'll need to edit Weather.txt as per the changelog.
Changes
  • Pressing the "Pause" button now exits to the main menu, instead of closing the game.
  • Areas are drawn differently now:
    • Slightly higher CPU usage (~+5%), but much lower VRAM usage (~-50%).
    • The area_quality option is gone; walls will have the same resolution regardless of zoom.
    • Bridges will now use the background in their seams instead of the sector under them -- this will be fixed in the future.
  • The mipmaps option was added to Options.txt. Set this to "false" to disable mipmaps (for slightly higher CPU usage, but lower VRAM usage).
  • Improved controller support:
    • Analog sticks now obey deadzones -- these can be set with the joystick_min_deadzone and joystick_max_deadzone options in Options.txt. This way, analog sticks won't have loose wiggle accounted for, and some joysticks (like the Switch Pro Controller) can be considered "fully tilted" when they're technically only sending around 70% tilt.
    • Added menu navigation controls.
    • In Options.txt, controls for player 1's movement are no longer called p1_right, p1_up, etc., but rather p1_move_right, p1_move_up, etc. The same change was made for the other player numbers.
  • Added a crash handler.
    • If the engine crashes, a message appears, a screenshot is dumped, and diagnostic information is written to the logs.
  • Added the Crumbug.
  • Enemy attacks can now have a chance of not knocking back any given Pikmin. This is useful for shake attacks that only shake off 75% of the Pikmin, for instance. The pre-packaged enemies were updated with some chances.
  • Area editor improvements:
    • Ctrl + Minus now deletes the selected mob on the area editor.
    • Middle-clicking now keeps the cursor on the same spot.
  • Weather changes:
    • Added fog. fog_color is a table, much like lighting, that controls the fog's color at 100% density throughout the day, and fog_near and fog_far control the distance at which 0% density ends and 100% density starts, respectively.
    • In Weather.txt, a weather condition's name is now the same name as the block, instead of being a name parameter inside a weather block.
    • If a weather condition has no lighting table an error will no longer be logged.
  • Wall shadows now depend on sector height difference. They're also now drawn on top of water, and are slightly darker overall.
  • The Cloaking Burrow-nit now takes no damage if hit from back, like in Pikmin 2.
  • When a mob has to decide to interact between multiple nearby mobs, it now picks the closest one instead of the first one the engine checks. This means a Pikmin thrown at several tasks will go to the nearest one.
  • You can now take multiple screenshots, since they are now saved with different file names, based on when you took them (plus a number if you take several in one second).
  • Misc. optimizations, improvements, and fixes.

0.10.0[edit]

May 27th, 2017

List of changes
  • Editor improvements:
    • New area editor features:
      • You can now create a new area when on the list of areas.
      • "Create circular sector" button.
      • "Delete isolated sector" button.
      • Cross-section view.
      • Clicking the latest placed vertex when drawing a sector now allows you to place it again.
    • New animation editor features:
      • When editing a Pikmin top's positioning, allow moving with the mouse.
      • Sprite offset tool also includes resize now, as well as mouse movement support.
      • A button to turn all in-game W/H into a multiplier of the file W/H.
      • A way to rename frames/animations.
    • GUI graphical image buttons instead of text.
    • The width of the editor GUIs is now more flexible.
  • Group improvements:
    • Made group organization and throwing work like in Pikmin 3, via select, continuous throw, and type switch.
      • The scroll wheel directions are now the default group member switching controls.
      • Maturity switching now only works when holding a Pikmin.
      • The config file now allows you to set a preferred Pikmin order (used for choosing which Pikmin type to throw next).
      • The config file now allows you to set a preferred leader order (used when changing to the next leader).
      • The config file now allows you to enable or disable throwing leaders.
      • The HUD now shows the number of Pikmin of the standby type, the group total, and the field total; the latter two bubbles are labeled.
    • Pikmin in groups move more dynamically:
      • If the leader is nearby, they just shuffle along, but keep formation.
      • If the leader is far away, they follow behind and try to stay behind the leader's back.
      • Throwing sorts the group and puts them behind the leader.
      • Group moving now stretches the group to the destination.
    • Leaders following leaders now don't awkwardly stick to the main leader, but follow in a line.
    • Dismissing now separates and places Pikmin properly, for any number of Pikmin or subgroups.
  • Gate and bridge changes:
    • Gates must now be on a sector of the "blocking" type, not of the "gate" type; that type is now gone.
    • Pre-packaged gate radius is now 32 instead of 48, so that Pikmin hitting it don't seem so telepathic.
    • Created the "Bridge" mob category, allowing several types of bridge, with different HP, graphics, etc.
  • New features and content:
    • "Blackout" effect for weather – everything is dark, but objects give off light.
    • Added specialized HUD bubbles for the different parts of the Pikmin counter, and the ability to specify your own HUD graphic file names on Game_data/Misc/HUD.txt.
    • disables_attack parameter for status effects; I've also added this parameter to petrified enemies to stop them from hurting unfairly.
    • Cursor now gains an "X" if the held Pikmin/leader cannot reach the cursor's ledge.
    • Idle leaders now pluck Pikmin on their own.
    • Creator tools can now also be bound to keys 0 - 9.
    • "Coordinates" creator tool is now the "geometry info" tool, and it also shows basic info about the sector under the mouse cursor.
    • Added a "show hitboxes" creator tool – pressing the key toggles hitbox visibility on enemies, similar to how they look in the animation editor.
    • Added Fiery Blowhog.
  • Tweaks, balance changes, etc.:
    • In animations, "Frames" are now "Sprites", "instances of frames" are now "frames", "hitboxes" are now "body parts", and "instances of hitboxes" are now "hitboxes".
    • The area editor "guide" image now goes by the much more apt name "reference" image.
    • Pikmin will no longer stop to wait for new carriers. It looks like letting the carriers reach their spot normally is enough.
    • Revamped grounded attacking and re-chasing.
    • Made plucking faster and impossible to cancel mid-animation.
    • Pikmin throws are faster and more balanced in max height – this also changes the global gravity by making it heavier.
    • Made a day take 15 minutes to pass.
    • Enemies now ignore Pikmin when returning home for only 2 seconds.
    • Loads of tiny fixes and improvements.
Updating older content

If you have created any custom content from this list, you must make the appropriate corrections noted here if you want it to work on 0.10. If not, you can forget this section.

This section is only for content created on version 0.9; if you created content in a version before that one, please port the content version by version. Before you start, I recommend you create a backup of your content. I've made a tool that'll convert some of the files – you'll have to do the rest by hand. To use the tool, go here, and download the page as an HTML file. Then, open said HTML file with your browser of choice, and follow the instructions there.

  • Main config file:
    • cursor_spin_speed now uses degrees instead of radians.
  • All animations:
    • frames -> sprites.
    • frame_instances -> frames.
    • hitboxes -> body_parts.
    • hitbox_instances -> hitboxes.
    • file_x = <x> + file_y = <y> -> file_pos = <x> <y>.
    • file_w = <w> + file_h = <h> -> file_size = <w> <h>.
    • game_w = <w> + game_h = <h> -> game_size = <w> <h>.
    • offs_x = <x> + offs_y = <y> -> offset = <x> <y>.
  • Areas:
    • guide_x = <x> + guide_y = <y> -> reference_pos = <x> <y>.
    • guide_w = <w> + guide_h = <h> -> reference_size = <w> <h>.
    • guide_file_name -> reference_file_name.
    • guide_alpha -> reference_alpha.
    • Any enemies in the "Misc." mob category need to be changed to the "Custom" category.
    • Bridges now belong to the "Bridge" category. It's better to delete the existing bridge objects and create them again with the editor.
  • Particle generators:
    • speed -> total_speed.
    • speed_deviation -> total_speed_deviation.
    • speed_x = <x> + speed_y = <y> -> speed = <x> <y>.
    • speed_x_deviation = <x> + speed_y_deviation = <y> -> speed_deviation = <x> <y>.
    • x_deviation = <x> + y_deviation = <y> -> pos_deviation = <x> <y>.
    • angle and angle_deviation now use degrees instead of radians.
  • Mob config files:
    • rotation_speed now uses degrees instead of radians.
    • throw_height_mult -> throw_strength_mult (Pikmin and leaders only).
  • Mob scripts:
    • Mob types have lost the sight radius, near radius, etc. in favor of a detailed "reach" system:
      • Each mob type can have any number of reaches – a reach is defined by 1 or by 2 pie-slices. If an opponent is inside these pie-slices, they're considered "in reach".
      • The mob script can set what the active reach for "new" opponents is, and what the active reach for the focused opponent is.
      • For instance, a Red Bulborb, while chasing, has its "near" reach set to a pie-slice in front of it; if a Pikmin goes inside this pie-slice it will trigger an attack. Meanwhile, its "far" reach is a circle around it, such that it can always chase around the focused mob, until a certain distance.
  • Pikmin:
    • Pikmin attack intervals are no longer controlled by an attack_interval parameter, but rather, the attack connects when one frame of animation sends a "signal".
  • Sprays file:
    • angle and angle_range now use degrees instead of radians.
  • Tools config file:
    • coordinates tool -> geometry_info tool
  • HUD config:
    • There is now a positions block, that holds the coordinates of all elements, and a files block, where you specify what textures to use for the different elements.
    • 0 0 0 0 can now be used for elements you don't want.
  • Folders:
    • Game_data/Types/Misc. -> Game_data/Types/Custom.
    • Bridge type is now a thing, as is the bridge category of mobs.

0.9.0[edit]

December 22nd, 2016

  • Replaced copyrighted graphics and sounds with free license ones.
  • Standby Pikmin HUD icons are now split: one bubble for the Pikmin type, one for the maturity (pikmin_standby_m_icon).
  • Bridge rails now have their own texture.
  • In the HUD, the sun bubble is just a regular bubble, but tinted.
  • Fixed vertexes not merging according to the zoom level, when creating a sector in the area editor.
  • Minor bugfixes.

0.8.0[edit]

August 6th, 2016

  • New content
    • Hazards, sprays, status effects, liquids
      • Pre-packaged fire, lethal electricity, stunning electricity, water bodies, water bubbles, ink, and poison hazards.
      • Pre-packaged ultra-bitter and ultra-spicy sprays.
      • Pre-packaged fire geyser, gas pipe, and Pikmin 3 electric gate obstacles.
    • An actual particle system, with custom particle generators.
    • Area editor
      • Sectors can now be created by drawing them.
      • Debugging tools on the F keys.
      • Auto-backups.
    • Animation editor
      • Frame offset wizard tool.
      • Recent file history.
      • "Apply duration to all" button when editing an animation's list of frames.
    • Fading sectors now fade brightness.
    • Sectors can now be tinted by a custom color.
    • Pre-packaged enemies
    • The ability to add a counter for the Pikmin of the standby type to the HUD, like in Pikmin 3.
    • "Misc." category for mobs (used for obstacles).
    • is_obstacle and allow_ground_attacks properties.
  • Player-relevant changes
    • Fixed edges of graphics being muddy (no premultiplied alpha).
    • The engine now complains if you try to run it without a Game_data folder, or inside the zip file.
    • Leaders have a different spark animation.
    • The options file was revamped. I recommend deleting the old file and letting the engine create a new one.
      • Added a max_particles option, removed daylight_effect, and renamed window_pos_hack to window_position_hack.
      • Added an option for the middle level of zoom. Pressing C toggles between 0.5, 2.0, and that level (default 1.0).
      • Dozens of tiny changes (hence why I recommend deleting the old file).
  • Creator-relevant changes
    • Ships now rotate and act more correctly.
    • Moved the title screen logo animation into the Animations folder.
    • Made the mob info creator tool lock-on to a mob, and update its data every frame. Activating it on the same mob again unlocks it.
    • Renamed enemy folders.
    • Animation, frame, state, etc. names were made more consistent (it was a mess between adjectives and verbs). If you made custom content for the engine, please re-read the tutorials on the wiki to update the names of the animations for your Pikmin, gates, etc.
  • Known problems
    • If a Pikmin that was going to a carrying spot dies, carrying becomes impossible for that object.
    • Carrying the billiards ball on Play only to the ledge immediately below, and whistling the Pikmin makes it stuck.
    • Rarely, you can have leader 1 pluck Pikmin, be called by leader 2, and have some Pikmin belong to leader 1's group instead of leader 2's.

0.7.2[edit]

April 12th, 2016

  • Area editor improvements
    • An options screen with the ability to switch the grid size.
    • The ability to duplicate objects quickly.
    • Everything is now a lot easier to understand, mostly due to color balances (thanks, Doom Builder!)
    • Objects are now color-coded based on their category.
    • A special tools menu, with the ability to resize the whole area.
    • Reorganized some things.
  • A special tools menu on the animation editor, to resize all images, hitboxes, etc.
  • Increased gate size (so that 20 pellets may pass).
  • Shrunk Female Sheargrubs to resemble the canon games better.
  • It's now possible to enter an area or editor straight away (auto_start_mode and auto_start_option on Tools.txt).
  • Added a document with misc. code-related info to the git repository.
  • Minor bugfixes.

0.7.1[edit]

March 26th, 2016

  • Fixed enemies dying instantly if a Pikmin hits them while they're shaking.
  • Fixed enemies attacking obstacles.
  • Fixed Pikmin getting stuck in their thrown state.
  • Fixed Pikmin trying to carry stuff to a ship when there is none.
  • Fixed enemies pushing leaders and Pikmin through walls (99% of the time at least).
  • Fixed Pikmin acting weird if commanded to walk off a cliff.
  • Fixed an area's background randomly showing a broken triangle of texture.
  • Fixed area editor breaking a sector when merging vertexes of a nearby sector.
  • Fixed area editor not updating a texture's advanced settings if the angle is changed.
  • Fixed Pikmin walking in a circle if their destination is really close.
  • Fixed F11 not being a valid creator toolkit key.
  • Fixed walls being ignored if they're perfectly vertical/horizontal and on coordinates multiples of 256.
  • Fixed a softlock when switching leaders right as a day starts.
  • Added the original SVG files + a random helpful information document on the repository.
  • Enemy scripts can now specify what happens when it falls into a bottomless pit with on_bottomless_pit.
    • Implemented behaviors for the prepackaged enemies.
    • The delete special function can be used to delete the object straight away.
  • Pikmin now sigh (for 2 seconds) if they fail to join an object's carriers.
  • Made the starting number of Pikmin on Onions editable (Game_data/Types/Pikmin/<type>/Data.txt, onion_starting_number).
  • Increased task detection range, and made it into two parameters – idle (idle_task_range) and group moving (group_move_task_range).
  • Increased shaking and attacking hitbox sizes for prepackaged enemies.

0.7.0[edit]

March 19th, 2016

  • Added carrying paths.
  • Wall collisions were massively improved (objects don't stick on them while sliding).
  • Added a "creator toolkit", with some helpful debugging tools for content creators.
  • Added Female Sheargrub.
  • F12 now takes a screenshot (it is placed on the same folder as the engine).
  • Implemented bottomless pits.
  • Changed the format of some internal things. See here for a list of changes that need to be made to convert any user-made creations to version 0.7.
  • Replaced the existing treasure with two, better ones.
  • HUD coordinates can be customized.
  • Quite a few game parameters are now customizable, like max Pikmin number on the field, cursor reach, etc.
  • Script changes
    • The gravity action is now a multiplier.
    • Added move = stop vertically to stop all vertical momentum.
    • Added hide action to hide the shadow and health wheel.
  • Editor changes:
    • Editors now ask you if you want to quit without saving.
    • Animation editor can now edit any text file, not just object animation text files.
    • The animation editor now suggests file names and in-game width/height.
    • The area editor now suggests textures, with icon previews.
  • Aesthetic
    • Mouse controls have their own graphics instead of saying "M1", "M2", etc.
    • The camera moves smoother now.
    • Info spots have a new notification style.
    • Default framerate is now 60 FPS.
  • Plus misc. changes that aren't noteworthy.

0.6.0[edit]

January 1st, 2016

  • Added menus (main menu, options, area selection, access to the editors).
  • New icon.
  • Added a White Spectralid enemy.

0.5.0[edit]

October 11th, 2015

  • Massively revamped mob logic.
  • Objects now walk like a car: they can only move forward and turn.
  • Added bridges and gates.
  • Objects can block and/or push each other.
  • Added a Dwarf Red Bulborb enemy.

0.4.0[edit]

August 16th, 2014

  • Added Walls, floors, textures, etc.
  • Revamped Pikmin AI.
  • Revamped some graphics.
  • Added a Red Bulborb enemy.

0.3.0[edit]

March 9th, 2014

  • Added animation editor.
  • Added basic enemy AI.
  • Improved HUD.
  • Added a Cloaking Burrow-nit enemy.

0.2.0[edit]

December 24th, 2013

  • General improvements and additions.

0.1.0[edit]

October 23rd, 2013

  • Engine launch.