Monday, June 4, 2012

SMS RPG update

It's been a bit of slow going plowing ahead with my work using SMS gateways to make what I think could be a very neat experiment in playing a text-based RPG on any phone, including non-smartphones.

So far, here's what's working.

I can send messages back and forth between an email address and a phone through the use of SMS gateways.

Through the use of the JavaMail library, I can send and read emails using IMAP protocols.

Now, there are two big steps that I see left. First, and foremost, I need to make a Java "server," of sorts, that can detect when our email address receives a new message, and respond appropriately. Then, secondly, I need to decide how to store information about the story of the game and how to progress within the game. But, for now, I think hardcoding something could work as far as my testing purposes go.

I didn't realize until I'd written it up that a lot of progress really has been made! This is exciting stuff.

Monday, May 28, 2012

It Takes a Village to Tell a Story

Apparently Syfy's been working on this for quite some time, but it's the first I've heard of it. so pardon me if I'm going over any old information here.

Syfy has a show coming out in the near future called Defiance, which will be set in post-apocalyptic St. Louis, Missouri. This is where the cool part kicks in: a MMO shooter of the same name will be launched with it, this one set in San Francisco, and the events that the players of the game participate in will have an effect on the events of the television show, and vice versa. This is really neat, and it reinforces a belief I've held for a long time that the telling of stories, whether it's a book or a movie or a game or anything else, is at its best when it becomes a communal experience.

When the final Harry Potter book came out, I went with my family to a midnight launch event in Mount Holly. The storekeepers on a market street in town had transformed the whole avenue into the book's magical Diagon Alley, and every store was open late with some sort of theme event for everyone to come and participate in while waiting for midnight. It was awesome: books are generally thought of as solitary experiences, but before my eyes it was an entire community. Without that electricity that, really, permeated the whole series, I don't think I would have enjoyed it nearly as much. Just like how a baseball game is more about the thousands of people in the stands than the eighteen on the field, the best stories are the ones that transcend the pages and screens and become a part of the fabric of a group.

One spring break when I was still in high school, my brothers and I played a game called Tales of Symphonia from start to finish. We were hooked: even when the game was off, we talked about it when we were having dinner and before we went to bed. It wasn't a game played with Gamecube controllers anymore, it was a living, breathing thing that we experienced as much by spoken word.

I think that medium-transcending experiences like these are going to get much bigger in the near future, and I'm trying to capture similar emotions with a few of my projects. Knights of the Broken Table is hopefully going to become a multi-genre, multi-platform affair. As players of the Android adventure game free characters from imprisonment, they'll become playable in the PC-based strategy game, and those same characters can be powered up by using them in a text adventure. Each story can tell a slice of a larger narrative, and in doing so it can become a story larger than the game, I hope.

When working with Magic Circle, the game design club at the College of New Jersey, I helped design a project titled Aurora 4, some of my 3D modelling work for which can be seen here. The idea behind this game was to, again, see if genres could be crossed. One player, playing from a top-down arcade perspective, would steer the ship. Three other players would have control of the guns of the ship, and they would have a first-person shooter type game experience. To succeed, players needed to talk to each other, build a common language between genres, and, in essence, make a community. On my to-do list is porting Aurora 4 to a platform that I can use to share with all of you. I'll keep you posted as that comes.

What I'm most proud of with Aurora, though, is a single sentence one of the programmers on the team said as we finally sat down to test the software.

"Wow, this is actually pretty fun!"

To someone like me, that felt like being a superhero.

SMS the RPG: A Tale of Two Acronyms

It turns out that there's a way to contact a phone's text messaging system using a tool called an SMS gateway. Essentially, it's a backdoor way to send and receive messages from a phone through an email address. It's pretty neat in its own right, and it's spurred another little side project for me that hopefully you'll all get to hear about in the coming weeks.

I've always been really impressed by really well-done text adventures, and I'd kind of like to see one see a little limelight by adapting to modern technology. In my mind, using SMS gateways, this becomes possible. All of our applications which can contact email addresses, a relatively straightforward process, can suddenly also contact phones. This opens the way for programs and phones to talk to each other remotely. Imagine: we could have a text adventure played from your phone, smartphone or not. I'm still feeling around the specifics there, but I think that's a really cool idea, and a way to breathe life into a genre that's sadly receded from the public view.

I'm also thinking of adding it to the Knights of the Broken Table project, but that's a ways down the road.

Of APIs and Men

A little background here, if you will.

When I first began my undergraduate degree, I proposed an overly ambitious game design project called Superduck Racing for an intro-level course. Superduck Racing was going to be an old-school Mode 7-style racing game. One part of my project proposal would be that the courses in the game would be affected by weather, such as wind and rain. The only trouble, at the time, was that I had absolutely no idea of how this could be accomplished.

Now, though, I'm a few years more experienced and a few years wiser, and I can see that for a theoretical future version of Superduck Racing would employ my latest design heartthrob, APIs. APIs are used to bridge the gap between the vast treasure trove of information on the internet and applications that developers like myself would create. APIs run the gauntlet, from the Associated Press, to Yahoo! Weather, to Twitter.

It's really staggeringly simple to use these powerful tools. For instance, if I wanted to set a Superduck course in, say, Hveragerði, Iceland, then I could access Hveragerði's weather by making this request to Yahoo from within my application. From there, I can parse out that the wind speed in Hveragerði at the time of this blog post is 2 mph, blowing southwest. From there, having that information, it's really straightforward to incorporate it into the actual application as the player experiences it. And, just like that, we've tackled the problem that so flummoxed me as a college freshman.

I mentioned on my website that I made use of the Twitter API when developing Daniel the Squire for my senior project. Specifically, one of the dungeons in the game makes a query to determine what the most recent tweet containing the words "games" is. From there, it analyzes the tweet using a highly unscientific algorithm to determine how "angry" that tweet is, and then scales the difficulty of the dungeon accordingly. This sort of technology really excites me. When adding the Twitter functionality to Daniel the Squire, it took just an afternoon's worth of work to change the game from an isolated single-player experience to one that draws on the thoughts and frustrations of an entire online Universe to build the game world.

And that, I think, is really neat.