Pikifen



The Pikmin fangame engine is a real program made by Espyo that is capable of running Pikmin fangames. It is an open-source engine, currently in 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. Given that it is an engine, it is not a game, but rather a platform on which games can run. In other words, fangame makers can add their own resources (like areas, graphics, enemy types, etc.) onto a folder, and the engine will read out the information and allow a player to play that game.

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 the resources from the content maker, 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. Although the engine itself is not meant to be a game, it comes with some example resources, like areas, Pikmin types, etc. that help showcase the engine's flexibility and test features during development.

Overview
The game created by the engine is 2-dimensional, and seen in a 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.

Download
Download link

The latest version available for download for Windows is 0.6.0. This is a compressed (zipped) file, which should be simple to extract. The entire package is less than 6MB in size when uncompressed, and requires no special permissions or installations to play. Just double-click Pikmin_fangame_engine.exe to start running.

Linux users that wish to run the engine will need to download the Allegro libraries and compile the game from the source code at GitHub. There are currently no instructions for Mac users.

How to play
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 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.

The player is then allowed to control the leaders and play around. At the moment, there is no concept of an "end", so nothing will trigger the end of the area. Depending on the mechanics that are implemented or missing, some behaviors might work, some might not, and some might be working incorrectly.

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


 * : The higher the number, the higher quality the area's geometry appears, but also the heavier on machine resources the engine will be. Default is 1.0. The value 1.5 is a good balance between quality and performance.
 * : If false, the faint trail that follows the cursor will be removed, which could help with performance. Default is true.
 * : Framerate. The higher it is, the smoother the gameplay is, but the heavier on performance the engine will be. Default is 30.
 * : Height of the game window. The engine was made with a small-medium resolution in mind, although you can change the window size to anything you want. Default is 480.
 * : If false, the whistle is replaced with a plain yellow circle, which could help with performance. Default is true.
 * : Width of the game window. See  for more information. Default is 640.
 * : If true, images that need to shrink or grow big will do so smoothly. Otherwise it will look pixelated, but it might help with performance. Default is true.
 * : For some users, the game window does not appear, although the engine is definitely running fine. This is because it somehow gets placed out of the screen. Set this to true to force it to appear inside the screen. Default is false.

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 scenarios: a simple area with just a leader will run much better than a complex area with 100 Pikmin on the field. Some options on the options file can be set to help with performance, at the cost of visuals.

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. The following pages lead to tutorials on how to create different content for the engine:


 * 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 new weather

Graphics and audio can also be edited freely. Although some images and sounds have to be 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 on a file called "Error_log.txt" on the same folder as the game's executable.

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.

Changelog

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


 * Older versions
 * Please see the changelog.

Roadmap
Many more features and content are still planned, but the following is a general outline of what still needs to be done, roughly sorted from the next features to be developed to the last ones.


 * Carrying paths
 * Hazards
 * Plants
 * Water
 * Most menus
 * Music
 * Most sound effects
 * Sprays
 * Story mode cutscenes
 * Story mode progression

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
The Pikmin fangame engine 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 on version 0.6 with the pre-packaged area, Pikmin, etc.