After a lot of studying my own flowcharts, notes, and code from a few months ago, I am back up to speed with development. As you know, the Steam version is a completely new build of Anarchy Arcade that is written from the ground-up. Right now I’m pounding away at back-end features, so there’s not a lot to show visually yet.
This week started off with me making flowcharts and modifying UML diagrams to figure out the details of certain things, like hubs, which are basically a group of many different shortcuts that you can spawn as a single unit.
However, instead of always displaying the same shortcuts, these hubs can be dynamic so that they always show the newest YouTube videos from a specific channel, or always the highest rated content from your favorite website.
These hubs are controlled by JavaScripts that allows for limitless customization and addons hubs to be created and shared with everyone. The implementation of these hubs is very powerful and will allow for lots of automation in the Steam version of Anarchy Arcade.
For example, instead of having to individually spawn 1 shortcut at a time to populate your house, each room will have a variety of pre-set locations for your media to spawn at. You’ll be able to cycle through the different presets and choose from many different room arrangements that automatically populate with your own games, movies, and media in an intelligent way. Of course, you can still spawn your media in one at a time if you wish.
All of that work was done earlier this week with flowcharts and UML. Later in the week I was able to actually get my hands dirty in the code, REAL dirty.
My programming objective was to get images & websites loading into textures that are displayed on each inactive shortcut. In the prototype, EVERY texture is loaded 1 at a time and gets resized to a standard image size of 512×512, but this time around I was able to get something much nicer worked in. However, getting images & websites to load into Source engine as VTF textures required quite a bit of work and cooperation between different systems.
I have begun implementing the 2-way JavaScript AArcadeAPI which allows the Chromium-powered UI (which is essentially like a web page) to communicate effectively with the Anarchy Arcade game core.
Chromium, which I use to power the UI, is also used to convert images & websites into Source engine VTF textures. Web images sometimes take a long time to load, so now multiple images can be downloading simultaneously.
Instead or resizing images to a standard size, such as 512×512 for the prototype, the Steam version of Anarchy Arcade is able to load all images at within 4 pixels of their original image size. What does that mean? First, it means no more wasted memory scaling small images up to 512×512. Second, it means that large resolution images will appear as high-detail images in-game (even on inactive cabinets). And third, it means that the aspect ratio of the image will not be lost, which will help with the “stretched/squashed screen” issue that was in the prototype.
I’m happy to report that last night I was finally able to plug all the different systems in together and render images AND entire websites onto the in-game cabinet screens.
This 2-way JavaScript AArcadeAPI, the Chromium core, and the image/website thumbnail system are extremely important to all aspects of Anarchy Arcade so I will be spending next week streamlining them and preparing them for other features that are soon to come.
The prototype’s UI had stability and compatibility issues with certain websites. I will be spending the next week making sure that the Steam version does not have these issues by optimizing the implementation at this early stage.