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! 7 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.
Tom Murphy VII I just had a new product idea, "Walkie Pocky". It's little chocolate covered bread sticks with feet on them. Also you can talk to other people on the built-in radio. 7 years ago · Comment
Tom Murphy VII At Bakery Square, Lilith Fair is constantly coming out of the sapling planters, FYI. 7 years ago · Comment
Tom Murphy VII As a public safety measure, I propose it be made illegal to put the sound of distant sirens in music. Plus that way it'll be even more rock 'n roll when producers continue to do it. almost 8 years ago · Comment
Tom Murphy VII For ten minutes I was singing the Ducktales theme song in a loop at the airport, and at the key change I'd keep getting higher, just to see what would happen. PIT → BDL. almost 8 years ago · Comment
The title comes from an "invention" I had during an unusually coherent dream yesterday. Last week (this part is real) we were playing soccer when a lady came over to ask if anyone could help her change her flat tire. I tried but could only get two of the four lug nuts off. Since I was disgustingly covered in soccer sweat and only making the tire iron less effective with that, and not to mention that in my absence Disney—that was the opposing team—scored on us, which I will have none of that (don't worry, we won in the end) I went back to the game and summoned more burly computer scientists to replace me. They did succeed just as the AAA professionals arrived. But anyway, yesterday I woke up having dreamt an idea of how you could use the car itself to undo even the toughest nuts. It's illustrated above. For all I know it's totally standard advice, or maybe even very dangerous or ill-advised (an alternative is to use the jack, but I don't think you'd get as much instantaneous torque). But that's okay because this is not a real patent, it's just the title of my album and the name of the title track, a techno dance party which happens to be my favorite. That track and others:
Method and apparatus for removing the lug nuts. Already backstoried. I think the best track on here. How could a chorus in 47/16 time be so catchy? It's a mystery to me, too.
Nothing makes cars flip out like seeing a bike. Based on a very embellished non-true story inspired by July 4 events. A theme of this album is the narrator insisting that other people "do their jobs" at inappropriate times.
Peace is rest. My entry for this week's songfight. I think this is another of the best tracks. It has percussion using a real percussive instrument, which is new. Also the thematic insisting.
TV chef breaks pizza record. Front-page headline, mainstream news.
Only ___ would rhyme ___ with ___. Uncharacteristically restrained MIDI ballad.
2 am pancakes. True story, but a pretty bad lexicographic pun.
Vulgar fraction 3/4. Straight-up 8-bit ditty.
Literally fall. Something weird is going on with this one, dynamics-wise, like there's a hidden compression plugin I couldn't find to disable. Oh, well. If you find the lyrics annoying, rest assured that they are much much better than the placeholder lyrics.
Label me purple. After achieving the singularity, mankind built a machine to judge them. It always reports "purple", the second-lowest rating.
When people tell me that I am a pretty good dancer they usually look surprised or like I should be surprised. This is true.
Life's a bleach. I'm sure this is an old pun, but I did enjoy it and writing lyrics for it, especially because I love rhyming science words.
Tom Murphy VII Today's iPhone 4 line is in the wide, unfortunate interval between convenient and epic. almost 8 years ago · Comment
Tom Murphy VII 28X bus broke down in Crafton because we couldn't stop the beeping caused by the antifreeze leak. Port Authority road ops fixed it by pouring a lot of new antifreeze from a huge Dennis The Menace-era tin can. He is trailing the bus now. Next we will try a "top kill" procedure. almost 8 years ago · Comment
Tom Murphy VII is in seat 9A for all four of his flights this weekend, which appears to be a self-inflicted practical joke from months ago. almost 8 years ago · Comment
Tom Murphy VII I took the day off and got up early so that I could program all day for the ICFP contest [question mark indicating dubious move?, or exclamation mark indicating awesome!] almost 8 years ago · Comment
p e r s o n a l
Sick Ridiculous at the Submarine poster
(12 Jun 2010 at 18:54)
I've already announced our upcoming show in DC in my previous two posts. I just want to share the concert poster I drew:
I think this is one of my best posters (at least on-screen), but you can make up your own mind. I made it in Flash in about five hours. What takes the longest is the thousands of partially-transparent brush strokes that give that hand-worked look. I really like this style (also used in e.g. head cat) because it allows me to be kind of sketchy-sloppy, yet gets better with age. But it takes a long time. When I make an illustration in Flash I usually use the animation timeline as a way of saving my history, in case I want to go back (I never do, but it comforts me right before making a big change). That means you can see an animation of the steps I went through to draw it, if you like.
Here is a Facebook Event, now properly adorned, which you can use to organize your busy social calendar, or to invite your DC-area friends to the show. (By the way, the other two bands sound really good to me.) I always RSVP "maybe" but rest assured I will be there to do the guitar and technos.