Software is were my strengths lie. And since this console is based mainly on software (you can pretty much use any kind of hardware to make it go) this section will be quite a big larger. First off, what would be the base system? Well, Linux, of course.
It’s so beautiful…
Linux, for those who don’t know, is an operating system much like OSX or Windows. It’s considered a replacement to bulky and expensive OSs to preform much of the same tasks that you can do on your current machine such as web browsing, photo editing, and word processing to name a few. What you might not know is that LINUX IS EVERYWHERE!!! Not only running your phone (Android), but in the customer service industry, mainframes, and believe it or not, popular video game systems (Wii). The name “Linux” usually brings a bad taste to many a mouth. Images of the command line, incompatible Windows programs, jacked up graphics cards, and old guys with neck beards recompiling their kernels to be on the bleeding edge of technology. All of this is true. I also had a neck beard for quite some time and hung out with my local LUG discussing the finer points of reconstruction and free as in Free Beer not Free Speech. Oh the good ol’ days…
Linux proves to be the perfect base system for FIGHTWARE. It can be as big or as robust as a heavy hitting gaming machine to a simple, elegant top box for your T.V. or something has convenient as Raspberry Pi. Linux is beautiful and sexy and you should embrace the beauty and sexiness.
Many Linux systems with the minimal of the minimal already exist like Puppy Linux, Crunch Bang, and Damn Small Linux coming in at a whooping 50MB or less. Simply amazing. The reason these systems are so small is because they are not flooded with apps and processes you just don’t use or need.
Now with FIGHTWARE, even the smallest distro can be adjusted to fit just for what FIGHTWARE needs. Again this is a simple process especially with help from the Linux From Scratch or Reconstructor or by taking an existing distro and stripping it. So, what do you need? Other than what is required to run the hardware that is.
The main driver behind the entire FIGHTWARE system would be Python. This programming language uses plain text and has the ability incorporate pretty much anything: C++, C#, SQL, Java. You name it, there’s a wrapper for it. Python is also nice because it’s easy to learn and easy to change or modify. The driver will be the running everything that the player can see. From the icons on the dashboard to running the emulators or other launchers. I know that you could probably be better off using a more “down to the hardware” language such as C++ and C# but those are super hard to get into and not easy to get up and running right away. Remember, this is suppose to something that’s fairly simple that basically “anyone” can do.
The dashboard is what will run on top of the Linux base system. It’s the graphics that launch everything you need from NES emulators, to the web, or even a social network like Twitter or Facebook. Every modern console has some type of dashboard.
Microsoft Xbox 360 dashboard
Nintendo Wii dashboard
The dashboard will connect the player to the different apps that are available to be used much like the existing consoles have. FIGHTWARE’s dashboard would be similar in that it will allow the player to select a certain type of emulator or game and play to their hearts content. While in game play, if the player would like to go back to the dashboard either to check updates or play another game, a simple button combination could be pressed to bring up a “submenu” of options such as powering off, reset, or back to the dash. This button combination would be similar to Sega Dreamcast’s soft reset (A+B+X+Y+Start).
The customization, or skinning, of the dashboard will be scripted using XML. Again, XML is super easy to read and change and will allow anyone to create skins from their favorite games as the base or copy another popular dashboard that already exists. This is super popular with a modded Xbox from the past. There where all kinds of “skins” you could download from the web and slap on your dashboard. Customization is awesome and allows the user to make their system whatever they want it to be. Which is the point of FIGHTWARE. It’s yours. Do whatever with it. I don’t care.
Every system needs updates and FIGHTWARE won’t be any different. Again, we would have testers testing the shit out of a new update to make sure that it doesn’t break or crash the system. After that the update goes to the web. If the system is connected to the internet, a simple “Update Ready” message would appear to allow the player to update or not; your choice.
For those who do not have an internet connection to FIGHTWARE will be able to download the update and save it to a flash/thumb drive or even burn to a CD-R. Slap that bad boy into the system, click a button that says something like “find new updates” and bam! update done without an internet connection. You can’t do that with an Xbox 360. At least I don’t think you can.
Now, I know what you’re thinking: “Eric, there’s a ton of emulators out there. How are going to decide on just one?” And to that I will say “Why chose one? Let’s use them all!” At the moment of this writing there are roughly 17 different NES emulators. 17! And more than 90 per cent of them aren’t even updated or in active development anymore. They are left to die in the depths of the dark corners of the internet sitting alone until a hobbyist decides to pick them up one day and play.
Speaking just to NES emulators, every emulator has some feature it excels at but lacks somewhere else. It may either be great at processing pure 8-bit sound but have a small library of games it can run. Or it’s great at clarity and Netplay but there’s a ton of bugs in the software that makes the system crash periodically. All of this is OK. We take every emulator that’s available, whether it’s outdated or not, and test every game on every emulator. After that we make a list. Let’s say that Emulator A is over all better playing Legend of Zelda than Emulator B. When the player wants to play LoZ, Emulator A will be the one running. On the other hand, Emulator B is better playing Metroid than Emulator A. Well Emulator B will be the one that is launched with that particular rom. To the player, it will never be known which emulator is running because each game will be ran in full screen mode from the dashboard. Cool right? Seamless.
The game list will stay as current as possible with feedback from players throughout the world who are actively testing the roms on different emulators. With this type of fan base that will running these emulators, I would think that some of the projects would become active again to make FIGHTWARE it’s number one choice in emulation. I know I would.
As time goes on, there will be obvious emulators that just don’t keep up with the rest and if it doesn’t hurt the cause of “purest emulation” it’ll be dropped to make way for one that is succeeding. But if it does everything wrong except for running the closest equivalent of Earthbound on the Super NES, you better believe it’ll stay.
By using every angle from multiple emulators to different types of roms for one particular game, it will allow the player to experience the closest possible emulation of the game. Which is the whole idea of course.
Everyone loves apps. All kinds of apps and FIGHTWARE will be no different. Apps can range from the very simple like a Twitter app to monstrosities such as a web browser or email client. Things like this are huge suckers on computing power and is sort of out of the scope of FIGHTWARE in general, but the possibility to have an “App Store” available for players to download content over the internet will give it more than just a gaming console. We are already seeing this with the XBox 360 allowing people to download movies, Netflick, Pandora, and others to make it more than just a gaming machine. It would be possible but probably would not be preinstalled on a basic system.
Every app in the “App Store” would be tied to a special FIGHTWARE ONLY! repository. For those who don’t know, a repository or repo, is a sever that has software up for download for a particular Linux distro. Ubuntu, Red Hat, and Suse all have different repos for their systems. By having a FIGHTWARE ONLY! repo will allow testers to test the app before releasing it to the general public. This helps keep down system crashing and virus or malware products. JoliCloud OS, a Linux netbook distro, uses something very similar and works like a dream.
The next part of FIGHTWARE will be based on “extras”. Stay tuned.