Hi there! I hope you all had a wonderful christmas. Today is a special day because PatchUp is finally in Open Beta for a global audience! 
What’s next?
Since the app is in a Beta phase any user feedback is very welcome! I already ran a test phase for 20+ days within my own community and I’m fairly confident that the most important features are working as they should. However a web application has to run on many devices with different sizes, browsers, etc. so it’s almost certain that there is some room for improvement that has to be tackled.
And last but not least: It’s an application for all of us so your opinion matters. Have any interesting features in mind? Just leave me a message and I’ll see what I can do. 
I am thinking about closing the Beta around the time when the next FEE3 will be starting. That should be more than enough time to add further polish and other stuff until the official release. At the moment the app is only available on the web - but when the Beta ends it will be available on Android and iOS within the respective stores.
The link to the website is here: Emblemier PatchUp!
Adding a project to the App
This is a short guide about how to add a project to the app. Once you have connected Discord with the App you should be logged in. Click on the “Create a project” button in the side menu or on the front page.
This leads to the following screen:
You can now fill out all important fields.
Settings on this page cannot be changed later on so please think carefully about what you write. Once you’re done you might enter some optional information that can be changed later on and go to the validation page.
On that page you simply have to select the ROM of the original game that your project is based on. Once you selected the file it will be compared to the database and if it matches a valid ROM the validation process is done. Click on “Create project” and you should be redirected to your new project.
On a project page you can change the description, add tags and images as well as a project icon. When uploading a project icon please keep the image in a 1:1 aspect ratio and make it at least 200x200px for aesthetic reasons.
When editing the description you can also use Markdown code - you should be used to it if you use this forum or apps like Reddit and Discord. This gives you a lot of creative freedom.
Once you’re done here click on the Settings button (the one with the cogwheel icon)
Here you can select the project language and add links to a Discord server and a YouTube trailer but most importantly: You can make your project visible to the public or hide it. On the members page you can add other people that have logged into PatchUp and give them titles for the project. (This is visible on the overview page between the screenshot and changelog section)
Feature rights are also pretty handy. They allow you to enable/disable specific project settings like save uploads or the bugtracker page. Once you’re done take a look at the Versions page. You can write a Readme if you want to. When your Readme is not empty users will always be redirected to your Readme after a patch process. This feature has been added because most people are not reading Readme files although they are often very important.
With everything set up you can create a patch. For each patch you have to add a version number and a changelog. People can look up the individual changelog for a patch and each changelog gets added to the overview page and sorted by version number. You can very easily maintain a well structured changelog that way.
That’s it for the most important stuff - have fun! 
Stuff for the future
This is a list of things that will be addressed in the future as well as a list of interesting ideas from the community.
Unsupported games (High Priority)
At the moment PatchUp supports FE games from 1-8 as well as the DS games (11 & 12). The limiting factor here is the way JavaScript handles local files and buffers in the browser. The app is fairly fast for small ROMs like the GBA games but patching FE12 for example already takes around 10 seconds and that’s just 128 MB of data. Having to patch Radiant Dawn with it’s 4,7 GB of data would be pretty painful at the moment. I was thinking about porting the patcher code to WebAssembly - a standard that is supported in modern browsers but not very common yet. If this results in a bigger performance boost it will solve the issue for FE9 and FE10.
The 3DS games and Three Houses on the other hand are a little bit more tricky. For those games people usually use a RomFS loader which is a part of a custom firmware. This allows for reading files from an external file storage, so modifications can be read directly from another place on runtime. In this sense 3DS and Switch modifications are way more comparable to mods for PC games. They usually don’t use patch formats but copy/replace assets instead.
This is tricky because I would have to allow uploads of archive file formats which are pretty hard to control - I prefer not risking the security of other users. One way I could think of would be homebrew apps for 3DS and Switch that connect with PatchUP via API. Some sort of specialized modloader - but that’s a little bit too ambitious. It’s more likely that 3DS and Switch support has to be delayed und cut for the initial release.
Filtering by popularity (High Priority)
The option for filtering by popularity already works for comments but not for projects. Mainly because a popularity filter shouldn’t be taken lightly as this involves algorithms that go behind sorting data by a database field. The questions arises how an algorithm for such filtering can be applied in a fair way. Should we count project views? The number of individual patching processes and downloads? The activity on the project? How many tickets are marked as done? There are many things to consider and in the end there shouldn’t be an easy way of manipulating data. Competition is normal but I don’t want little projects to never get on the front page. A filtering algorithm can be made easily but the consequences can be hard.
Adding more languages (Middle priority)
The application was designed with multilingual support in mind and every text can be translated. If you want to help with translations for additional language support that would be most welcome.
List of languages:
Language |
Status |
English |
Fully supported |
German |
Fully supported |
Japanese |
Not supported* |
Chinese |
Not supported |
French |
Not supported |
Spanish |
Not supported* |
Arabic |
Not supported |
Turkish |
In progress by a community member |
The list represents all languages that can be used for projects. Languages that are not on the list can be requested as well. An asterisk behind a language means that those translations can be done by me but I would prefer native speakers to do them.
Enabling Community translations (Middle priority)
There is already a setting for projects for enabling translations from the community (it doesn’t do anything at the moment). In the future there will be a translator rank and users with that rank will be able to translate text for projects that have community translations enabled.
More disability friendly options (Middle priority)
It’s probably something that often gets overlooked. So far the app can be easily controlled by touch controls or mouse and keyboard. The color scheme should be pretty color blind friendly so far but I am sure there are still things that can be made easier. Accessibility is really important in my opinion and I want my programs to be for everyone.
Credits list (Low priority)
You can list members that have an account in order to let others know which people are working on the project. But an addtional list of credits for all the used ressources could also be useful.
QR-Code support (Low priority)
This should be pretty easy to set up. Attaching a QR code to each project could be a QoL improvement for specific scenarios. There could also be QR-Codes that lead directly to the patching process. Let’s say you are currently browsing on your desktop PC or laptop and want to play a fangame on your smartphone: just having to scan your screen would be pretty neat in that case.
F.A.Q
How do Discord notifications work?
If you take a look at your Notification settings you might wonder how Discord notifications work. Let me introduce Palla bot to you - this bot doesn’t have any commands at all… but don’t let yourself be fooled, it’s Palla we are talking about, right?

That makes a little bit more sense. When you share a server with Palla (like the PatchUp Discord) you can get notifications from her. That means we have push notifications for important events and you maintain full control over notifications. Since we already use Discord for the account connections this seemed to be the perfect solution. (Trust me there are some painful push notification implementations out there)
What about patches with multiple language options?
If you are working on a game without an official translation like FE6 or FE12 chances are that you want to provide a patch for both a fan localized version of the game as well as the official japanese game. However, the database only contains information for official ROMs.
That’s to keep everything as simple as possible for users. We could allow fan translations as base ROMs but this would also involve inconsistencies whenever a fan translations gets an update and would make the process harder for users that don’t know where they would find the right patches.
Since every project has a version manager you can just provide two versions and add a hint to your project description though. That shouldn’t be to hard.
What are the profile settings for?
At the moment profile functionality isn’t used at all for PatchUp. It will be used for other Apps in the future though (and maybe for PatchUp as well, we’ll see). Once you create an account this account can be used for all Emblemier Apps and there is some shared code between Apps. Profiles are just one of these global things.
Technology & Help
All Emblemier apps use a Angular + Ionic frontend that is connected to a Meteor backend. If you are interested in these technologies or even experienced and want to lend a hand just hit me up by DM.
And please don’t worry if it takes some time for me to respond. I have to maintain a YouTube channel and several other projects as well. This year I also got a pretty good job offer that I accepted which means less time for things like this. I always prioritize family, friends and work over hobby projects - that’s just how it is. I want to emphasize this because most of my projects have this tendency that a lot of people write messages to me and expect an immediate response.