Monday, March 29, 2010

Progress


So I've been working on a new location-aware app for a while now, which has the working title "Phone Bomber".

The basic idea is people can place bombs at locations, others can try to defuse them, and bombs blow up. It's essentially a virtual world mapped on the real one - users can place a virtual bomb at the McDonald's down the street, others can then see there' sa bomb there and try to defuse it. If the defuse works, those that participated in defusing get rewards. If the bomb blows, the bomber gets some points, and anyone that's within the blast radius takes a HP hit (even if not playing - if you last did something at that McDonald's and a nuke goes off, you are SOL :)).

This is all based on my previous work on AnnotatedEarth. I had a list of things I wanted to do on the platform, from dating to gaming. This is built on a more simple game I had planned on doing (and still will at some point)

I'm a bit worried about releasing it, from a controversy point of view - this IS a game - it's all virtual. No worse than any other game involving guns and war, etc. - but as it's mapped on the real world, I'm not exactly sure the reaction it will get... Also not sure if Apple will approve it. If they don't, I may do something (lame) like change bomb to "Fluffy bunny"  that throws stuffing up over a radius, if no one pets them before a timer runs out.  So basically the same game with different terms and graphics.  

I will also likely do a VERY graphically/UI simple version of the game up front, to get some friends using it - and to see what Apple does.

Anyway. I've been working on it off and on now for a couple of months. MOSTLY thinking about it, designing it in my head. I've also got some of the basic pieces working.

I'm using Google AppEngine for the back end. Using it's (wild) DB, and Python, to write a basic web service that can be hit. I'm new to both Python and AppEngine (along with its DB). Which is cool, I wanted to learn something new, but it's not going as quickly as if I'd done it in C#.

The basic web service is done at this point. I still need to flush out the actual game play, but these works:
  • Signup
  • Login
  • Get user info (name, last location, etc).
  • Create Bombs (admin function)
  • Place Bombs
  • Place Contracts (Drive-thru person piss you off? You can take a contact out on that Local McDonald's!)
  • List Bombs around a users location
  • List Contracts around a users location
Still to do (that I know of):
  • Defuse bomb
  • Defuse bomb for contract
  • cron job to trigger bombs when their timer hits zero (if not defused) + calculate who gets rewarded and who gets a HP hit.
  • Spawn Bombs
That last one, Spawn Bombs, is important I think. One of the huge problems location-aware apps run into is when someone uses the app in an area where no one else is using it - there's not a lot for them to do. In order to deal with this, if no bombs are within a certain distance (5 miles? 10?) the game will randomly place bombs when the user requesst a list around them. That is, if the user asks for a list of bombs and there isn't any, there will be a 1 in X chance of a the game creating a bomb (using a system account) that the user can interact with.

I will also likely have a  cron job that looks for bombs that no one but the placer is around - and randomly try to defuse them.

I will be hiding this from the user - when they try to do this, I very well may also create a local account (that will be re-used to place future system generated bombs) - it SHOULD look like others are playing. As more actually do, then the system bombs won't be generated.

As I'm also fairly new to iPhone development (my first target device), I decided to write a test app in .NET that hits the AppEngine app. This will allow me to test all the calls - AND fully test out the game play. Once all that's done, then I just need to write the iPhone app (which will mostly involve that platform, as the backend should be done).

Here's a screenshot of the test app:

Yes, it's one freakin' huge window, and complex. Again, this is just my test app. I wanted something that where I could see what was going on, adjust game balance, and easily test stuff.

I am hoping I will get the back end done in the next couple of weeks. Day job + SR is taking a lot of time :)

I have also tentatively named the new company "Location Play" (thus this blogs name).  I really didn't want it tangled up into RS (in either direction), and I'm planning on writing more than just this game, for location aware.  I'd actually like to do like Zynga - create a back-end template that can just be re-done a bit for new games, but are essentially the same.  e.g., do a bio-attack game that focuses around that (but essentially the same).  I think Location Play was a decent name, and fairly meaningful.


No comments:

Post a Comment