In case of no post, break glass
(30 Nov 2010 at 18:55)
Did you know that every month I worry about whether I'm going to have something to post on Tom 7 Radar to keep up my nice grid of months in 10+ years of Tom 7 Radar history at the bottom of the page? Well I do, and usually I crap something out in time, but tonight's the last day of November 2010 and I didn't do anything except whimsical Facebook status updates.
The main reason is that I was ridiculously busy at work, but that is done now. I have a bunch of projects in the works, which I hope to share with you soon. For example, this weekend we did Ludum Dare mini (totally flouting the rules—like not even looking at the page or registering) and made a game called Time Badgers Like A Dry Cleaning, but it is not finished enough to show you yet. [sad face icon] Soon. I have some songs and music videos almost done. Some programs and shit like that. I hope to spend a lot of December on fun projects. But not this month, so all you get is a post about how I didn't post anything, which is about as blog-standard as it gets. What have you guys been up to?
Tom Murphy VII Sometimes I feel semiotically-challenged when I need to figure out which is the 'male' and which is the 'female' creative icon on the bathrooms at the hip restaurant. 8 years ago · Comment
Tom Murphy VII Jimbo Wales appeals to me personally by gazing wistfully into the void. 8 years ago · Comment
Tom Murphy VII Invention: Pantalties, which are bright yellow panties that you can throw on the football field to arouse and flummox the officials. 8 years ago · Comment
Tom Murphy VII Dear Facebook, do not clear my status messages just because they are old. Do I throw out stuff in my fridge just because it's old? No. That shit's classic. Instead, just move my status messages to the back of the fridge to make room for new ones. almost 9 years ago · Comment
Tom Murphy VII Dear Dr. Murphy VII, I am Yumei Li from China. I am Rongfang Zhao from China. I am interested in applying for a postdoctoral position in your laboratory. almost 9 years ago · Comment
m u s i c
w o r l d
T7ES - Around The World
(11 Oct 2010 at 01:28)
It's unusual for me to cover a song, but sometimes it's a fun challenge. A friend is making a compilation of only covers of Around The World by Daft Punk, which is an catchy but extremely simple and repetitive song (with a great video by Michel Gondry) popular about 13 years ago. My concept was to take the song in as many different melodic directions as possible, in contrast to the original. I like the way it came out. Here is the MP3: Tom 7 Entertainment System - Around The World (Daft Punk remix), and here is the cover art (which makes more sense if you watch the video):
Tom Murphy VII It took me about until the age of 30 to realize (in retrospect) that when that old dude that Dennis the Menace is menacing needs to have some "nerve medicine" as a result of the menacing, it's just booze he's drinking. almost 9 years ago · Comment
Tom Murphy VII I have stayed in this exact hotel room before. I think I am its mayor. AND I AM RAISING TAXES. almost 9 years ago · Comment
Tom Murphy VII Sometimes I wish all cars looked exactly the same. Then I remember that game with the punching. almost 9 years ago · Comment
Tom Murphy VII Had surgery to remove my appendix. Weird day. They totally roofied me so I didn't even know surgery had already happened, then ran off with my organ Snopes style! almost 9 years ago · Comment
Also available is the same map in PDF so that you can pinch to zoom. Over on the right (known to cartographers as "East") you can see Pac Tom Level 1, totally all done. I've been hard at work on the stuff South of the Monongahela since I finished Level 1 almost two years ago. It's hard because it's far from my house (see rules and regulations) and crazy hilly. You can see that I've made a lot of progress either just by the superbrite color lines all over everything (btw that image above is about 136 square miles, about 140 feet per pixel) which is where I went, or by comparing to last time, or by me being more specific:
Neighborhoods totally done (level 2): Banksville, Beltzhoover, Bon Air, Brookline, Carrick, Chartiers City, East Carnegie, Esplen, Fairywood, Hays, Knoxville, Lincoln Place, Oakwood, Overbrook, Ridgemont, St. Clair, Westwood, Windgap.
Total running events (this includes Pac Tom, training, races, and 3D World Runner): 734 Total time recorded: 25 days, 23:15:38 Total distance: 4230.118 miles
But actually what I really wanted to show you was a newer map, which has been on the Pac Tom site for a while but I have never explained. It's the shortest paths map:
Well, at this view it just looks like the regular map vomited a rainbow all over itself. What's going on is that this is a graph of all of the places I've been (each individual GPS waypoint), connected by heuristics (like they were consecutive in a trip, so I actually ran between them, or they appear to be near enough to imply that I could run between them) and then I compute the shortest path from each point back to my home. Here's a zoom up:
Bonus points if you recognize the neighborhood! See all those fingersnakes reaching up to meet one another? Those aren't dead ends, they're the farthest away from my house I can get on those roads (the leaves in the minimal spanning tree rooted at my house). On one side, the shortest path is to go South, but just a few feet away, the shortest way is to go North. (My house is Southeast from here.) I spent a lot of (fun) time writing this code partly in the hopes that it would teach me about better ways to get out to distant neighborhoods, but it turns out that on city streets (especially grids), the shortest path on foot is usually pretty obvious. Even when it's not, the difference rarely exceeds 100 feet. The most interesting places are probably choke points, like bridges:
Pretty much everything nearby points up this bridge. The colors by the way are not gratuitous; they indicate the physical heading that I should be running on that segment to decrease my distance to home. Green means East, red means North, violet means West, cyan means South. This is meant to emphasize the break-even points described above. Here you can see from the thickness of the lines (which just comes from having lots of runs through there, with GPS noise) that I don't usually take the Birmingham Bridge, even though it would save me about a South Side block's width (that's the pink stuff: Turn around!) I usually prefer the Hot Metal Bridge to the East because it's got better pedestrian access and also my brain autopilot is accustomed to the area, having run it like a hundred times. Unfortunately it's hard to get route preferences (and other stuff like elevation change) incorporated into the formulas. So, rainbow brite indeed but not actually that useful. The maps are updated automatically after every run onto the graphics page. You can check out the source code which of course is mostly calls out to general-purpose libraries for loading GPS data and computing fine-grained distances on the earth pear's surface and undirected graphs and snapping the neighborhood boundaries to be exactly perfect, and outputting the SVG, all of which I of course wrote myself even though it probably or certainly already exists because have you MET Tom?
Tom Murphy VII Extremely nice out, so I ran today's 5.25 miles in crocs that are a size and a half too big for my feet, to increase the self-flagellation factor. Principal component analysis suggests that this only slowed me down by 2.4%25, which is ridiculous but that's math! almost 9 years ago · Comment
Ludum Dare 18: You Keep Sliming
(28 Aug 2010 at 11:11)
Last weekend was Ludum Dare, a weekend-long video game programming competition. Since I had such a good time last time I knew I wanted to do it again. This competition had a new simultaneous "jam" which was open format (no real rules; does not have to be teams of one) in order to tempt away rulebreakers from the mainline competition. I had done a team game jam before with Head Cat so I was interested in trying again, and so were like 9 other people (mainly computer scientists from CMU) and so Bouncecrab 2 was born:
You can download the OS X version or Windows version. Both should just work if you download and unzip and click to confirm your selection.
I regret to inform you that the intro sequence is not representative of gameplay. Let me tell you about it. One of the ways Ludum Dare protects against head-start rulebreakers is to announce the theme of the contest just as the clock starts. The theme is determined by voting, so you can see some of the options, and we were talking through them all at dinner and excited about ideas for some of them, but not for the one it ended up being, which was "Enemies as Weapons". So we applied the deliberately misheard it strategy also deployed for the theme islands in my previous ludum dare Is Lands? and made our game with the theme Anemonies as Weapons.
OK but still: We started with some code (BTW this game is written in Standard ML) that I had developed to prototype a long-time secret project, which in its current state is just a boring jump around a nearly empty room video game. The first night we had lots of ideas, like how you'd be doing space-inversion rock pushing puzzle solving, where each time you'd find an anemone it would unlock some power, until the dramatic boss fight, etc. The story is something like you're a hyper snail, and you have to rescue all of the anemones from the Evil Dr. Bouncecrab (an inescapable in-joke from William's Ludum Dare 17 entry). One of the minor details was that we needed to adapt the physics of my test game to snail physics, which was mainly that we needed the snail to be able to slime up walls. Long story short: Getting the snail to slime up walls actually took the entire weekend, and even on Monday night it wasn't working yet, and David just decided to replace the very delicate and carefully thought out but non-working physics with new hilariously unexpected physics but that allowed you to slime up the walls and get stuck flying upside-down sometimes, but actually get around our universe, which had been half-heartedly built without the benefit of being able to move around in it, because of the sliming, and with only like 25 total graphical tiles since I had been distracted from making graphics like I promised I would. So you have here an oddly unbalanced game, with like 15 minutes of lovely newly composed music by the music team, a pretty nice intro sequence where it seems like this game is gonna be pretty polished huh?, a pretty fancy level editor, some bits of the universe that are lovingly detailed and others that are literally I just drew a big beer glass and wrote "beer" on it, which you get stuck in and there's no way out except resetting and you don't know why, which probably had to do with the drinking we were doing at some parts of this, plus custom written ray-traced lighting:
And the game itself, which was charmingly put together in the last few hours by those still with us, can best be described as "exploit physics bugs to find the anemones" or "you keep resetting". I added a last minute timer for speedrun mode. At its best gameplay looks something like:
Despite the wide gap between dreams and reality, consensus is that the game came out magnificent and we can't wait to make Bouncecrab 3: World of Bouncecraft! [Bouncecrab 2 OSX • Bouncecrab 2 Windows]
In other news, I have a long-outstanding game post I really should get to, since I keep making in-jokes about it on my blog but not actually sharing with you. For shame. But next up is another music post...
Over a year ago an old friend Taleen was visiting town and Mike was off doing boy stuff like Hockey, so she and Erin and I made a one night band, which is called The 7evenths. I just finally mastered together our album for internet ridicule. Due caution: There are two songs about monkeys, if you know what I mean. For what it's worth, my favorite track is "Belly Button." The photo above is a lightly doctored (to put all the best moments in the same picture) one from an unrelated party, but featuring the band at its finest. Which one is me? Click to confirm your selection.