NinjaPenguin 6


For the last few years, my friend pinguino has been celebrating her birthday at a party called NinjaPenguin. She’s often joined by other May birthdays like Dave, Jessica, and Erik. The party usually has a strong internet related theme. This year was Rise of the Breadcats, so I made two big foam pieces of bread with cat ears for people to wear and Grace made a breadcat piñata. One of the most memorable features of the party is often the cake; check out some of the past cakes below: Continue reading


Ascension and deck-building games

I’ve been cleaning out my closet and listing items on eBay, one of which is the original Penny Arcade card game from 2006. It used the UFS rules designed for collectable card games (CCGs) but was itself a standalone, pre-built set. Upon listing this, I discovered that Penny Arcade is actually selling a new card game described as, “It’s a deckbuilding game, if you’re familiar with the genre. Think of games like Dominion, Ascension, or Thunderstone.” I was not familiar with deck-building, but I love interesting game mechanics so I started researching. Continue reading


Flickr Android app glitch art

Mt. Hood...I think?

It took some time before Flickr released their official Android app last fall. I was pretty excited about it. It’s not without its quirks though. There’s something in its upload code that doesn’t do near enough error checking. So when you’re on a flaky cell connection, something breaks, and out pops glitch art! The picture above is from my former coworker Taylor. The one below is from Frosty, which was taken recently and prompted me writing this post. The third example below I found by crawling pages of photos with the app’s machine tag; I don’t know if there’s a way to easily find these. Continue reading


Pixel art scaling in JavaScript


While reading about canvas pixel manipulation I wondered if anyone had ported pixel scaling algorithms to JavaScript. You may have heard of Eagle, 2xSaI, or hqx which are employed by console emulators (e.g. ZSNES). The scaling algorithms are designed to make low resolution graphics look appealing on modern high resolution displays without introducing jaggy artifacts. Wikipedia has a great section explaining pixel art scalers.

A couple years ago, the source of the hqx series of scaling algorithms was put into the public domain. Dominic Szablewski ported the code to JavaScript for use with his Impact HTML5 game engine. You can get the js-hqx source from GitHub and view it in action as part of his Biolab Disaster game. The performance impact is negligible since all of the sprites get scaled once at the beginning of game instead of scaling every frame.

Aside: While researching this I rediscovered the Microsoft research paper from last summer where they developed an algorithm for turning pixel art into vector art.


Can you bypass Content ID with hue rotation?

Sorry, your browser doesn’t support this Canvas demo.

Well, if you subscribe to the Betteridge school of thought, you know the answer already: No. But that doesn’t mean we can’t have some fun.
document.addEventListener(‘DOMContentLoaded’,function(){var v=document.getElementById(‘v’);var canvas=document.getElementById(‘c’);var context=canvas.getContext(‘2d’);cw=canvas.width;ch=canvas.height;v.addEventListener(‘play’,function(){draw(this,context,cw,ch)},false)},false);function draw(v,c,w,h){if(v.paused||v.ended)return false;c.drawImage(v,0,0,w,h);setTimeout(draw,20,v,c,w,h)} Continue reading