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. It is currently under development, and alpha versions are 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.

Given that it is 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 10MB 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.

If you are upgrading from an older version of the engine, you should delete that one and use the recent one instead. If you do this, remember to copy over your custom-made content, if you care about it, as well as any content in the  folder, if you care about your settings and personal backups. Remember to also follow any instructions noted on the changelog. Alternatively, you can place the contents of the new version onto the same folder as the old one, but if a newer version doesn't use certain files any more, they will remain unused on your folder, taking up space.

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.

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 "Game_data" 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 on the engine's "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 on 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.

Options
Resolution and fullscreen options can be set in the options menu. The controls can be changed in a sub-menu, but the defaults are listed on the included README.txt file. The other options can be set on the  file, but since these don't have a large impact for most fans, there is no way to edit them in the options menu. The following options (besides controls) can be found in the text file:

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.
 * Creator toolkit – how to use the creator-friendly toolkit.
 * In-depth guides:
 * Text files – 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

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.17
 * Important special objects (like plants, nectar, bomb rocks, etc.)
 * Version 0.18
 * Less important special objects (like seesaw platforms, climbing sticks, etc.)
 * 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.