After completely rewriting FRI from scratch (and renaming it Arcadia), I have decided to rewrite my other big project, Roomie. This absolutely needed to be done. Roomie had some good functionality, but I had hit the limit for its extensibility. Roomie’s engine was a monolithic blob of ugly code, with very little room to make it into a full scripting language with features like custom functions and if statements. My redesign of Roomie, which I call RoomieRemake for now, is completely expandable, is properly multithreaded, and has all of the potential to be a robust, featurefull scripting language. Just like Arcadia, I am proud to declare that RoomieRemake shares absolutely no code with its predecessor. Not even a single copy/pasted line of code! More on that in a bit, but first an end scenario:
It’s been almost a year since I’ve updated FRI, my ROM library program. FRI is now officially dead, but not completely gone. Since I started working on FRI I have gained a lot more programming experience. I started writing the thing when I was still a C# novice. Between then and now I have written an elaborate intranet site in ASP.NET, debugged and written C++ applications, and have learned the true value of a regular expression. I look at FRI’s code now and am a little grossed out. I decided that if I was going to make any more improvements to FRI, I’d have to start over and rearchitect the whole thing. The name of this new project: Arcadia.
With Arcadia I have committed to research everything that I suspect will make for a better design. Because of this, Archaida’s backend is shaping up to be elegant and efficient. I researched how to do inheritance in C#, and have used that to save myself from writing a lot of code. This has drastically decreased development and testing time. I learned how to use basic regular expressions over the summer, and have used them in some areas (more on that later). For the frontend I decided to switch from WinForms to WPF. All I can say is that databinding is epic, and I still have a lot more to learn about it.
Here’s a shot of Arcadia in its current form:
FRI is a ROM manager that I have worked on in my spare time since Summer 2007. FRI’s goal is to simplify the execution of ROM images by bringing all of the use’s ROMs of game cartridges into one place, making it easy for the user to find a specific or new ROM to play, and simplify the selection of the correct emulator for any given ROM.
Here is a screenshot of the FRI version 184.108.40.206 main window with no search filters applied.
FRI version 220.127.116.11 is here! This version of FRI brings Community Ratings, a way to find great ROMs in your collection that you haven’t played before. This version also contains underlying updates to how FRI scans for ROMs, resulting in a better user experience. This release’s code is closer than ever to being able to be ported to Media Center for a Windows Media Center counterpart to FRI.
Download FRI version 18.104.22.168 here
Thanks to FlotsamX for providing feedback as a beta tester, and Vimm for providing me access to his website’s user ratings.
Thanks to Vimm of vimm.net, I am adding the ability to view “community ratings” to FRI. This means that if you simply want to play a new game that is good, just sort by community rating and select one from the top of the list. Inversely you could also easily select the worst game…