Skip navigation

Category Archives: Uncategorized

A lot of new faces mean a lot of confused expressions. Let’s have an open discussion thread. Is there any pressing question you would like answered regarding any of our games, or game theory in general? Now is the time to ask!


If you’re wondering why I haven’t written anything here recently, it’s because I’m apparently living in the future. At least that’s the impression I got after reading this "realisation". If you’ll recall, it’s pretty much the same iPhone touch interface musing I wrote back in 2007. It’s nice to see some people finally catching up with the rest of us, but if Andy thinks the last 3 years have ushered in some changes, he should see how different things are here in 2013.

But, seriously, what have I been working on since my last update about a year ago? A lot of things; most recently, a different kind of game. More of an economic simulation, and based on a lot of the frameworks I started with for the flagship Subsume game. Yes, for the iPhone this time! I may co-opt this blog to discuss it when it is ready in a month or two.

This doesn’t mean the Subsume game is dead. It’s just always worked its way to the back burner when more pressing matters have come up. Things are changing on that front, though, so we’ll see if I can’t make it a priority soon. I may even make a non-web app version of it for the iPad. Stay tuned.

Back in a post discussing a site update over a year ago, I noted how the work on Subsume had become very much like the work of a social networking site. That observation has finally become a reality, albeit in the beta stages, with the recent release of:

Town Square

and, in particular, a reworked version of the Subsume site at:

game Town Square

The update is an alpha version placed on top of only the beta version of Town Square, so it doesn’t look quite right just yet, but we plan to tweak it all over the next few days and weeks until it works as a suitable replacement for the main Subsume site.

Work will also progress on Town Square until eventually the full game mechanic of Subsume is a seamless part of the experience. It is even possible that other board game mechanics will be supported by the Town Square engine.

It may also come to pass that this blog will be folded in with Town Square, but let’s not bite off that much just yet. For now, we’ll just play around with what the “spatial web” can offer. We hope you’ll stop by and play around a bit yourself, and then let us know what you think.

As more evidence that I haven’t been idle, check the Subsume game site for a recent update. Most notable is the addition of a daily cipher square. I’ve tried some other cryptogram/cryptoquote sites that are out there, but they’ve always seemed to have a clunky interface or limited content. I decided it was worth the effort to code my own keyboard-friendly widget that uses The Quotations Page for updates.

By offering up this effort on Subsume, I hope it serves as a fun incentive to regularly visit the site as other progress is made. It is also a move towards what I previously wrote about thinking of the game as more of a CMS. Don’t worry, I’m not aiming to turn the site into a game portal, but rather I’m just exploring how to present different features using a fractured unit square.

Unfortunately, I’ve had about as much time to work on Subsume as I’ve gotten feedback on the game (i.e., not much).  Site traffic still shows it being played regularly, but it’s far from giving an MMO like WoW a run for its money.  I managed to find a little free time over the weekend to tweak the site layout a bit, and it left me with a couple game-related thoughts I figured I’d write about.

If you go to the Subsume game site now, you’ll see that it is “inspired” by the game board itself.  The largest square, the index page and representing the entire site, is divided into 4 smaller squares (or just quarters, if you don’t have JavaScript enabled for some reason).  The two on the left show what I’ll generically label here as “brand” and “detail”; aspects that define the game independent of the computer implementation.  The two on the right show what I’ll generically label here as “play” and “pay”, and they are further divided into 4 related subsections.  In theory, everything about the game could be represented on this one page with further divisions giving further detail, with some whiz-bang zooming animations as you clicked around, much the same way that Google Maps does.

So, really, the game is a content management system, and in many ways that means you can think of a CMS as a game, too.  I’m not saying that’s a particularly deep thought, but I really haven’t seen anyone explore the implications of that.  Certainly the language of CMS seems to be the language of business rather than play, as though the bits representing warehouse inventory and user shopping carts somehow vastly differ from the bits representing dungeon monsters and player inventory.  I’m certainly of the mind now to merge game site content with the game itself, resulting in self-referential fractal goodness.  I certainly can’t be the first madman to think of doing this, can I?

In that same line of reasoning, the game represents a social network, so perhaps it is time to start treating social networking sites like games, too.  Many people already seem to do this.  They keep score by counting their friends on Facebook, by seeing if they’re someone’s top friend on MySpace, by finding out how short their LinkedIn connection with someone else is, and on and on.  They don’t seem to act like they know it’s a game, though.  Not even an alternate reality game.  Not even when they directly take steps to game the system or notice that other people are attempting to game the system.

No, they still seem to convince themselves that some arbitrary online ranking is both deserved and important, just as surely as I might like to convince myself that Subsume deserves to be a top 5 result on Google for “8×8 board game”.  Suck it, checkers and chess, you ugly losers!

I’m not saying that visibility in Google is a bad thing, or that all online relationships are superficial games.  All I’m saying is that game design doesn’t always stop at some obvious point.  Inasmuch as Subsume is a game, it will also (unintentionally) be a social networking site and it will also be CMS, and it will likely have major elements of whatever else comes down the pipe being pushed as the next big thing, too.

In short, I guess what I’m saying is that, damn, it takes a lot of effort to write an online game.


When Apple announce the iPhone, I was foolish enough to believe that things would be getting better and not worse. At that time, we decided to target the widely supported “widget” technologies when developing Subsume. It was the way to the iPhone, a way to the desktop, and was expected to be the way to the next generation of iPod. Well the iPod touch is here, but the desire is gone.

The big lie, of course, is that Steve Jobs specifically stated that the reason the iPhone wasn’t more open to developers is that they didn’t want a bad app chewing up the cellular network. Even if that doesn’t sound ludicrous to you (and it should), enter the iPod touch having no such flaws and yet it is still not open. And I’m not even looking for Mobile Cocoa or any such native API! I just wanted to have my widget on the device. Instead, they don’t even let you mount the new iPods for file storage.

The big problem with web apps is that browsers aren’t the best client. It is a pain trying to keep the Safari-ness at a minimum, and it is downright stupid for a game like Subsume to do things like re-download large sound files (or anything else the browser can’t get from its cache). There may be some small advantage to always having access to the “current” version of an app on the web, but it is essentially negated by allowing widgets to sync via iTunes like everything else. It is so annoying that they’ve lied and kept a closed system that I think I’m going to shift focus a bit.

Starting on 12 November 2007, the XO laptop is offering a Give 1 Get 1 deal for $399. While the XO is a very different device, I find the offer results in something better for the same amount of money as an iPhone. It makes “a computer for the rest of us” for a segment of the world population that Apple just doesn’t seem to care about anymore. That Subsume can also be used as an educational game is just icing on the cake. At this point, we see XO as the direction to go for mobile applications worldwide.

Of course, Apple can change it all by releasing Leopard first. Their 10.5 version of Mac OS X is supposed to include Dashcode for doing widget development. If they take that opportunity to unify their deployment process to allow widgets everywhere, then we might be able to forgive the initial missteps they’ve taken with their touch devices. If not, their decision essentially makes their hardware irrelevant from a developer support standpoint.

It may seem like I haven’t done much recently, but in reality I’ve been feverishly working (read: limping along in a sickly fashion) on creating the widget version of Subsume. It’s mostly there, with many lessons learned, but I’ll still be tweaking and debugging until at least the Apple event next week. With any luck, that will mark the release of a WiFiPod, or what is essentially an iPhone without being encumbered by the cell phone bits (and hopefully an 80+GB hard drive). The iPod is definitely in need of an update using the new technology, and sooner is better than later if they want to hit the back-to-school and holiday buying crowds.

But back to the topic of turning web apps into widgets. It’s definitely a troublesome task if you didn’t start with the plan of making a widget. It also looks like it would be just as painful to create a web app from a widget if you didn’t begin with that intention. You’d think Apple would make it easier, what with them having both Dashboard and the iPhone, but maybe it makes sense somehow to keep a bit of distance between the two technologies. So, for the curious, here is a list of a few best practices when approaching generic Web 2.0 development:

  1. Pages are good/bad
    The natural interaction on web pages is to navigate to another page, but widgets (at least with Apple’s Dashboard; other engines might vary) jam everything into a single page. You have to endure the pain of hiding and showing various blocks in that HTML file, and for complex layout like Subsume has, it can be a pain to edit the thing. We also used a standard form to configure the game initially, but with widgets you’re going to have to manage all your server interaction with XMLHttpRequest calls, so plan on using that from the start.
  2. Proprietary is good/bad
    Widgets often have their own interface elements you need to use to have them work right, but you can’t really count on any of them being available for the web version. To keep things portable, it’s best not to get sucked in to making things too fancy, and keep in mind how to get results that work in both cases. For example, I added a portable layer that allows the game configuration to be read from either the widget preferences or the web URL.
  3. Objects are good/bad
    One big plus I found is that my JavaScript game objects are virtually unchanged in implementing the widget version. As always, it’s in your best interest to decouple things as much as you can so that you can take advantage of OO reuse. My object model is nowhere near perfect, but people writing spaghetti code are really in for a world of hurt if they put the above-noted proprietary technology too deep in their own code.

I think Apple really dropped the ball by not supporting at least widget installation on the iPhone. Not only has it made my job more difficult, it doesn’t really reinforce Apple’s brand or technologies. I can let it slide and make due for this first version of a new product, but they would be smart to quickly unify their “nano-app” development with a common vision across product lines.

No, you didn’t miss it; we failed to get the beta with network support out in time for the iPhone launch weekend. I wish I could say it was because we got one and spent too much time playing with it, but in truth we just hit some snags along the way. I’m going to pretend it was a good thing for the schedule to slip, because it seems like a lot of stuff got overwhelmed by the iPhone release alone. Even now we’re just starting to see scattered reports, just like we expected, of some Web 2.0 techniques not quite working on the iPhone.

We’re not going to let any of this get us down, though, and we’ll keep plugging along. The beta will still be coming as soon as we get some server-side kinks worked out, and what happens after that is anybody’s guess. I’d really like to see Apple actually release some kind of SDK, despite Jobs’ claim one wasn’t necessary, that allowed developers to better target the iPhone. It is quite possible that they’ll roll something in to Dashcode for that. All I can say is that it appears the launch went well enough that the iPhone isn’t a dud, and that the EDGE network appears slow enough that a game like Subsume will fulfill its design goal.

It hasn’t escaped our attention that the Subsume alpha makes somewhat heavy use of “onmouse” events and cursor changes, just like many pages use them along with CSS a:hover styles. The iPhone challenges those particular Web 2.0 conventions, though, because it is a device that not only adds support for another pointer, but at the same time eliminates them as interface objects. That means we not only have to revamp our game interface a bit, but you should fully expect to see many other regular sites reduce the prevalence of navigation that relies on the movement of a single mouse (assuming the iPhone takes off at all, of course).

The initial misstep on our part is easy to explain, since we’re initially just developing Subsume as a regular web page. In that environment it is easy to get caught up in thinking how great it would be to make a sound and highlight when a valid square gets the user’s attention. But the user doesn’t get to express their attention with the iPhone (or any of the upcoming multi-touch technology, it seems). They only get to express their immediate action. That means we either don’t squeak at all for valid moves, or we have to proactively show them as click targets. Since the game rules are probably new to most people, we’ve decided that showing is better than not showing at this stage.

I find it rather interesting that with all the hype surrounding the iPhone that no other people are talking about these sorts of things. It’s great that it comes with an able browser, but the iPhone also challenges some basic assumptions about what Web 2.0 can do. It is rather disappointing that all the techno-pundits are missing some of the real meaning behind the bullet point of multi-touch. Just another value-added insight you get by caring about our silly little game. 🙂

Update: It looks like this entry got a link in from Slashdot, and the discussion is a bit surreal! It’s probably there, for better or worse, because of all the iPhone hype, but I find it hard to see anything pro-iPhone about what I wrote above or what was in that Slashdot story. What I wrote was just a note that there is an intersection of somewhat discordant technologies at this particular point in time. No, touch screens aren’t new, but the iPhone (which was just a timely announcement that drove our interest in developing a game) represents one of the first mass market devices that use it for browsing the “regular” web at a time when the web is seeing an explosion of interactive apps, and especially when Jobs said that Web 2.0 was the way to write iPhone apps. It may be a bit of a non-story, but those of you who do or will use touch screens will have no control over how a site implements that interactivity. Maybe it’s just that we’re not very bright, but even we missed it at the beginning despite trying to target the iPhone. It seems reasonable to wonder what kind of impact that will have on the iPhone browsing experience, and touch-based browsing in general.

It was back at the start of April when we wrote about how the iPhone was going to be open to developers whether Apple wanted it or not. In the WWDC keynote (jump to the 1:14:00 mark if you don’t want to see all the Leopard goodies), Steve Jobs publicly acknowledged that the way to the iPhone was through the web. This isn’t the first time Apple has seemingly run with an idea of ours, but we inexplicably continue to chalk it up to coincidence.

As demoed, it was a little lackluster because it appeared to present the apps as regular web pages. The problem being, as anyone who has checked out our alpha release knows, we really want to be able to take advantage of the entire screen if possible. Having a total of 320×480 to work with is cramped enough, but it is both developer and user unfriendly to further block off big chunks for the address bar at the top and the navigation bar at the bottom, both of which aren’t necessary for the app interface. We can do a little squeezing, but there is a limit on how small we want to make a target and it goes without saying that the capture of clicks for scrolling and zooming is not welcome when playing a game.

Still, it’s good to know we won’t be completely shut out as we move forward. There’s a lot of work to do here and not many resources to do it. Exactly what parts of Subsume we will have ready by June 29th still depends in no small measure to feedback we receive. The roadmap right now calls for at least networking two players and a widget interface. Let us know what more you’d like to see by then.