SMS Game Development Making the Most of a Sucky Technology Greg Costikyan
What Is SMS? Short Text Message Service Built into GSM from the start so everyone in Europe can “text” everyone else 20 b + messages exchanged every month Not yet successful in North America carrier walled gardens breaking down but lower prices for voice & pager/IM availability may continue to keep this smaller here
Why Develop SMS Games? Everyone in Europe texts Comfortable with technology Perceived as cool (while “WAP sucks”) Potential large audience (and market) Carriers & Aggregators eager for SMS titles In North America, too, where they’re waking up to the missed opportunity
How Does it Work? a.Originator inputs phone number & message. b.Sends message over air to SMSC. c.SMSC forwards message over Internet to recipient’s SMSC. d.SMSC sends message over air to recipient.
SMSC Can Send & Receive with Game Server User requests game by sending SMS to that number Server is assigned a “Phone Number” SMSC must know that phone number = server’s IP address—game service must have a deal with the carrier! Header info identifies user’s phone number; server parses, processes, responds to user.
SMS Costs Money Typically 10¢/message (7p in UK) Carrier can choose to charge more or less for a game’s messages, or to charge a flat fee for a game. Revenues shared with game service Marketing cost in making users aware of phone number to message
Game Should be Playable in Just a Few Message Exchanges Otherwise will be too costly for many players Try to keep it to <10 messages per game (or 1-3 per day for games played over a period of time)
Each Message Must Advance the Game In most games, the result of interaction can be minor (turn left 30 degrees; a card is played). With SMS, a handful of interactions must combine to a satisfying game. A non-trivial design challenge.
Each Message <=160 Characters That’s a =hard= limit. Can break into multiple messages, but each costs money… That’s basically 25 words or less. Localizing generally increases the number of characters in text.
Tricks to Help 2, not two. Abbrev. if can keep clear. Cn u use txting abbrevs? Edit ruthlessly. Put rules in separate “Help” message. Test all boundary conditions.
No Graphics Means... Hard to show physical layout with pure text. Text adventures (N thru Door)—but a lot of text used for navigation. Text representations (Ship 2 > 3,7)—but hard to visualize.
Can’t Rely on a Monospace Font This: looks like this: CNRQKRNC PPPPPPPP PPPPPPPP CNRKQRNC
Avoid Games that Depend on Locations Most electronic games are an exploration of space But it’s not true of all game styles: Word Games “Choose a Maneuver” Fighting games Tamagotchi Hammurabi #conquest
A Player’s Orders Are Text A command-line environment. Syntax Must be Transparent Syntax Must be Forgiving Demand the least text entry possible. Allow “stackable”orders.
Latency is Off the Scale Typically, a minute or more. Interaction at discrete, separated moments. Each message really must count
Dealing with Latency Turn-based games. Round-robin Simultaneous movement “Act whenever” games. Limited by real time “Slow update” games.
Multiplayer or Die Head-to-Head games Limited-interaction large-scale multiplayer games Handful of players In-game messaging
“Smart Messaging” Message concatenation (459 characters) B&W bitmapped images (72x28) Ring tones (single voice)
EMS: Enhanced Message Service Message concatenation (3-6 messages) Flip animations (32x32, 4-frame) B&W images, max 1k (32x32) Ringtones & sounds 10 pre-installed sounds
MMS: Multimedia Message Service GIF89a animations, PNGs, JPEGs 640x480 in theory, in practice 174x133 Sound: AMR, WAV No limit to message length
Punisher: The Mobile Game
Botfighters
Fisu
Mobile Rome
Doing Better Messaging & Challenges Persistence Algorithmic, not Instantial
URLs Nokia information & emulator for MMS: _2_7,00.html (requires free registration) _2_7,00.html Ericsson info & emulator for MMS: pen/technologies/messaging/index.html?PU= messaging (requires free registration) pen/technologies/messaging/index.html?PU= messaging