Pikifen



Pikifen (formerly known as the Pikmin fangame engine) is a real program made by Espyo that is capable of creating and playing Pikmin fan content. It is an open-source engine, currently under development, that can handle gameplay similar to the Pikmin games, in that it allows leaders to whistle and throw Pikmin, allows Pikmin to carry objects, etc. Although the idea is for fans to create their own content (enemies, areas, etc.) so the engine can read it and turn it into something playable, the current download also comes with some pre-packaged content, which makes it possible for people who download it to experiment with its features right away.

The reason for its creation was to make it possible for fans to make their own Pikmin fan content and to be able to play on it, by requiring only assets and data, while the engine itself handles all of the more complicated parts like the physics and artificial intelligence. Its most recent version, in alpha, is available for download. The engine can run on Windows, Linux, and Mac.

The official Discord server for the project can be found here.

Overview
The game created by the engine has a 2-dimensional look, and is seen from an top-down view, although it is still a 3-dimensional game, in that height and gravity exist. The mechanics attempt to mimic those found in the Pikmin games, although not always to the same degree. They can be different because it's easier that way, it's better for the engine's flexibility, or because it's not possible to fully replicate what happens in the canon games.

Players can only currently select what area to play on, after which they are taken to that area and are free to play around with no objective. Win conditions, failure conditions, and progression will be added in the future.

Being a PC game, it is played using a keyboard, mouse, and/or a gamepad. Since it is still in development, some features may be fully implemented, missing entirely, or working incorrectly.

Notable features

 * Replicates most of the standard Pikmin gameplay.
 * Content that can be edited via text files, or just replacing the image and sound files.
 * Area editor and animation editor.
 * Scripting for custom objects.
 * Tools to help with debugging custom content.
 * Customizable control schemes.

Windows

 * Download link

The latest version available for download for Windows is shown at the top of the download link's page. The download is a compressed (zipped) file, which should be simple to extract. It should be less than 20MB in size when uncompressed, requires no special permissions or installations to play, and has very low minimum system requirements. Just unzip everything onto a folder, and double-click  from the folder to start running.

Linux and Mac
In order to play on Linux or Mac, you can either build it from the source code, or run the Windows executable under Wine. It works fairly well with Wine, although some textures may be invisible; see FAQ and troubleshooting.

A simple tutorial on how to compile under Linux can be found on the the included README.txt file. There are currently no instructions for compiling under Mac.

Upgrading from an older version
If you are upgrading from an older version of the engine, you should extract it into a new folder and use that one instead. If you do this, remember to copy over the  folder from the previous version, if you care about your settings and personal backups, as well as your custom-made content if you care about it. Remember to also follow any instructions noted on the changelog.

If you just extract the new version into the same folder as the old one, you risk having files you care about be replaced, or keeping old files that the new version doesn't use and end up wasting space.

How to play
As the engine is right now, one only needs to download it, extract it, and run the executable (under Windows, at least).

More technically, in order to play a game on the engine, there must be data for that game on the engine's  folder. Luckily, the engine currently comes with some example data that can be played right off the bat, although players can also download or create any fan-made content and place it in the game data folder. Because the engine is still in development, the concept of a "game" isn't much more than "a collection of areas, enemies, and Pikmin". Upon running the engine, it will read the information in the game data folder and instantly boot up the game. Currently, the main menu will be the same all the time, regardless of game, and choosing the "Play" option will prompt the player on which available area they wish to play (if there is only one area, it will be loaded automatically). To note is that some downloaded content might depend on other content. For instance, if an area has an enemy called "Green_Bulborb", but the player does not have any "Green_Bulborb" enemy in their game data, the area will not load properly.

In-game, the player is allowed to control the leaders and play around like in the canon games. At the moment, there is no concept of an "end", so nothing will trigger the "end" of the level. Depending on the mechanics that are implemented or missing, some behaviors might work, some might not, and some might be working incorrectly.

The minimum requirements to run the engine aren't that high; old machines should run it just fine without many performance problems. But it does depend on what is going on: a simple area with just a leader will run much better than a complex area with 100 Pikmin on the field. Some options in the options file can be set to help with performance, at the cost of appearance, while others just tweak the experience based on the player's preferences.

How to create
Anybody can create any content to be run on the engine, and the ways to do so vary, but are in general made to be easy and intuitive. Enemies, Pikmin types, and other such creations can be freely made, but new game mechanics and logic cannot. This also includes enemies, areas, etc. that make use of any new mechanic. The following pages lead to tutorials on how to create different content for the engine:


 * Quick creator guides – for users who need help understanding the basics, but believe they can figure out the rest on their own.
 * In-depth guides:
 * Text file – text files on the engine use a specific format. This simple page explains how it works, and should be read before using any other tutorial.
 * Creating areas
 * Creating new object types
 * Creating animations
 * Object scripting
 * Creating hazards
 * Creating spray types
 * Creating status effects
 * Creating particle generators
 * Creating new weather
 * Misc. configurations
 * Misc. features
 * Creator toolkit – tools to use to help you create and debug content.
 * Object category pages – information on the requirements and such for objects of every category.

Graphics and audio can also be edited freely. Although some images and sounds need to have specific names for the engine to find them, others can use any name at all, so long as the scripts, areas, etc. that use them call them by the right name.

Most user-made mistakes will be caught by the engine and reported in the file.

Creation
The idea for the engine started on mid 2013, with the intent of both allowing Pikmin fans to make their own games reality as well as to create a fun and challenging Pikmin-related project. The idea was made public on Pikmin Fanon, where a topic was created to gather feedback, before starting the project. On the 15th of August, 2013, development of the engine officially began. Ever since, different versions have been released, each one more complete than the last.

On February 2nd, 2018, the project got rebranded, and the mission statement changed a bit. Instead of it being called "Pikmin fangame engine", it got renamed to "Pikifen", and the idea was no longer to make fangames a reality, since that proved to be too ambitious at best, and outright impossible at worst. Instead, the goal became to create a fun engine in which people could create and play their own content, and the idea to make full games in it being secondary.

Changelog

 * See Changelog.

Roadmap
Many more features, content, and tweaks are still planned, but the following is a general outline of what major things still need to be finished, as well as a rough idea of what versions will contain what.


 * Version 0.19
 * Project cleanup (optimizations, better areas, more animations, etc.)
 * Version 0.20
 * Sound effects
 * Music
 * Version 0.21
 * Menus
 * Later
 * Caves
 * Multiplayer
 * Story mode
 * More editors

FAQ and troubleshooting
More information on the engine, including frequently asked questions and troubleshooting, can be found in the README.txt file included in the download.

License disclaimer
Pikifen and any fan content run within it are not affiliated with Nintendo® and should not be sold.

They are non-profit projects created by fans of the Pikmin® franchise, and do not intend to infringe on the copyrights or registered trademarks of Nintendo®.

Pikmin® is a trademark of Nintendo®. The copyrights of all associated characters, names, terms, art, music, and assets belong to Nintendo®.

Gallery
The following images were taken from various versions of development with the pre-packaged area, Pikmin, etc.

Other information

 * Glossary – glossary of terms used when playing or creating content.
 * Area tips – tips for making fun and pretty areas.