There are quite a few things that go into making Brawlcrate what it is. First and foremost, is the library.

“photo of library with turned on lights” by Janko Ferlič on Unsplash

In programming, a library is essentially a development toolkit of sorts. They contain utility functions that will help facilitate some sort of process. In this case, the main library behind Brawlcrate is Brawllib.

Brawllib helps by taking files that are in various Brawl formats and extracting their data so that it can be read and manipulated. It can also in many cases put the modified data back into Brawl’s native format, allowing it to be read on a console. Once files are modified, they are put onto an SD card and injected back into the base game via GeckoOS codes. This is how things like custom textures and music are applied.

So, before we can really focus on the frontend we’ll need to ensure that this is even possible in the platform I wish to use — and that is:

An Electron Application

now I know many of you developers are thinking:

“oh god WHY?!”

Electron is a framework that many applications use that allows developers to build cross-platform desktop applications with web technologies. In a sense, it is a (slightly) lighter instance of a chrome browser that can run offline because the resources to do so are all packaged up within itself. Because it is a web browser of sorts, it is able to run on any platform that supports it— including linux.

The reason why it tends to make experienced lower-level developers (those that often write C, Rust, or any other compiled language) uneasy is because of how intensive it can be on a computer processor. However, this often isn’t a problem for modern-day computers. If you can run chrome, you should be able to theoretically run an electron application without an issue.

Are you familiar with Discord? Slack? Atom and/or Visual Studio Code? If so, then congratulations — you’re already using an electron application. For a list of all the applications built at least in-part with electron, follow the following link: https://electronjs.org/apps.

This means that most computers today should be able to run an electron application without an issue. I’m not looking to run this theoretical updated version of Brawlcrate on a computer running something like Windows XP. I’m looking to rebuilt this thing with a smooth, well-designed user-experience in mind as a means to not only practice my own skills in this area but also provide a new / updated tool to the Brawl modding community.