Addison Slick TLR #Last

For my final trick, I will examine two of my current extracurricular DH projects.  The first is my personal website, and the second is the updating of my board games to be “not s***.”  I am using CSS for the former and Adobe Illustrator for the latter.

My website still somewhat nebulous in that it is unpublished (and on another computer — I’m on my tablet right now).  My ultimate goal is to host my own content on the site for free download to the public (you shouldn’t have to pay money for the crap I make), hopefully getting at least a few people to play them.  I’ve thought about trying to reformat them for the web, or even a desktop or mobile app, but I feel like the medium helps my intended metaphor so I’d rather keep them as they are for now.
I’ve also been using Illustrator to make custom graphics for the site to give it a more directed feel.  Because the medium I’ve used the most is board games, I want the site to have a feeling sort of like that.  Presently, my site’s pages are presented on a sort of banner made of generic game spaces.  I’m hoping to expand that theme into other elements of the CSS.

For my games, I’ve been trying to improve my narrative text and rework mechanics to make it more choice-based than the current edition.  Right now, they both feel a bit like Candy Land and that’s awful.  In the depression game, I’m changing the path choices to allow the player to skip and event to represent memory repression. I also want to change the dice mechanic to allow the player to choose between 2 outcomes; this not only gives players more control, but means that removing that control causes a greater panic and anxiety in the player later in the game.  It should be fun.

The games will be available as .pdfs on my site by [TBD].

Advertisements

Addison Slick TLR #4

As we’re moving rapidly toward the point at which the class will divide into groups and begin working independently on projects, it’s time for me to break from just coding and examine practical issues with my suggested wiki-based fiction project.  Our goal, first off, is simply to build fiction using the wiki platform.  Our purpose in this exercise is therefore to examine the differences in the communal fiction of our wiki as well as to use it to guide writing a few traditional-form short stories — the opposite of how the practice normally works.  The best example would be “A Song of Ice and Fire,” which is a deep and expansive universe.  My encounters with that fictional world come from two sources: the show “Game of Thrones” and the wiki.

The practical issues involve building and hosting the wiki.  As I’ve stated before, the easy way out is through Wikia, a free wiki hosting site.  The obvious enticement is the “free” part, but I also wouldn’t have to build and maintain the structure supporting our content.  The clear downside (beyond the whiney hipster in me going “but it’s Wikia!  It’s so bad!”) is that the content is run on an existing tool and part of the group project is to build.  We would still indeed be “building” in the same sense of Christine de Pizan’s city of ladies, but that’s clearly just circumnavigating the exercise, defeating its intention.  However, this also means I won’t have to keep paying for the service if I find the project to be not worth showing off.

The other end is to suck it up and pay for hosting, which I need to do anyway.  My idea pursuing this route is to host the wiki within a personal website (which I will build).  This is effort, but I do feel it’s the right thing to do.  However, I’m leery going forward in CS with the intent on “doing the right thing.” In my AI course a few years ago, my group decided this meant coding our project in LISP.  This decision greatly complicated our project and resulted in a program that was not only dramatically less efficient than others in the class, but one which I barely understood (because, again, LISP is awful).

Flashbacks aside, I do know hosting is the right way to go but the decision is difficult for me.

Addison Slick TLR #3

As our lecture schedule draws to a close, I can’t help bouncing on the balls of my mind-feet a little in anticipation of working and building projects of my own.  The IDE I’ve chosen for testing the waters of CSS and HTML5 is NetBeans, the development platform built and maintained by Oracle — the company which currently owns the Java coding languages.  I’ve used NetBeans for both Java and C++ development in the past on both Windows and Ubuntu, so I was very excited to learn that the same program and environment to which I am accustomed is capable of development for the web.

The first conveniences I noticed in my building foray was the inclusion of templates.  While I would generally categorize “template” as a dirty word in coding, the ones I found featured built-in Google Analytics code which track views to the page.  This inclusion is both convenient and disturbing; while it is handy that Oracle’s platform comes with tools which make it easier for the layman to keep track of site metadata, it also feeds that information directly to Google.

The second major feature I noticed was the ability to include pre-built Javascript modules into the site.  From a lengthy list, I can select any number of scripts I’d like to have on my page and put them in hassle-free.  This is simply delightful.

The last convenience is the ability to preview the site in any browser installed on the computer from which NetBeans is run.  On mine, for example, I can run the site-in-progress on Firefox, Chrome or — God forbid — Internet Explorer.  Since different browsers interpret the source code at different levels of efficiency and in different ways, this ability is actually amazing for advanced development (if I were to go all the way or something).

That’s all I really have to say about NetBeans.  It’s nice.  The code is nice and color-coded.  I don’t hate the interface.

Instead, I’ve been thinking about the interactive fiction project more and how the internet can build new approaches.  For example, the ability of a Wiki to construct a fictional world.  We use Wikipedia often to learn more about our’s, certainly, but I also use others like “A Song of Ice and Fire Wiki” or “WoWWiki” to learn about other universes.  I’ve spent hour of my life in Azeroth without having play “Warcraft” (though I have played World of Warcraft) and [wherever Game of Thrones takes place] without having read “ASOIAF” and have pretty extensive catalogs of information about them.  Did you know that Illidan’s blades have panda heads for hand-grips in Warcraft 3?  I do, because I read it on a Wiki.  So I’d like to further examine how those are structured to see if we could implement something like that into the project.

Addison Slick TLR #2

I’m writing this after 32 oz of coffee while listening to Muse’s “Knights of Cydonia” on a loop because that seems like a good idea to my overcaffeinated brain. So if anything is off, I preemptively blame it on the jittery madness that drove me to drink that much coffee with no real deadlines approaching this morning. I’m not counting these 70 words in my wc.

Since the last post I downloaded Brackets (brackets.io), which is an open source web development platform. It’s running on my Windows desktop, but I may download its Ubuntu version to try it on my Linux-based laptop. Mostly what I’ve been doing in the past week besides trying to figure out what bizarre method Google used for its Music program’s shuffling algorithm has been taking apart various sites to see how the developers/whoever’s back there making it makes their sites tick. I’ll be examining SMBC (smbc-comics.com), Penny Arcade (penny-arcade.com) and the Cheat’s Strong Bad homepage (homestarrunner.com/sbsite/).

SMBC’s content is, as I mentioned in the last report, well documented and neat. As someone with experience in code, the readability of Weinersmith’s site is a treat. Naming conventions are followed; indents are consistent; and dense code is broken up with comments labeling each section. For example: in line 138, a comment announces that the “TOP AD AREA” code will immediately follow the line. Indeed, the next line is <div id=”ad-top”>. Well played, Weinersmith.

After that is another “Project Wonderful Ad Box Code,” which appeared earlier. Line 148 dictates the end of the “TOP AD AREA.” Because of the extensive comments, the site is very easy to take apart and understand. However, looking at the page itself (not its code), there doesn’t seem to be much content. SMBC is actually a fairly sparse-looking site. It certainly doesn’t seem like something that would take 523 lines of code to describe (approximately. Weinersmith leaves plenty of blank spaces to maintain readability). And looking through a few random pages, a few variants show that the length can vary slightly from page to page due to blog post lengths. However, the vast majority of the code remains constant from page to page. The content was, therefore, likely coded once and is now just reapplied with specific elements made so minimal effort is needed for code maintenance from day to day.

Penny Arcade, perhaps interestingly, also uses naming conventions but does not use commenting to nearly the extent SMBC does. In fact, there are only 4 lines of comments in their 719 lines of code (besides the few which are to temporarily remove a function from the site. Penny Arcade is also a much larger site than SMBC in terms of its staffing. The site hosts 3 comics which are updated regularly throughout the week (7 comics/week the same as SMBC), its own merchandise store (SMBC’s is an external site) as well as its own forums in addition to sponsoring and running three gaming conventions (PAX East/West/Prime), two podcasts, web video series and the charity “Child’s Play.” Penny Arcade has, as it has grown to this sprawling thing over the years, become a company that has dedicated web developers on staff. The code for the sites is maintained by professionals who already understand the code, so the only things they need notes on are to remind themselves. As a programmer, I do appreciate the desire to free oneself from the shackles of annotating ever single detail so someone else can read your code without reading your code. Theoretically, comments are unnecessary if naming conventions are followed; they are, however, nonetheless helpful in quickly diagnosing problems in code.

Finally, the treat of the Strong Bad homepage, “WELCOME TO YOUR DOOM!!” In his sbemail webseries, the fictional character Strong Bad has his pet “Cheat” make a webpage for him. Every single thing about the site is wrong by conventions of design. The top banner is broken into 4 frames with white boarder between each (some browsers also display scroll bars on the .jpeg images in each box, meaning the boxes are sized independently of their contained images. There are rotating .gif images below that. The words “still under construction” appear in any context at all. The interesting part to me, though, was that the source code is just 13 lines (with lots of blank space). The content is pushed to other style sheets, out to 2 removed from the primary source. So even with the site being poorly executed, there’s still an element of good design here through its organization.

Next step is to build something stupid followed by something good.

TLR 1 – Addison Slick

The progress with CSS has begun to spark my wanting to learn more in order to be able to create something.  Not that the end result of my learning it will be some masterpiece, but rather that the ideas are starting to bubble up when I learn about something new in the language.  The most exciting development for me so far has been the similarities of CSS to object oriented programming, where most of my prior coding experience has been.

The associates degree I have in computer science came with some experience in Unix and with C++ — the latter of which uses object oriented programming as its driving theory.  The general idea is that one file calls other files and systems of files to execute its functions: in CSS, HTML pages are called to provide information to a digital lens that organizes the information contained by the read page as its own inscribed information instructs.  For example: the Videogame “The Elder Scrolls V: Skyrim” uses an object oriented language, so it’s core file is 17.1 MB while the entire game takes up 21.9 GB in total with its extended file system.  CSS in its “external style sheet” format is very similar to the idea, where it reads information from a separate file in its system, though CSS also works within individual HTML pages in its “Internal Style Sheet” and “Inline styles” formats.

Besides reading the w3schools tutorials, I’ve been looking at consistencies in the formatting of certain websites and looking at code to understand how websites work according to the programming principles with which I’m most familiar.  The site SMBC-comics.com has been helpful with its neat, well-commented source code in showing my how certain functions are executed and how different elements of a site come together.  Much of SMBC uses javascript for simple functions which help the navigation of the site as well as integrate more complex features such as displaying video.  What interested me most, however, was the random function built into the site’s navigation; clicking the “random” button will cause the site to jump to a random comic in its library of over 3,000 comics with the page automatically positioned to have the comic at reading level.  With a file system of that size, the object oriented style of CSS seems vital.

My next step needs to be development.  I need to procure freeware or open source tools to begin experimenting with different features.  The more I play with the tools outside my head, the more familiar with them I’ll become.  I’ll also need to check out development tools for Linux, since my laptop can run that and different virtual work environments could be available through it.  Lastly, I need to figure out a core “play” project I can do to focus my goals and create obstacles for myself to overcome.  I’ll probably try some game development ideas out through it.