The purpose of this piece was to create a data visualization of the relational connections that ingredients have with one another in Skyrim. Skyrim is an action role playing game in which one of the activities players may partake in is alchemy. The process is done through a mix and match of combining ingredients together, with each ingredient having 4 possible effects that are shared within other ingredients. A successful potion is created when 2 or more ingredients share the same effects, be them positive or negative. Having only spreadsheets on various wiki sites such as this one,I felt there there was a need for a platform where one could actively interact with the ingredients which they were using. As well, the amount of raw information laid out on those websites felt overwhelming as there was no visual presentation (aside from the charts) of the relationships shared between the ingredients. The current interface is unorganized by default however it allows the user to drag ingredients to be organized in whichever manner they prefer. For example they may choose to drag ingredients containing mostly positive effects to the top left corner shelf, and drag ingredients with mostly negative effects to the bottom right corner shelf. Or, drag all “restore stamina” ingredients to one section.
How it works (Continued):
The Skyrim Alchemy Visualizer uses Processing, an open source programming language and environment for people who want to program images, animation, and interactions. The sketch imports the data spreadsheets as well as an array of images for the ingredients. The ingredients are put in alphabetical order and the images are named from 1-96, so that they may be called in as integer values by the sketch and matched to their appropriate quadrant in the main spreadsheet. A total of 3 spreadsheets are imported and used by the sketch: one for the focused ingredient’s overlay (seen as the Abecean Longfin in the image above), one for identifying positive effects (seen as the green line in the preview), and one for identifying negative effects (seen as the red line). All of the ingredients begin as an array of objects (named Circle). When an ingredient is selected by mouse press , detected by a Boolean overlap by calculating for the objects’ radius (every ingredient’s “mesh” is drawn as a circle), it turns into a variant of that object (named focus). Every object (Circle) has its own fielded variables that contain the overlay, however it is drawn only when the mouse is pressed on the focused object. A unfilled circle object is drawn around the focused object, to improve the user interface. It uses simple if statements of whether it has reached a certain size; grow smaller, when it has reached the said size, grow bigger/repeat. If statements are also used to make “checks” to see if the focused ingredient has a matching effect to all of the other ingredients. It makes a total of 16 checks, as since each ingredient has 4 possible effects, each 4 effects have to check the 4 effects of the other:
If any effect matches, it is given a “true” declaration, placed as integer values. These are afterwards returned as String and Boolean variables (I use integer variables to begin with and then convert to string/Boolean that way I only have to do a 4×4 check rather than having to do a 4x4x96 check (4=focused ingredient, 4= other ingredient, 96 ingredients total). The result is being able to write an if statement to see: if so and so effect is matching, if so which one, and is it a negative effect (stroke:red) or a positive effect (stroke:green).
The background image of which the sketch is laid upon is a room in the College of Winterhold (the guild of mages) in Skyrim, which I emptied the shelves and took a screenshot of.