Modding

Modding (short for Modification, also known as hacking if unfairly used) is the act of updating Smash Hit's files in order to add new content to the game, fix bugs and add features. While Smash Hit modding is not officially supported by the developers, they have previously expressed that they are okay with modding, so long as it is not giving users anything that would be paid for free.

History

 * This history mainly focuses on the ability and tools used for Smash Hit modding. If you are interested in the history of a mod, please check that mod's respective page.

Early History
It is not known when the first Smash Hit mod was created, though it is likely to guess that it was around Smash Hit's release; however, no mods were known to be published to the internet before 2020 - only pictures of them, or (now-broken) download links or mostly useless/incredibly technical 'advice' to create them.

2019
In June 2020, Northen published a video which claimed that Custom Hit was the first ever known Smash Hit mod. Also in 2019, Knot126 said he had started to work on modding Smash Hit and was able to load the debug menu (but without proper functionality) in December.

2020
The year 2020 was the first known year where many Smash Hit mods were published online. The first major mod, known as Random Room Mix Mod, was created by Megadron and first shown on 1 February 2020. A day later, Knot126 released a clone of the mod titled Random Rooms Mod. The two mods have become known as the Random Rooms Mods and were responsible for much of the hype around modding.

On 20 March 2020, the Smash Hit Fanon Mods Hub was created, but was spun off to become the Smashing Mods Wiki on 22 May 2020 after a large debate discussing if the two should be split. In May, Northen first published his Smash Hit mod now titled Custom Hit, which featured some changed rooms for one of the first times. Knot126 had started to experiment with making custom stages, and published videos on his YouTube channel before it was deleted. Megadron had also recently started work on a level editors.

A discord server for discussing technical parts of Smash Hit was created by Megadron, then known as the Smash Hit Technical Lab.

On the 11 September 2020, Megadron left the modding community, releasing the working portion of the editor, which was a segment viewer.

On 21 September 2020, Knot126 released the first version of Smash Hit Blender Tools, a set of tools to create and export segments using Blender.

In December, many new Smash Hit mods were announced and/or released. The first version of MTXBake was released, which would allow creation of custom images' files that could be loaded into Smash Hit, though it did not get the format of the images correct, resulting in the images being corrupt on most devices.

2021
As most Smash Hit modders took a break or temporarily left the community in January 2021, not much happened.

In February, mesh files were documented and basic baking tools were created. Many Smash Hit mods had also started to develop greatly during this time period.

In May, a project named mtxconv was created on GitHub, which allowed proper baking of custom image files to MTX images.

After this point, the Modding wiki had become mostly abandoned and the Smash Hit modding scene had moved to videos being published on YouTube with mods being shared as Google Drive links.

2022
In the first half of the year, the beta versions of Blender Tools leading to 2.0.0 were released, which simplified the experience of exporting boxes with segments, among other major changes. The completed version 2.0.0 released on 23 May 2022.

Once again, many more mods were created during this time period, though there has still been a slight decline in modding since its previous peak in 2021.

In September, the technical discussion discord server used in 2020 was revived and subsequently restructured to become the Smash Hit Lab in order to be more appealing to modders who do not care about the technologies used to build Smash Hit. A YouTube channel was created for the Smash Hit Lab, though no videos have been posted as of Feburary 2023.

On 3 December 2022, Knot126 released a tool to help with patching, Smash Hit's main binary.

Motivations
There could be any number of reasons that a mod exists; however, there are some common reasons that they do:


 * Adding new stages
 * Restoring old stages or recreating old versions
 * Creating new functionality for the game
 * Improving the quality of existing game assets
 * Updating the game to include bug fixes
 * Hacking the game to gain an unfair advantage
 * Pirating the premium version

Tooling
Some tools have been created to make modding Smash Hit easier.

Early Tools
Many of the initial mods were simple and created out of curiosity. For example, mods like the Random Rooms Mods reused the existing segments and assets to remix the experience and experiment with how Smash Hit works in ways that would be simple to implement. Most of these mods used either a combination of APK Editor Studio with a text editor (with a PC) or Total Commander and Lucky Patcher (without a PC) to edit text files and inject them into the game. Examples of mods created in this way include early versions of the Beehive stages and test stages created by Megadron.

Level Editors
After some time had passed, level editors were being created. The first attempt at creating a proper level editor for Smash Hit was Megadron's Segment Viewer, created in Game Maker Studio 1.4. While it never got far enough into development to edit segments, it was able to completely visualise segments, with textures and the like. Smash Hit Tools for Blender (also called Blender Tools or Smash Hit Blender Tools) was a segment editor created by Knot126 as an extension to Blender. It was the first tool that allowed exporting working Smash Hit segments. As it is the most complete editor, it is used often by modders to create segments.

Another editor was being created by Skinnerpuma737 in addition to other modders and developers, like NZMC and Knot126. The editor would be made in Unity. While never officially cancelled, its last update was on 24 October 2020, and it is now thought to be abandoned.

Carambola was an attempt to create an editor in Godot, started in April 2021 by Knot126. They are quoted as stating that:"'While it provided previews which more resembled the final stage when compared to Blender Tools, it was not as intuitive to edit segments as it still relied on users editing raw values in textboxes.'"It was officially abandoned in July 2021 due to a lack of further interest in its development.

Image Conversion
MTXBake was an initial attempt to convert PNG images to MTX format images, but created images that could not be displayed by most devices. Mtxconv is an alternative image baking project that also documents the MTX image format, released in May 2021 and developed by SamusAranX.

Mesh Baking
Unlike image conversion or level editing, mesh baking is not as straightforward a problem as it requires knowing about the graphics pipeline and some of its core concepts. While the format of the files is simple and documented, there are not yet tools to bake perfect mesh files which produce the same results as Smash Hit would.

The mesh baker that is integrated into new versions of Blender Tools (2.0.0 and later) is currently the closest to original Smash Hit meshes, though it does not replicate the exact behaviour of the exporter.

Binary Patching
Binary patching involves editing the game's compiled code to make more advanced mods of the game. A simple tool, Smash Hit Binary Patching Tool by Knot126, was released in December 2022 and currently allows for things like:


 * Remove anti-tamper protection
 * Disabling save file encryption or change the encryption key
 * Change the starting ballcount and feild of view
 * Loading extra io packages for reading and writing files
 * Allow running the game in verical resolutions

Trivia

 * YouTube has served as the basis for the modding scene. Many of the recent Smash Hit videos past 2020 are of mods, though many are posted just for entertainment (or a walkthrough) and do not really give further information.