-
"It's just 4 names, on a t-shirt. Buy it now because you know whats coming and by then, it'll be too late. Good luck." Want, so bad. And the kerning's not a million miles out.
-
"MagiCal is a FREE menu-based clock and calendar. It features a huge range of configuration options for how the time and date are displayed, and can operate either in conjunction with, or as a replacement for the built in system menu clock." Quite pretty, and makes a nice companion for FuzzyClock.
-
"The microprinter is an experiment in physical activity streams and notification, using a repurposed receipt printer connected to the web. I use it for things like reminders, notifications, and my day at-a-glance, but anything that can be injected from the web and suits text only, short format messaging, will work." Tom writes up his printer in more detail.
-
"We’ve recently switched a number of projects to ThinkingSphinx here at Hashrocket. These projects were originally using SOLR or UltraSphinx. Today, we’ll explore the differences between UltraSphinx and ThinkingSphinx and why we chose to switch." Detailed explanation of the advantages of ThinkingSphinx over UltraSphinx or other alternatives.
-
"Last night I laser-etched the top of my Eee PC with the complete level maps of Super Mario Land ( on the Game Boy)." Just beautiful. (Thanks, Offworld!)
-
"Compared to a standard web (un)conference where everyone knows their space, expertise and opinions, here lots (most?) of us were exploring stuff outside of our day job and business-as-usual. It was passionate and interesting and I felt completely out of my depth, which was was great. So in 2009, less of the comfort zone stuff please, and more like this." I can get behind that.
-
"Morph was sometimes supposed to copy Hart's own artistic work, but not perfectly. In this way nervous children were reassured that even their endearing hero Morph could get it wrong, which made them determined to pick up their pens and pencils and other objects and do better… He believed that most of the things he did could be done only [on television]: "I hope that by example, and by humour, children will start to make pictures for themselves. Show them, don't tell them!"" I was terrible at art, and most forms of drawing, but I could watch his hands work all day.
-
The New Frontiersman is on Flickr. The paperverse is collapsing. (Although: "taken on August 10, 2008" breaks the illusion a little).
-
Leslie roughly captures a few thoughts I've had and some reasonably opinions. In a nutshell: the social value of tagging is broad, fuzzy, and a second-order effect. As a loose, freeform taxonomy for personal use, they're superb, and delicious captures that excellently. I tag for me; if it's useful for you, that's a nice side effect.
-
"Established by rock band They Might Be Giants (TMBG), Dial-A-Song consisted of an answering machine with a tape of the band playing various songs. The machine played one track at a time, ranging from demos and uncompleted work to fake advertisements the band had created… Due to the nature of an answering machine, only one caller could listen to the current song at any given time. This had been noted as creating a special bond between the song and the person calling as it is playing just for them… John Linnell stated in an interview in early 2008 that Dial-A-Song had died of a technical crash, and that the internet had taken over where the machine left off." How did I not know this? There is nothing about this that is not brilliant.
-
"This Prince of Persia is many things good and bad, but for me, it has been one of the more enthralling experiences provided by a video game. It eschews frustrating, punishing gameplay tropes, and instead follows a hugely unpopular and successful (at its aim) path: it aims to create a continuous, enjoyable, flowing experience, one unhindered by the mechanical, artificial traditions of “achievement” and “fun” that so many games cling to."
-
"Murphy was also rumored to have been attempting to supply his castmates with pain pills. When asked about the rumors, Dwayne “The Rock” Johnson, playing “The Tank” in the film, said, “Eddie was just achievement-boosting. Anything else is a rumor, plain and simple.”" Hardcasual, again, I love you.
-
Kotaku picked up on the L4D Twitterbots I wrote. Needless to say, the discussion thread descended into general Valve-baiting.
-
"So why don’t we aim for a new tier – something that takes a chunk out of the 90, to lead it closer to the 9 and the 1? Why not give users a chance to enter something personal and creative, but let the system mediate, moderate and filter it into something useful?" Yes. The 90-9-1 pyramid is actually a very unhelpful metaphor, IMHO, and trying to explore and encourage creativity along a sliding scale rather than an absolute is important.
-
Lots of good stuff in here, and, indeed, most of the blogs I started following this year. Somewhat flattered to have snuck in myself. It's a great starting point if you're interested in the games-crit-o-sphere, and nice that representative posts have been pulled out from each blog.
Twit 4 Dead: more silly nonsense with Twitter bots.
29 December 2008
As a little post-Christmas present, I thought I’d share a little code toy I’ve been working on recently.
You might know that I’m a fan of Twitter as a messaging bus, and I’ve already built some entertainingly daft bots in my time with it. Recently, I decided to flex my programming skills a bit and build not one but four bots. And, more specifically: four bots that talk to each other.
Enter @louis_l4d, @zoey_l4d, @bill_l4d and @francis_l4d. You might notice that they’re named for the characters in Left 4 Dead.
This is not a coincidence.
One of the most wonderful things in that game (which I’ve already commented on the brilliance of) is the banter between the four player characters. There’s so much dense, specific scripting, and enough dialogue so that it rarely repeats. I thought it would be interesting to see if you could simulate the four players’ dialogue over Twitter, sharing some state between the bots, but also finding a way to make them communicate a little with each other.
Well, a bit later, I worked out how, and this is the result:
You get the picture. They run a scenario, they bump into boss zombies, they find stuff, they get hurt (and help each other), they get scared (and reassure each other). At the moment, there are some dialogue overlaps; my main work at the moment is adding more unique dialogue for each bot. Bill is sounding pretty good, but the rest of them need work. It takes about 2-3 hours for them to run a scenario, and it’s usually fun to watch. (And, as you can see, it makes sense to follow all four of them).
So how does it work?
It turned out that rather than trying to build any real AI, it was much more fun just to simulate intelligence. The bots are state machines; they have a variety of states, which they transition in or out of dependent on factors, and suitable dialogue for each state.
I wrote the bots in Ruby. There are two main components to the twit4dead code: the Actor class and the Stage class. The Stage is a singleton; it’s where the state of the world is determined, and global variables tracked. It’s also where all the probabilities are run from. The Actor class is what each of the bots are, and it’s based on the Alter Ego state-machine library for Ruby. We have a lot of states, rules for transition, a selection of methods to handle being helped or talked to by friends, and a method to choose a random piece of dialogue appropriate to the current state.
All the bots are instantiated from a YAML file. For each bot, I store its Twitter username and password, and a nested tree of dialogue for each state. This means it’s really easy to add new states and maintain the dialogue for each bot. It’s also easy to add new bots – you just create a top-level entry in the YAML file.
Originally, I thought about the bots broadcasting and listening over Twitter, but the API calls were just going to get out of hand, and it turned out that Twitter didn’t like being bombarded with messages and would drop a few over time. So I separated out writing the script and broadcasting it. A small utility generates a script file; each line of this file consists of three delimited fields for username, password, and message to send to Twitter. Then, another program – which I currently run on a screen
ed shell – reads that file and broadcasts one line of it every minute until it’s done.
And that’s it. I have to run it by hand for now, which is fine – it’s more something I fire up every now and then, rather than something you want to permanently run. I originally was going to keep track of loads of statistics – health, zombies in play, etc – but found a cruder set of rules worked much better. Every time they’re in combat, there’s a slim chance somebody gets hurt; every time somebody’s hurt, a friend will rush to save them. That sort of thing. Simulated Intelligence, then, rather than Artificial Intelligence.
Alter Ego turned out to be a lovely library; dead simple to use, and as a result the bots are really nicely modelled (or, at least, I’m very happy with how they’re modelled). The notion of a Stage with Actors, rather than a Game with Players, feels about right, and the modularity of it all is pretty nifty. It still requires a little refactoring, but the architecture is solid, and I’m proud of that.
I think my favourite aspect of it, though, is that at times, watching the bots play together is a little like magic. The first time I saw them talk to each other, cover each other whilst reloading, help each other up after a Boomer attacked, I felt a little (only a little, mind) like a proud father. They’re dumb as a sack of hammers, but they look convincing, and that was the real goal. It’s fun to watch them fight the horde amidst all my other friends on Twitter.
Nonsense, then, but a fun learning exercise about state machines, object orientation, and simulating conversations. State machines are a ton of fun and if you’ve not seriously played with them, I thoroughly recommend it.
Do follow the four of them, if you fancy; I’ll make sure I run them with reasonable regularity, and I’ll be fixing the dialogue over time. After all, I want to keep Francis happy.
Favourite Games of 2008
24 December 2008
It’s the end of the year, and that means time for lists. My books and albums lists are forthcoming – hopefully tonight or tomorrow – but in the meantime, I thought I’d kick off with ten of my favourite games of the past year.
There’s lots missing here, mainly owing to the fact I haven’t finished a lot of recent titles or given them the time they’ve deserved. What this is, though, is a good summary of what the gaming year felt like to me; ten games I enjoyed a great deal, and that I would recommend in a heartbeat to anyone not sure where to begin with 2008.
And so, in no particular order:
Far Cry 2
(Xbox 360, PS3, PC)
I have written enough about this already, but suffice to say: it sunk its teeth into me, after the initial hump I couldn’t play anything else, and at the end, it left me unable to play anything else for a while. Spectacularly beautiful, too.
Trism
(iPhone)
Trism began as an app for the jailbroken iPhone; it quickly made the transition to the official App Store platform when that opened up, and it has sold hundreds of thousands of dollars of copies since then, giving Demiforce a fantastic start to their company. And with good reason: it’s a great piece of game design, easy to learn, and hard to master. It also makes brilliant use of not only the iPhone’s capacitive touch screen, but also its tilt sensor. It’s a very pure puzzling experience, and I’ve already sunk many hours into it; it suits the pick-up/put-down rhythm of travel and play on-the-move idaelly. If you have an iPhone or iPod touch, this really is a no-brainer.
Geometry Wars Retro Evolved 2
(Xbox 360)
It’s still one of the best games on Live Arcade. It’s also still one of the best asynchronous multiplayer games you can play. Making your friends high scores the default high score table gives it a great competitive streak and really contextualises your performance: nothing’s more frustrating than having emailed a friend to say “hah, beat your high score” only to receive an response five minutes later informing you that the ball is firmly back in your court.
Adding variety to the original formula are the six game modes, slowly unlocked over time. They may all be variants on a theme, but they all still demand unique skills and become games in their own right: turning the Pacifism achievement from the first game into a mode in its own right was a great move.
Beautiful in high-def, easily explained to anyone who’s played a videogame in their life, it’s by turns accessible and challenging, and an essential purchase for new 360 players. Also, its social scoreboards give it great longevity, and prove what I already know: I’m nearly, but not quite, at the bottom of the pack when it comes to motor control. As long as I’m not last…
Braid
(Xbox 360)
If there’s a measures of Braid’s success, it’s not to be found in its sales or metacritic scores, but in the sheer volume of verbiage devoted to it in the blogs, forums, and magazines of the gaming world. Thousands of words, all expended on the game, on the hype, and on what the hell it all means.
It wouldn’t have got that discussion if it wasn’t in some way good, and it really is: beautiful, challenging, and proof of the things that only games can do. It embraces game-native storytelling, wrapping its meaning tightly around its mechanics, and tells its tale through challenging, timeless puzzles and David Hellman‘s incredible artwork.
Perhaps it is a little pretentious; perhaps the writing is weak. Regardless of those facts, it’s exciting to see a game like this getting such a major launch on a mainstream, living-room platform, and as an artefact to push forward the casual – as well as professional – criticism of games, it’s a great starting point.
GRID
(Xbox 360, PS3, PC)
I always forget how much I like racing games. GRID is a very, very fine take on the racer. It’s beautiful, it’s fast, and it’s totally stripped down. GRID demonstrated that Codemasters really understood what making a game “cinematic” might look like: you condense it down into tight, exciting drama. So races take place over two-to-five laps, and in that time the AI will give you as good a catfight as any “realistic” simulator might over an hour. The rewind-time mechanic, as well as being wonderful to watch, removes the traditional racing-game reliance on the “restart” option; giving the game a pre-credits race, not to mention an ongoing narrative of running a team only helps with the Days of Thunder feel. Mapping Le Mans to a twenty-four minute endurance race makes it both exciting and endurable.
And, of course, it’s very pretty and fast as hell. The open-wheel racing is some of the most exciting driving games have to offer, in particular. The drift tournaments are weak, but stick to the touring cars, touge and open-wheel and you’ve got a hell of a game. The icing on the cake is the beautiful, free-floating typography. Solid, and surprisingly good.
Grand Theft Auto IV
(Xbox 360, PS3, PC)
It’s on everybody else’s list, and I can’t really deny it: it’s a wonderful environment, and a staggering achievement. It’s not as smart as it likes, and it occasionally misfires but it delivers moments by the dozen. Shame the pacing of the islands feels wrong – after the majesty of Three Leaf Clover, being dumped in the New Jersey analogue is a bit underwhelming.
Also: multiplayer, with the right gang of people, is a total hoot. Whilst not the runaway online success that might have been hoped for, if you can get eight to sixteen friends online together, Cops and Crooks or Turf War will bring the fun pretty fast.
God of War: Chains of Olympus
(PSP)
Well, it came out this year in the UK. I played this sitting by a roaring log fire, having spent my days clambering around the Lake District. It is not the greatest game of the year by a long stretch. It is, however, a wonderfully crafted experience: short it may be, but it’s put together almost perfectly: fantastic environments that barely repeat, thrilling combat that’s not too difficult, and one of the most striking in-game sequences I’ve played this year. It helps that the lack of direct camera control translates perfectly to the single-stick PSP. On top of all that, it looks almost as good as the PS2 versions – it’s a remarkable feat of engineering. I had a lot of fun with this, and if you own Sony’s much-unloved portable, you owe yourself to play this.
Left 4 Dead
(Xbox 360, PC)
Gerard Way asked if it was any good, and the answer is yes, Gerard, it is. It’s bloody brilliant, although with the obvious caveat that it gets better with friends. Co-op gaming has slowly seen a slew of support and innovation in the past two to three years, and Left 4 Dead represents one particular pinnacle of that: an experience designed ground-up to be played not only co-operatively, but with real friends.
It’s not about team-mates, it’s about mates; how far would you go to save your friends from a Smoker? Quite far, as it turns out; I’ve noticed that in various pick-up groups, if I have to pick between someone I know in real life and someone I don’t, I’ll go with my friends first. To see such an unashamedly co-op experience – and one that could be described as reasonably hardcore if you hadn’t tried it – achieve such a level of mainstream success is very heartening. I put it down to the fact that Valve are such a talented gang of people, and so fastidious in their process. If you’ve not played through the director’s commentary, you owe it to yourself to do so, if only to understand that nothing in the final product is the result of chance.
Also: it’s great to see a game that puts the mechanic, indeed, the core technology, that really makes it – the AI – so far front-and-center. Personifying it as the AI Director was the stroke of genius that not only made players aware of it, but gave them someone to blame when they all died. Again.
World of Goo
(Mac, PC, Wii)
There are two reasons, I think, that World of Goo has captured a lot of people’s hearts this year. One is the game itself: the wonderful art; the delightful soundtrack; the just-one-more-go gameplay that carefully teaches you everything to know whilst keeping the challenge just high enough. But the other is the game’s mythology: 2D Boy, two guys working out of coffee shops for a year, giving up on the traditional industry to make the game they really wanted to. It’s the story we all wanted to believe in. The fact that both elements are so great is the real magic of World of Goo: risking it all, living the indie dream, really did lead to a wonderful game.
Gravitation
(Mac, PC, Linux)
I like this more than Rohrer’s previous Passage. It’s a small, simple game, available for most home desktop platforms (Windows/OSX/Linux), about “mania, melancholia, and the creative process”. To say any more is to rob it of its impact. Once I worked out what you have to do to progress, I played on with a huge lump in my throat. To be heartbroken by a game this slight, this simple, in its 100 square pixel area, is quite something, and Rohrer makes games like no-one else.
-
"Left 4k Dead was made by Markus Persson, for the 2009 Java 4k Competition. The entire game is less than 4kb." Impressive, and even a bit fun.
-
"Mirror's Edge is not a perfect game, perhaps, but it is something more important: it is an interesting game. It can be played and experienced on its own terms, for its own sake, if players would only allow themselves to take a single videogame specimen at face value rather than as yet another data point on the endless trudge toward realistic perfection." Ian Bogost taking a considered approach to Mirror's Edge.
-
"'Why do you build your own computers?' Gloria asked earlier this week. 'Why don't you buy just buy one that's already built?' … It's because computers are fire… If I was a caveman (I'd be dead, because I can't see clearly two feet in front of myself without glasses, but that's not the point), I wouldn't go to the guy who discovered fire and ask if I get a light off his torch. I might let him explain the process–documentation, as it were–but then I'd go off, hold the torch backwards, cut myself with the flint, and generally do it wrong."
-
This appears to be some kind of 3D-tinged mind-mapping software; Flatblack were behind the rotoscoped look of Waking Life and A Scanner Darkly; this is clearly an interesting digression for them.
-
The Offworld 20 "…isn't just a list of independently made and under-appreciated games, it's a list of the games that celebrate what makes Offworld Offworld: the beautiful and the bizarre, and the games trying to push the medium forward and give us something we've never seen before, in whatever incremental way." Smashing. I love Offworld already, and this is a lovely list.
-
"Monopoly, in spite being the classiest of all board games, unfortunately is packaged just as boringly and uncreatively as every other garbage board game on the shelves. So, I decided to repackage it… turning the class up to 11." Very pretty, but I miss the original typeface: the 30s-style sans-serif was very important to the tone.
-
"…my feeling is that the barriers to verismilitude in video games aren't technological– lighting effects, texture work, mocapping– but /technical/. They're matters of technique, mastering the extant toolset in order to produce the novelistic details that make for the feeling of authentic transport. Game design doesn't need a better camera, or a holodeck. What it requires is old-fashioned artistry and imaginativeness, an obsessive and nerdish Flaubert who will come along and show us how games work."
-
"…it’s become apparent to me that social software is a medium turns all communication into a self-representation game whose ultimate goal is popularity."
-
"I am a terrible gaming evangelist. Every time I think I’m onto something my mind’s invaded by Marcus Fenix and his sweaty, homoerotic pecs, by Cloud and his implausible sword and cod-philosophy and, most poignantly, by me, in my pajamas aged nine playing Tetris on the toilet and by me, in my pajamas aged twenty-nine, playing Tetris on the toilet." And Simon powers straight into /my/ favourite games writing of 2008. Bravo.
-
Because I've never known how to spell it until now, and it's one of my favourite words.
-
Very beautiful, and, so far, very sensible implementation of touch interactions. Looking forward to playing much more of this over the holidays.
-
"Tears shouldn’t be our goal. Stories don’t need to be our tools. The majority of art forms don’t rely on narrative for their emotional impact. Stop and think about that for a second. The games industry tends to draw on such an amazingly limited roster of inspirations that it’s easy to forget it. But our obsession with linear, story-based – word-based, even – non-participatory art at the expense of all the other forms makes life so much harder for games, and it makes me crazy."
-
"Modern day awesominers know there are actually 118 fundamental "awesoments" that compose all good things. The Periodic table of Awesoments can be a very useful tool. It's designed to show the relationships between awesoments, and often one can even predict how awesoments interact simply by their positions on the table."
-
Very good – some good stuff around how the library works, but also lots of basics around how to optimise Javascript.
-
Gerard Way reviews Left 4 Dead on My Chemical Romance's (totally excellent) blog.
-
"Left 4 Dead is out
Friends kill zombies together
Is it worth getting?"
Yes Gerard, it is. -
"If you want a recipe for restless sleep, I can give you one. Add one part “what will my wife think” with 3,000 parts Benjamin Franklin; stir in a “beer anytime you damn well please” and top with a chance at financial independence."
What Left 4 Dead needs: an arrange mode
16 December 2008
Left 4 Dead is a wonderful game, and there is, to be honest, almost nothing in it I’d change. It’s deceptively simple, lots of fun, and brilliantly executed. But it has a big problem: what happens when the players’ competency doesn’t live up to the drama the AI Director wants to portray.
(Quick digression, for those of you who don’t know: the AI Director is the name Valve has given the enemy AI; it’s a smart move, because the magic of the game really is the AI, and personifying highlights the importance of this game system to the players. It decides what to spawn, when to spawn them, and when to take advantage of players’ sloppiness; as such, it appears cruel and sadistic to most players, and it’s nice that the system has a name you can curse).
My friends and I are reasonably competent and we like a challenge, so we tend to start most levels in Advanced difficulty. Normal is a bit too easy in the early stages, and the apocalypse was never meant to be easy. Anyhow, we make good progress on Advanced for quite a while. The problem tends to come between stages 3 and 5 of any campaign, when we start to get wiped out a lot more.
We all die, and we restart, and we remind each other to stick closer and not shoot each other and not get distracted. And we do a bit better, and then we die. But this is OK; it’s a game, and we want to get better, and we like the challenge.
But after nine restarts, the challenge is wearing thin. And here’s where the problem kicks in: we would like to go to bed soon – it’s a school night, after all – and yet our pride reminds us that we would rather finish the scenario than give up. And so we grudgingly take a vote, drop the difficulty to normal, and thoroughly enjoy the challenge of the always-tough grand finales.
I’m ashamed we dropped the difficultly, but I’d be more ashamed if we didn’t finish the campaign. When this happened for the second time at the weekend, I got thinking as to how you could fix this problem, and I came across one possible solution.
What Left 4 Dead needs is an “arrange mode”.
I would like to be able to tell the game “there are X of us, and we should like to play an exciting zombie-slaying adventure for approximately Y minutes on difficulty Z“.
All the AI has to do is keep pace, supplying the appropriate numbers of highs, a really big finish, but backing off the volume of the zombie horde when it looks like we’re not going to make our time limit. As it stands, a decent run-through on Normal usually takes about 40 minutes, but Advanced sessions are taking me and my regular teammates about 1h45. This way, we could peg the session at, say, 75 minutes, and still have a decent evening’s fun.
If possible, the AI shouldn’t be adjusting the difficulty as it goes along. Players pick a particular difficulty for a reason – challenge, bravado, personal reasons – and you shouldn’t then throw easy-level enemies at them just because they’re running out of time; what Left 4 Dead has already proven is that much of the difficulty can come from pacing (how often the big encounters are, how weak the players are when you jump them) just as well as from hit points.
A good example of a game that already does this it the original PSP Ridge Racer; its “Custom Tour” mode lets you choose how long you wish to play for, and then it assembles a series of tracks that ought to take an average player that length of time; perfect for its handheld platform, as you’re often likely to be playing for known periods of time – a commute – rather than any other knowns. And, you know, I think there’s a lot of other games you can apply this model to successfully too, without any significant impact.
Other than that, though, I don’t want anything changed – and this should be in addition to the current gametypes, not instead of. I’m just a bit tired of admitting defeat and dropping the difficulty so we can get to the finale. Maybe that’s pride talking, but I don’t want to think that Louis, Bill, Francis and Zoey died because I wimped out.
-
"A dude by the name of Phoebus has posted a collection of his research on Left 4 Dead's infected and weapon damage statistics over on the official Steam forums. I think that it'll be of great interest for any serious player of the game to delve into this information." There's a question over their accuracy, but there's still a decent amount of detail here, and the details on tail-off of weapon damage is useful to know. Also a relief to have the hellacious friendly-fire damage on Expert confirmed.
-
Fascinating to watch some of the body shapes – the hunched run, and in particular the the saut du chat – carry through to modern Parkour; that which is practical has always been so. As with all parkour: parts of it are beautiful, parts of it entertaining, and parts of it superhuman.
-
"Bourne wraps cities, autobahns, ferries and train terminuses around him as the ultimate body-armour, in ways that Old Etonians could never even dream of." More on this topic from Jones; still think there's something we're not quite hitting yet, but it's all good stuff.
-
Stack lets you subscribe to a selection of independent magazines; you choose how many you want a year, and they send you a selection. A really nice idea, although it'll be interesting to see them broaden their horizons a bit.
-
"Program recipes should not only generate valid output, but be easy to prepare and delicious." Chef is a programming language where the programs are also valid (if strange) recipes. The syntax description is proper crazy; gives Homespring a run for its money, easily, in the realm of metaphorical programming languages that embrace their metaphor.
-
"This recipe prints the immortal words "Hello world!", in a basically brute force way. It also makes a lot of food for one person."
Plans are afoot…
13 December 2008
The latest in a series of dumb experiments with Twitter is nearly complete. The above should give you a bit of a clue; all you need to know is that somewhere in the Twitterverse, it’s the zombie apocalypse, and @bill_l4d, @francis_l4d, @louis_l4d and @zoey_l4d are doing their best to survive. If you think that sounds somewhat similar to Valve’ popular zombie-slaying co-operative FPS, Left 4 Dead… you might be on to something.
You might want to friend them all. More to come, very soon.