This week I started towards the goal of getting a working “Create New Item” system into the Steam version of Anarchy Arcade. A very important part of the Create New Item system is AArcade’s ability to go onto the web and automatically find boxart, wallpapers, and video trailers for the media items that are spawned in it. This was done in the prototype by the “scrapers.” In the Steam version, the entire system has been overhauled and expanded into something called Providers. These changes were necessary to enhance security, expand functionality, and allow user-created addons to be more coherently organized.
Providers are user-created addons, and therefore could possibly be from malicious users. AArcade carefully loads and executes these six functions only at specific times to provide maximum security. Certain operations require more security sandboxing than others, and organizing the Providers into these six specific functions helps manage this.
The six functions that a provider may perform are: safeTest, test, scrape, autoScrape, search, and autoSearch. I will very briefly try to explain what each one of these functions do. Keep in mind that security was one of the primary concerns when I designed these six functions. Only providers that you trust should be allowed to perform any of the functions other than safeTest.
In general, a provider is used when ever you click the SPAWN button while looking at a website in the in-game browser. Some features of the provider, such as search, might also be used when spawning new local files from your hard drive too.
The provider analyzes the current URL string of the in-game browser and tries to determine if it can be used on the page or not. This is a nearly risk-free function because the provider is only given a URL to analyze. However, it is not always possible to determine if a provider can be used merely by analyzing the URL.
Using these six functions, the Steam version of Anarchy Arcade will be able to offer all the amazing features showcased in the prototype, PLUS many great enhancements & additions, all as user-addon scripts.
Separating the functionality of Anarchy Arcade from the content and services that are used in it has always been the goal of its design. Providers are a major step towards this goal because they change AArcade from supporting only a few services such as “YouTube & Netflix” to supporting EVERYTHING. It also makes AArcade more versatile because it is able to out-live the services used in it. Sure, MySpace is hot stuff now, but one day it might become old news!
AArcade Providers as Chrome Extensions
So, there’s a new image format in town. Apparently it’s been around for a while, but I haven’t noticed yet because I never used Google Chrome. It’s called .webp and it is created by the tech power-house Google. It has superior compression than JPEG files and saves tons of bandwidth which is extremely important on mobile phones, so Google has been pushing it a lot. Problem is, lots of browsers and programs don’t support this .webp image format because they feel it is either too new, too crappy, or too Google. The result is some major websites, such as Facebook and Netflix, serving you .webp images only if you’re on a browser that supports it, but sending normal JPEG images otherwise.
This is unfortunate, to say the least. Until it is widely adopted, it means that when you link your friend to an image, it might be an image that requires a specific web browser to view.
Prototype users will have noticed the Netflix spawner is currently broken. This is because the image loader in the prototype does not support .webp images and causes the issue. While a patch will be released soon for the prototype to get the Netflix spawner working, the .webp image loading issue will not be addressed until the Steam version.
This is because the Steam version of AArcade uses the Chromium Embedded Framework itself as the image loader, and therefore can properly load .webp images natively.
Joypads & Web Browsing
Also, some core-systems were worked into the in-game browser that will make things a lot easier to do the things you want. You will finally be able to right-click on specific elements of webpages. Drop-down menus will now display properly, and websites can now display prompts & alerts.
Once again, these features are just like Robocop’s vital organs floating in jars. Their code is functioning independently, but the body still needs to be built to hold them all together.