The MKS BulletML Pattern Builder is an editing tool used to create bullet patterns for Shoot ‘Em Up (a. k. a. Schmup) games which can parse and interpret BulletML XML files as per standard BulletML Specification. This editor supports both the horizontal and vertical bullet pattern development as used in horizontal (left to right axis) and vertical (down to up axis) scrolling shooters.

This tool enables the user to configure and preview bullet patterns within the editor before exporting the data out for further processing. Both the BulletML XML file and Pattern Builder JSON files can be used for subsequent parsing and processing in other tools.

The user generated projects are created and stored in the Cloud and can be accessed from any compatible platform such as Linux, Windows and macOS with the Steam Launcher installed and the application valid on the Steam user’s account. To associate the user to their projects created in the application, only the Steam ID of each account is used, no other personally identifiable information is collected or stored in the Cloud.

BulletML is a quasi-standard definition for bullet patterns in Shoot ‘Em Ups that could originally first be widely encountered in the Arcade machines of the 80s. Later on, these Shooters came to consoles and home computers of the time. Today, these kind of games are still being developed and published.
Knowledge of the BulletML Specification is absolutely essential to make effective us of this application. A link to get this document is given in the References section of this text.

For a Shoot ‘Em Up to provide interesting challenges to the player, various enemies and enemy bosses attack the player with varied and interesting bullet formations that are known as patterns.
The creation of these bullet patterns and making them unique, interesting and challenging for the player has been made easier by the invention of the BulletML Specification as a standard declarative language and file format for designing these sequences of bullets.
The MKS BulletML Pattern Builder aims to provide a visual tool for creating the XML documents that conforms to the defined BulletML standard XML files, so that these files can be used in any games and applications which themselves adhere to the standard. This tool supports both vertical and horizontal oriented pattern development and fully covers the BulletML features defined in the standard, although in this version of the software, actions, fires and bullets are only supported per reference and not inline as sub-objects. No game logic can be implemented in this application and a single bullet pattern, although it can contain multiple hierarchies of bullet emissions, is considered to be a Project and is the sum of assets that will be exported as a BulletML XML file.

The output from the Pattern Builder tool is either the BulletML XML document that can then be further utilized in other software, as this file conforms to the BulletML file standard, or the project itself can be exported as a JSON file for safekeeping, storage, exchange or further manual modification. The JSON file does not contain any user identifiable information or data about the creator of the bullet patterns.
The tool’s native Pattern Builder JSON file format contains everything needed to transfer the file between instances of the tool for any supported operating system as long as a Steam Launcher is available there. The text-based file can be mailed, copied or submitted to source control for archiving as required, as it is a document in JSON format. The JSON file project format is documented below and easily human readable which makes it easier for external software to directly parse this file. Manual modification of this file is also possible as long as the structure is retained. Inside the JSON project’s file is also all data which forms the contents of an exported BulletML XML file, so the JSON file is complete with all bullet pattern data as well as providing metadata information on the project setup. Furthermore, the JSON file format is versioned and currently available as v1.

The Pattern Builder application is used by creating Projects, and within these Projects a number of Actions, Fires and Bullets that have parameters enabling customization and hierarchical data structures. The preview playing within the editor then shows the results as bullet patterns.