I am working on producing a system for IF/ARG style games using text messaging as the medium. I believe that this is an “under used space” and that some really engrossing games could be built in it. My sense is that the games would be played with sparse interactions in real-time. A short game might be played over 5 days with 3-5 bursts of communication a day. I believe that modelling real communications patterns coupled with the use of real text messaging could be compelling. I also believe that in this case the medium matters. I believe it makes a difference if someone is using an app that simulates text messages vs. actually using text messages. I also like the idea that a real-time text message game could be played anywhere and anytime (almost). People routinely answer texts in school, business meetings, etc. And as a bonus, you’ve already installed the app on your phone.
My existing platform runs as a server, as in I start a program when I’m working on it and it checks for messages that have been sent to it, processes them and sends the responses. Obviously at some point it will run 24/7 but can be located anywhere – not needing to be a real server. It is designed to serve multiple games and multiple users via multiple transports. Only a single instance of any game is loaded into the system, player context is loaded when a given player’s input is being processed, and then it is persisted when done. Currently I’m focused on two main transports – local console and phone-based texting via email-to-text gateways. The system processes messages by loading an inbound queue, processing messages from the inbound queue to the outbound queue, and transmitting outbound messages. Pretty simple. The processing section has three main steps – 1 game specific C# preprocessing, 2 game specific chat bot processing, and 3 game specific C# postprocessing. Step 2 is a chat bot that includes XML scriptable processing.
The chat bot is extendable and I have largely limited efforts to developing simple interactions (not yet games) using only step 2. Some of this is using the native functionality and some by developing gaming extensions to the base scripting language. In the end I believe that I will be able to develop whatever complex game specific functionality is required as extensions to the bot tech and have the authoring system output the bot script. But it would be great to be able to fast track some of the development and testing of the text message game idea itself by using an existing engine. Using the same flow but flipping the emphasis, I could do little to nothing in step 2 and “drop-in” an engine in step 3 and have that simply play the game, getting user input and spitting out the response.
I’m looking for suggestions about what might be available in a C#/.Net drop-in engine. I would of course want something that could do text only (for now, mms works fine, but I’m saving that for later) and be easily divorced from it’s front/back-end. I’m also running in “single step mode” meaning that I would need to be able to readily, load game state, interact once, and then save the game to and from data streams I would manage. I realize I’m looking for some magic here, but who knows. My long-term plan is to develop an engine/authoring system geared specifically for conversation-based games, but I also want to open the door for non-programmers to begin playing with the concept before then.