Mordax

Software Developer

View My GitHub Profile

Ending my course in Advanced Open Source + Delving into the Flashpoint Launcher Codebase

So this is the final week of my advance open source class, and I have to be honest that I’m sad to see it end.

So far my experience with open source has been enjoyable, but slightly distant in terms of communicating with others. I tended not to ask too many questions out of concern of not getting cool bugs or being looked down on by more advanced programmers.

The course also had a slightly rocky start with difficult to enter communities.

My frustration at this point was that most of my coding was related to something that only other programmers could understand: code refactoring, test cases, etc. The only visual I could get was documentation and even then, it didn’t seem very impressive.

However, joining Flashpoint was a very welcome change. Although I adored the Ethereum community, I felt a bit distant, a bit too new. Here I felt welcomed, not judged, surrounded by interesting experts from all over the place. The documentation was great, the project ran smoothly and any questions I had were answered promptly and kindly.

And anything I did ended up being quite visual.

Anything from curating a game, to documentation (and being praised for it) to scripting (and seeing my workload become easier and learning something new) and being able to rescue a dead game, that visual aspect was really satisfying.

Open source got me all the way to England - so of course I will stay working in this world (which is why I specialized in it). I hope I get to work with even more great communities and work on interesting technologies.


Onwards to my next challenge.

I’m guessing this is going to become a mainstay series since I keep finding interesting things to work on in Bluemaxima’s Flashpoint.

So far, I have curated a handful of games, done some reverse engineering and wrote up a script to help the process along.

This time I wanted to challenge myself with a more complicated, code related challenge and actually see how the launcher was built.

Referred to FPL, the Flashpoint Launcher is a really well made application. Built primarily by obelisk, one of the “mechanics” (people who build cool software in the community), FPL uses Electron and the Typescript language in its code.

So after deciding that working on automatic updates for FPL would be too much, I was directed to an interesting feature to implement.

Adding a Save manager to the Launcher.



The feature on the Trello board

Nosamu, a moderator in the community, helped give more details and to narrow the scope a little bit:

Just have a button to back up your saves that copies all the folders I listed in that pinned post and have a Restore Saves button that copies the backup to those locations again
And preferably warn when overwriting files.
This would probably be a module on the Home tab

So clearly, I need to read up on the code base and get started on that.

Some things to work on: