Emblemier PatchUp!

Hello and welcome to a new application that might be helpful for almost everyone. If you haven’t seen the FEE3 presentation yet feel free to check it out:

First of all, what exactly is Emblemier PatchUp? Think about is as a web application that combines a built in online patcher with a database of Fire Emblem hacks, a search engine that makes it easy to find what you are looking for and many more features to make patching and project managment of fangames and translations much more accessible.

If that catched your interest you might join the discord server as well.

Features for everyone

  • Online patching of ROMs supporting IPS, UPS, BPS and xDELTA
  • Finds ROMs in ZIP files and can patch directly from a ZIP
  • Supports cutting headers
  • Automatic redirect to a README file directly after patching (optional)
  • Search engine for projects with filters for game, language, popularity and date
  • Bugtracker for each project with a simple ticket system + reddit like comment system
  • Login system uses Discord with minimal permissions (identify scope only)
  • Subscribe to projects with notifications whenever something new happens
    • Get push notifications via discord when enabled. Palla bot sends you live notifications on project updates
  • Database of checksums provides accurate feedback when selecting a wrong ROM and helps to secure that only Fire Emblem patches get uploaded
  • Multilingual (If you want to help translate, feel free to contact me)
  • Dark and light theme options

Features for creators

  • Webspace for your fangame/translation
  • Patch creation directly within the browser (IPS, UPS, BPS - xDelta planned)
  • Individual changelogs for each patch that will be combined as well for a complete overview
  • Permission system for projects
    • Enable/Disable patch upload, savegame upload, bugtracker and more for everyone or specific persons only
    • Add new members that can maintain the project as well
  • a customizable overview page with a project description, tags, screenshots and more options like providing links to youtube trailers or discord servers

Open Beta

In my video I mentioned that there will be an open beta. I will make an announcement once I am confident that the time has come. That will be definitely within 2020 though - probably in November since all important stuff is already done.

The background

In my community many people are working on hacks and over the years many projects have been created. At one point we made a discord channel in order to store project links at one place. This was a good solution in the beginning but after a while things got messy when there was just too much going on - it proved to be confusing for people that were just looking for a specific project.

For a while I already thought about making a little website similiar to a blog so that it’s easy to keep track of everything. But after more time passed I saw that many people struggle nowadays when it comes to patching ROMs. There are those who are just confused about patching software especially on mobile devices. If they are on mobile users might also run into malicious patching tools more easily. In other cases a anti virus application might send a false alarm for your patch which is also pretty bad.
Then there are users that don’t open a readme file and many even fail at tasks like unpacking a file.

You might think patching is the easiest thing in the world but in reality there are tons of potential problems. In the end having to provide support is time consuming for both creator and player - so why don’t we avoid these problems in the first place?

Considering all these things let me to believe that there can be a solution that gets rid of these problems all together. I started developing a patching tool that supports most common formats and can find a ROM within a ZIP file as well. It can also cut headers which is required for some games. All of this had to run in the browser on multiple platforms so users never even have to install anything and it feels like they download a ROM expect they don’t. This also prevents legal issues since users never upload or download ROMs. They download a patch and patch a ROM locally just by using a web browser.

What about the name?

It might sound a little bit strange at first but there is some history involved. The name of the application is actually just PatchUp! It can be interpreted as patch & upload but I also felt like it literally patches thing up that could have been improved a long time ago. Emblemier on the other hand is a Fire Emblem network that I’ve been working on for years. I first wanted to make the most modern german Fire Emblem website since https://fire-emblem.de/ seemed to be stuck in time. After comparing with other websites globally though it seemed to me that most Fire Emblem websites are technologically outdated and after what is probably more than 1000 hours of work now I came to the realization that it’s ridiculous for one person to create a website that has information about everything Fire Emblem related. At one point I decided it’s better to split everything up into specialized apps so that there can be a steady progress. One of them for example is a

FE4 guide app

https://imgur.com/2emPPR9

https://i.imgur.com/1JHgHtG.png

with a more modern approach that I am planning to release in the future.
tl;dr I am probably just a insane person with too much passion for FE lol

37 Likes

I can’t wait for this to hit!

Your discord invite doesnt work btdubs

Whoops, sorry. It should work now.

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! :partying_face:

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. :blush:

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! :slight_smile:

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?

Example for Palla Bot
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

Angular Ionic Meteor

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.

16 Likes

This looks hype. I’m gonna go make an entry for pokemblem

Users would love this feature, though fan game creators will often feel injusticed by it. Personally, I’d rather you set up the front page based on polls. The top ~5-10 for popularity should be able to be organized that way, and we could do an annual poll on feu for those spots. Then you lock in those entries to fixed positions, and the sort by popularity feature takes care of all the spaces below that. You’d only need to make sure it avoids duplicates of the fixed position ones. Then the algorithm and trying to rig it won’t matter as much, at least. I’d rather users don’t know the specifics of the algorithm and that we can discourage people from trying to rig it. Just creating a nice page for your project should be enough.

I nominate the following for a poll, if you are amenable to the idea:
Vision Quest
Four Kings
Sun God’s Wrath
Legends of Avenir
The Last Promise
Elibian Nights

I’m sure others can think of more

I’ll also add a link to emblemier at the top of the Getting Started thread when you would like me to. I will hold off from it for now so people have a bit of a chance to add their projects there first.

Summary

Also, question - what happens if someone else creates an entry for your romhack, but you, the creator, wants to edit the description or some other aspect about it? Is that possible? If creators can’t edit it later, it makes me feel like I should only add my own project out of respect for the creators.

Edit: My bad. It’s only the title and url that can’t be edited later. If the creator has a problem with that, they could just request the entry I made be deleted and they could make their own with a new title/url.

3 Likes

How will ROM hacks created by unknown/people who’ve left the community work? It’s quite specific but still something I’m curious to how that’ll be handled

1 Like

This is really good. Many of my friends still can’t wrap their head around patching even with tutorials, so this is coming in handy.
Psst. I’m the community member who’s translating the site into Turkish. Will definitely be an important factor in growing the Turkish FE Community, which at the moment is pretty… empty.

1 Like

Users can add hacks that aren’t their own. I’m adding a few and out of courtesy I am contacting the creator in case they wanted to do their own summary of the game. If no response is received in about a weeks time, I will simply add them and put a disclaimer saying that the creator(s) are inactive and if they want to edit the entry, to please contact us about it.

Now, this could just be my browser being stupid, but how come non-upscaled images look like this in screenshots?

(yes I am submitting resonance for archival purposes dont actually play it)

Woah, that’s actually super great, congrats! I’ll make sure to use it as soon as I drop my next patch!

If I may make a suggestion, do you think it could be possible to add a tag feature? Because some people might want to play one type of hack rather than another. I think meme hacks/serious hacks would mostly benefit from it, wouldn’t they? (Alternatively, categories like reskin, in-progress or completed like the hack repository has would be cool too)

In any case, thanks for all the hard work to help hack creators grow! I wish you all the luck!

1 Like

There is a tag feature, actually! It’s near the end of the project’s page and can be added when making one.

Re: Tags
I think it’s difficult to think of some common tag categories that would be good to label hacks as.

For example,

  • “complete / incomplete”
  • “serious / meme”

These sort of things might be good to choose from a dropdown menu as certain tags probably won’t be obvious without the prompt

6 Likes

I personally think that there should be some formatting options. Things like bulleting points would be very nice.

2 Likes

To those who care;
Emblemier PatchUp is now fully available in Turkish, translation courtesy of yours truly.

3 Likes

Hey, not sure where to report this, but I’m having a bit of a problem with PatchUp. I wanted to upload a new bugfix patch, but when I go to create a patch and try to give the software a clean ROM, I get this:

I’m really puzzled by this, as I had no problem creating a patch the other day, using the same ROM. ROM is definitely clean, as I dumped it myself and have used it in emulators with no problem. I am also using the same web browser (Opera) that I used the other day to create an initial patch.

After some updates to the code, the website has some bugs. Stuff is already planned to be fixed(It is a global issue btw. Chrome also had it when I tried it and that is the browser that the website was appearently programmed for)