Paul Hyman’s article on Gamasutra this morning was timely, as I’ve been thinking a lot about the term “social game” lately and what it actually means. Increasingly its usefulness as a descriptor is over.
Five or ten years ago we all talked about “online games”. When I ran developer relations at Sony I remember giving a lot of talks about the PS2 network adaptor, talking to our middleware partners about supporting online features, and working with developers to implement multiplayer online gameplay. Nowadays, we don’t talk about “online games” at all – that’s because ALL games have online features. The term “online game” has been deprecated, by and large.
The same thing is happening now with the term “social game”. Right now in the popular consicousness “social game” really means “Facebook casual game with social graph features”. But there are a lot of social graphs available now from other social network platforms such as Hi5 and RenRen. Apple (Game Center), ngmoco (Plus+) and Aurora Feint (OpenFeint) are examples of just a few of the social graphs available to developers on iOS. Xbox Live and the PlayStation Network of course have had social graphs inside their walled gardens for quite some time. So are games on mobile and core (console) game platforms that use social graphs “social games”? No one uses that term at the moment – so why do people use the term for casual titles?
As the game industry continues to evolve, “social game” will die out as well. Why? Because ALL games will connect to a social graph. That’s practically true already! It’s only a question of which social graph they will connect with, and how you will manage that as a player. And then, as a developer, finding an easy way to give the player control over that access.
At the moment, most developers I talk with seem to be abstracting away social graph API calls, in a similar way that one might abstract away rendering calls so that your game can run successfully using either DirectX or OpenGL. These kind of abstractions are never optimal, there’s always some slop involved when you try to determine the minimal set among multiple platforms and yet still allow your game code access to platform-specific features. But the time for arguing about whether or not to include social network access in your game is over: the answer is yes. Now, how to do it?