Thursday, July 24, 2008

Building a Geo Location (App|Game)

I know this isn't a very original idea but I would like to see it happen on a massive scale. I even remember reading that Chris Anderson wanted to have a competition of drones racing between different sets of GPS coordinates. So games with GPS are not new but I have not seen many of them come to life.

The first step I am going to take is to build an app that allows people to post their location and have it appear on a map that they could then embed in their homepage(pretty similar to loopt, fireeagle, brightkite). But I think the really fun part would be to build a game on top of tools like this. Ideally it would have the following features:
  1. A commander console would allow one user to command the "troops" in the field.
  2. Messaging system of some sort between the troops and commander. Probably text messaging ($$$).
  3. This is probably an obvious feature but a client app on for automatically posting GPS location to the server. The app could also alert them of a nearby enemy if the have that "ability." The host server that was coordinating all of this would have to make sure that users with certain phone numbers could not access certain parts of the site. Feature #5 is a good example.
  4. Spectator mode
  5. The goal of the game could be for one team to get from one side of the city to the other without getting tagged.
  6. Fog of war on the commanders map.
  7. Real cool feature that I am sure is a few years off: Live video from the users in the field being available to the commander through a service like justin.tv or ustream.tv.
  8. (insert all other strategy game features here)
That's what I would like the game to have. I think it would be pretty fun to play. But also fun to build. Right now I am working on reminding myself of how to use django because I don't really like the webapp framework which came with google app engine. And I also don't want it to be tied tightly to google app engine although I will probably hosting it there at first. So I'll make sure I don't depend on django modules too heavily. As a side note the built in webapp framework that comes with app engine is ok. But I really don't like how you HAVE to configure some of the URL related things is YAML and another part in the python source file. Django just allows you to configure everything in the urls.py. The second thing I find annoying is the fact that if you want to require login it must be done on for the whole python source file. In django you can do it on a per view basis by simply marking it with a decorator. But my complaints are quite minor.

Back to the GPS game. I wish US telecoms didn't completely suck. Wifi isn't everywhere. 3G is expensive and WiMAX isn't available yet but I have the full confidence in US telecoms to make it suck. But if WiMAX is the next best thing I think this device could be the answer to client software: N810. It has a camera, GPS, WiMAX, and Wifi. I have the N800 and it is pretty nice. The Maemo OS can be programmed in C but there are also python wrappers which I used but the documentation is poor. The most promising thing I believe is that Google Android can run on it. Android has better documentation and lets you program in Java. But I don't know how well Android will interface with the Camera and GPS on the N810.

Until next time.

Update:
"troops" - could be real people, robots both land and air. Basically anything you can think of that could be controlled via the commander. The integration of all these things would be beyond amazing. Oh well. This should keep me busy for the next few years right?

2 comments:

Mason Browne said...

Send text messages to your users for free:
http://twitter.com/

Video streaming from your phone:
http://qik.com/
http://www.kyte.tv/home/index.html

iPhone has pretty awesome location services (Core Location): http://developer.apple.com/iphone/

Really, the iPhone might be a good candidate for this. You know C and Java, so Objective-C should be a breeze for you.

Charles said...

I agree with Mason.

You should really look into the iPhone, they completely streamline leveraging the location of the GPS.