-
"…hard-core players are comfortable mentally manipulating Peggle's complex physics. They can build models about where the ball is going to go, even after the seventh or eight collision. A frustrated casual gamer looks at Peggle and sees chaos; a hard-core one sees causality." Oh – now that _is_ an interesting way to look at things.
-
This is great: a 25-minute video from Blurst looking at a short prototype they built. During the retrospective, other members of the team question the designers/developers about their intentions, their goals, and examine ways to make the prototype into a better game. There's some good questioning, some nice explanation, and it's a great insight into a process built around rapid prototyping and execution on top of Unity. Interesting to see how another company work on rapid prototypes and then try to "find the fun". Also: making the prototype public is another great piece of explanatory work.
-
Lovely interview with Dylan Cuthbert, of Pixeljunk, about some of the design processes behind the Pixeljunk games.
-
"A frequent question people ask us is “how do I transfer my database between my local workstation and my Heroku app?”" The answer is: using taps. Database push/pull, to/from Heroku, and to/from different database vendors. Very, very clever.
-
It's Oregon Trail, but where you take everybody's favourite emo band on tour of the states. Surprisingly deep and detailed, an affectionate tribute to Apple II entertainment and the rigours of being a touring rock band. It is very silly, and somewhat ace, and will be getting a blog post in due course.
-
"Tips and tricks only the pros knew, UNTIL NOW! Get ready to PWN up some NUBS on Xbox Live and get some MAD BP'S BRO!" I'm pretty sure I've played this guy.
-
"These are just various photos taken during the development cycle of the businessib. Enjoy them. We hope you think they are as hilarious as we do." Oh my word.
-
"If you keep the city and concentrate on putting more world into it, imaginativeness becomes the primary obstacle– you can add things into this city without having to add much physical space and new assets. There's legions of empty storefronts and empty buildings, waiting to be filled. And media– web sites, radio stations, tv shows– don't take up space either. Think of this cheap empty space as a place to tell new stories, because as a developer, you are good at this." Iroquois, hitting many nails on the head all at once, again.
-
The Guardian Open Platform launches, with their Content API, their Data Store, and a selection of client libraries for the API (one of which I did a smidge of work on). This is not just a good thing, it's a good thing Done Right, and I'm looking forward to what's next from the Open Platform team.
-
"A collection of accidents that happened while working on maps and other graphics." Bloopers from interactive infographics. Delightful; the patina and happy accidents of the 21st century.
-
Custodian is the Ruby gem for accessing the Guardian Open Platform Content API that James Darling, Kalv Sandhu, and I (although my contribution was minor) built. There's a Google Code link to it, but I'd imagine the github version is where the action will be.
-
"You may not know his name but you will certainly know his work: Morris Cassanova (aka Mr Chicken) designs and makes signs for most of the fried chicken shops in the UK." That's a good market to have sewn up, I'd imagine.
-
Jones annotates his screengrabs from the James Coburn classic; lovely to see it all captured so well, even if I'd disagree that the plot is a thing of "gossamer" – it's a _tiny_ bit thicker, surely?
-
"MOBY is a spout cover that brightens up the bath while keeping baby’s head safe from bumps." As swissmiss pointed out: adorable.
-
"One of board gaming's most prolific and revered designers, Reiner Knizia, is actively searching for iPhone devs to help bring his games to the iPhone, says industry site boardgamenews." Oooooooooh. That is all.
-
Rails plugin for intelligently searching within your application. Not a bad idea; will probably end up using this at some point.
-
"I would love to see more games that use Flower as a model, not in the copycat sense of being "flying games" or "games where you're the wind," but in the high-level approach that the production implies. Smaller, shorter, higher-fidelity, more focused, more sensate experiences that are affordable, accessible, and digestible. The primary obstacle to one designing a game with these principles in mind seem to be finding an engaging core sensation that fits the constraints. I can't wait to see the results that this challenge brings." Some sensible, and lucid, thoughts on Flower from Steve.
-
Jones has now seen "The President's Analyst" which is, by anyone's standards, a remarkable movie. Especially the bit in the cornfield. And the ending. Anyhow, he's screengrabbed loads of it on Flickr because it's just beautiful.
-
"…the Wii’s software stack is designed with little to no future proofing. There are basically zero provisions for any future updates; even obvious things like new storage devices or game patches. What’s worse is that this will affect the compatibility mode of any future Wii successor." Interesting analysis of what's going on inside a Wii, even if the architecture is a little limited.
-
"I smile. I didn't fool him in the slightest. But it doesn't matter. I didn't fall. Wax on the arm." Lovely.
Heroku – a new addition to the toybox
05 March 2009
You can now find out what Schulze – or anyone else, for that matter – is listening to (as described in this post) on the web; just head on over to http://wotlisten.heroku.com.
The utility of the original command-line script is now diluted even farther – mainly because you now have to go to the website to scrape the web – but that wasn’t really the point of putting wotlisten
online; the point was to see just how easy deploying to Heroku really was.
The answer is: remarkably so. I wrapped the original script into a little Sinatra application, with two views, and a tiny bit of error handling for convenience. Sinatra’s something I’ve been playing with for a while now: it’s really excellent for wrapping small scripts into little webapps with the bare minimum of extra code, and when combined with lightweight tools like DataMapper, and sqlite, just powerful enough for the lightweight tinkering I seem to do so much of. If you’re a Ruby developer and you haven’t played around with Sinatra, you owe it to yourself to check it out – it’s a lovely library to have in the toolbox.
With the webapp written, I installed the heroku
gem, which helped me create a new remote git branch pointing at my Heroku account. Deployment is trivial – far simpler than using something like Capistrano; all that is necessary is to push my master branch to the heroku
remote, and upon a successful push, Heroku notices that I’ve pushed out a Rack application – and it directs requests to it automatically.
It took about ten minutes to write the Sinatra app, and another ten to get it up and running on Heroku; the single snag I ran into was the same as Tom did – the need to unpack haml into a vendor directory.
I’m very, very impressed. It’s all very well being able to build small, trivial toys like wotlisten
, but it’s often a hassle to deploy or configure them. Heroku really takes most of that pain away, and makes setting a tiny Sinatra app live a trivial task. It’s definitely going into my toolbox – or, perhaps, that should be toybox – for the near future.
-
I've got a way to go with Abel yet; I can't do FADCs at all, but the earlier stuff looks useful.
-
The title sequence to a Saturday morning kids' cartoon series. Of Watchmen. It is not, shall we say, particularly reverent. Probably better for it.
-
Tom's been poking Heroku, and now, so have I. It's proper brilliant: a rackup file, a tiny Sinatra app, and the Heroku gem, and you're building webapps in ten minutes. It's crazy and brilliant, and exactly the kind of thing of which we need more of.
-
"It’s new fun in some Russian cities, to jump from the bridge with the rope in a big group, when there is no water under the bridge but raw firm ice, also they use to jump at that same moment when the train is going thru the bridge". The pictures explain it pretty well.
-
"I shouldn't even explain it- you should probably just youtube some gameplay footage if you're interested and watch the insanity." Gerard Way on quitting Force Unleashed – and hinting that he's going to talk more about other games he's given up on. That should be interesting.
-
Some well-worn tales here, but also some good new ones, particularly when it comes to query-profiling and all forms of caching.
What’s Schulze Listening To?
20 February 2009
So we listen to music on speakers – not headphones – quite a bit in the studio. Or at least Jack does, because they’re in his batcave.
And sometimes, I’m not sure what’s playing from next door, but I know I like it – and it’d be good to know what it is. Fortunately, Jack mainly listens to last.fm radio (and even if it’s not radio, his iTunes would still be scrobbled).
So I wrote wotlisten.rb
. You can see it (and get it) as a gist on github. It doesn’t use audio recognition, or the last.fm API, or RSS; it uses plain-old screen-scraping.
(Somewhere near the top of my list of coding tools is Hpricot, because it’s a lovely HTML parser that you can scrape with as fast as you can think. Or, at least, as fast as you can write selectors. That was the case here.)
So: you throw in a username, and wotlisten.rb
tells you what they’re listening to. Or what they were last listening to. It doesn’t distinguish between the two – and why should it? This is Situated Software at its most useful: I assume you can hear the music that’s playing, and that you know the last.fm tag for the user playing it (and: until very recently, I assumed that person was Jack Schulze; this updated 2.0 release lets you pass in any username).
It’s unremarkable code in the extreme, but notable for the fact it took ten minutes to bang it out; it came out as fast as I could think it. I’m getting to the point where, especially with Hpricot and similar, this kind of tools is second-nature to write. It’s taken a long while to get there, though.
The script proved useful upon several occasions that day. More to the point, it paid for itself handsomely a few hours later, when we discovered that Schulze was playing Bonnie Tyler’s Holding Out For A Hero.
-
"…it turns out that a GBA and a cart isn’t any more use than a GBA on its own. It’s only when you build a machine out of a GBA and a cart and a me that you’ve got a real Rhythm Tengoku Machine. Bolt those three components together and you’ve built an entirely new organism, an extraordinary creature who can shoot ghosts, dance with monkeys, and climb stars like staircases."
-
"You’ll win the game if you’re the only one playing the game at the moment in the world. The game checks over the internet if there are other people playing it at the moment and it’ll kill the game if someone else is playing it. You have to play the game for 4 minutes and 33 seconds." High concept, I'll give it that.
-
"Durham University's Dr Shamus Smith, who helped spearhead the project, told BBC News that that while bespoke 3D modelling software was available, modifying a video game was faster, more cost effective, and had better special effects." Quite true. Although: "gamers" tend to treat it as a game, wheras "non-gamers" treat it as a training exercise, and behave accordingly.
-
Microsoft on their new MSN Music service, weighed-down by DRM. I don't normally link to stuff about DRM, but frankly, every single response in this is comedy gold.
-
"The results from two surveys, based on responses from over 2,500 people who participate in an Internet chat group focused on video games, found that the inclusion of violent content did nothing to enhance players’ enjoyment. What did matter was feeling in control and feeling competent. “Games give autonomy, the freedom to take lots of different directions and approaches,” says Ryan."
-
Beautiful.
-
"Social media is people. People talk about stuff. The end." Yes.
-
You can now use Shoulda macros in RSpec as well as Test::Unit. Thanks, Thoughtbot! Might take a poke at this some time.
-
Fantastic, all of it.
-
Sneeze is the latest minigame inside Routes to be released. It's a bit like Boomshine and Every Extend, except using the common cold as your weapon. Children are easy vectors, the elderly are slow but you get more points for infecting them. Lots of fun, and great splatter effects.
-
"This story clearly illustrates the problem with ordering over the phone." Oh dear.
-
"A set of rudimentary exercises intended to prepare students of rhetoric for the creation and performance of complete practice orations (gymnasmata or declamations). A crucial component of classical and renaissance rhetorical pedagogy. Many progymnasmata exercises correlate directly with the parts of a classical oration."
-
"Our team of investigative journalists has compiled a database from four years' worth of company accounts to show how much the FTSE 100 companies make in pre-tax profits, and how much they pay in tax. We have published this data as a user-friendly interactive guide at guardian.co.uk/taxgap/data." But, as well as the user-friendly guide, there's also all the data. Bravo.
-
"Unlike other games, L4D brings this entropy to the surface — there's a palpable feeling of dread throughout, as if the world is relentlessly and mercilessly trying to turn you into a red mist as fast as possible." Not convinced entirely, but this is a really important point: the best games expose their mechanics in plain sight. The systemic nature of the game – the entropic tension between survivor and zombie – is clearly critical to it, and there's no point where that's not made clear.
-
"FreeAgent is an easy online accounting tool, perfectly suited for freelancers and small businesses." Lots of good support for UK-based business, especially when it comes to tax calculation.
-
"Templates are simple ruby files containing DSL for adding plugins/gems/initializers etc. to your freshly created Rails project." That looks very handy.
-
I've had this bug for ages. Basically: when you upgrade to Lightroom 2, keywords from Lightroom 1 aren't exported by default, making exporting to Flickr irritating, because you end up having to rekey some (but not all) keywords. This magic Lua script fixes everything.
-
"During Condition 1 weather, winds gust at speeds of anywhere from 50 to 60 MPH and the wind chill hits anywhere between 75° F to 100° F below zero. Ouch. Not surprisingly, personnel are prohibited from leaving their buildings during these storms." Which gives them ample time to make videos like this.
-
"Most usability experts will agree, Dr. Donald Norman’s book “The Design of Everyday Things” is required reading for any aspiring user experience or product designer. But it’s also an excellent resource for game creators – even if it’s less commonly found on studio bookshelves." NGMoco's blog, on POET, and what it means for game designers. Not rocket science, but really well explained to a non-specialist audience.
-
Roo writes up his first experiments with his microprinter. The barcode stuff is particularly interesting.
-
"Hackers across the country are buying up old old receipt printers and imaginatively repurposing them into something new. We call them microprinters." pbwiki site for gathering resources around microprinters. Nice! Still waiting on mine (from the same load as Roo's) to arrive, though…
-
"With that in mind, I present to you a gallery of paintings made by one Hoenikker J. Troll, hunter at large and painter at other times. He dragged an easel and paints all around this world. Of Warcraft." WoW screengrabs run through artistic filters. Some are really quite pretty, as, to be honest, is the source material.
-
"…video games are driven by the player, experientially and emotionally. Fictional content–setting, characters, backstory– is useful inasmuch as it creates context for what the player chooses to do. This is ambient content, not linear narrative in any traditional sense. The creators of a gameworld should be lauded for their ability to believably render an intriguing fictional place– the world itself and the characters in it. However the value in a game is not to be found in its ability at storytelling, but in its potential for storymaking." Some commentary on the scale of storymaking games offer, from Steve Gaynor. Also: I like the word "storymaking", as opposed to "storytelling".
-
A pretty comprehensive list, I think.
-
AASM is "a library for adding finite state machines to Ruby classes. AASM started as the acts_as_state_machine plugin but has evolved into a more generic library that no longer targets only ActiveRecord models." And as a result, I might be using it a bit.