Stencyl  Stencyl is a video game development tool that allows users to create 2D video games for computers, mobile devices, and the web. The software is available for free, with select publishing options available for purchase. The software was originally called "StencylWorks" while in development and for the initial release, but was later shortened to just "Stencyl". Games created in Stencyl can be exported to the web via Adobe Flash Player, and to personal computers as executable games, as well as onto various mobile devices as iOS and Android applications. Physics and collisions are managed by Box2D, which can be selectively or completely disabled to decrease any potential performance impact for games that don't require full physics simulation. Starting in version 3.0, projects in Stencyl use the Haxe programming language and OpenFL game framework to allow a flexible, write once, run anywhere style of game creation. Stencyl is an authoring tool and an IDE. The application includes several modules used to accomplish the necessary tasks to create games with the software. Additional tools permit the user to import images for use as foregrounds and backgrounds in scenes, import and edit fonts, import sounds and music files (MP3 and OGG are supported, depending on the export target), and alter game settings such as player controls and game resolution. A library of common behaviors is included with Stencyl to reduce the need to recreate common game behaviors, and several game "kits" provide functional starting points for common 2D game genres. When creating a new behavior, the option is presented to create it either in Code Mode or Design Mode. Using Code Mode for a behavior permits the user to program logic in traditional textual form and optionally open the code in an external editor. Alternatively, Design Mode is a GUI that allows users to create modular game logic for actors and scenes using a visual programming language. The concept of Design Mode as a form of end-user development originated with MIT's Scratch computer language learning environment, and was used with permission for Stencyl. As it is a visual programming language, Design Mode users are not required to learn or type out a particular programming language, nor must they concern themselves with syntax. Rather, available actions are dragged and dropped from a palette of "code blocks". These blocks will snap in place together and nest within each other, permitting the creation of advanced logic from basic components. To avoid syntax errors during compilation, not all blocks will snap together. For example, a space that requires a Boolean value will not accept a block that represents a numeric value.