Portals – An Android Adventure

Portals is a geocaching game that asks the player to work through a virtual maze in Needham center.

Portals on-going: 2011-08-01 The Zircons,  that cheap but flashy race is still here but fading.  I’m working on the outer circle of portals. The opening panel is at the right.  Eventually you complete the circle and open the portals.     Imagine if you will that the Zircons a cheap but flashy bunch of aliens have captured you but they in their cruel way have decided you can go free if you can find your way through the maze of portals, gain your freedom, and sign the geocaching log there in in the common.  On by the way, they have included a timer to encourage you.  Yesterday, I went out and took some photos and gps locations to start the project.  If you cannot come to Needham, Ma to play,  Portals is a Play-Anywhere so if you can play from anywhere there is GPS reception and an Internet connection.  I’ve tested the opening scenes here and there around Mass.  Here’s one of  the portals you have to find and open to go into the virtual room. Once you are there you will be asked to answer a question.  Eventually, you visit all of the portals in the outer circle and the inner circle is revealed.  The questions then become harder.  But fear not,  you and your trusty Android will prevail.

Android Functions Server Functions
Compass Direction Receives Request
GPS location Lat Lon Returns String
Task completed Returns Next Task

The logic is divided between the Android and the server.  The Android determines GPS location distance between points and compass bearing.  The server keeps track of the game.  When some event occurs, the server receives the Android command asking for a new task and the server responds with a new Android command. Remember everything in the Android is asynchronous with events coming as they may.  The compass reports minute changes in the Androids magnetic position which must be filtered into Cardinal points, the GPS position changes constantly even standing still, and the user may press a button or enter some data at any time.  The server must respond to any number of commands from various levels  of game play with one or many player being involved.

Portals    Notes. July 12, 2011  and earlier.


Player must complete a number of tasks, getting a high enough score to open final portal to cache or if virtual –  send a message of completion Post player and score and time to play calculate % of some sort

Portals are physical locations around Needham center identified by door images.  Game play starts with a choice of 4 portals to enter (Rotatating the Android brings up a different Portal view according to which Cardinal postion the player is physically facing.  Selecting a Portal presents the player with the distance and bearing screen.  When player reachs the Portal Zone, (Timer starts) he is given a choice of several rooms to enter.  Some have messages and other have questions.  When the player starts out he has a 0 or no score at all.  The questions are easy.  3+5 = ?,  misssing letter  A,B,C, E, multiple choice etc. One choice is Jump to another portal.  Possible message “Time is running out”  Running our of time in a Portal is bad as the player loses points and is jumped back to start.  He may choose to return and answer old questions (Possible game questions are never repeated but are easy or hard depending upon score.

One Portal is the neutral zone where a player can stop.  Player must visit all Portals in order to find the cache and must get a minimum score as well.


Initial Panel  Play, Mark, Menu and welcome message

Play starts game  – presents first Portal choices

Mark set Game Play relative to where the Player is physically standing. It’s an GPS lat/lon offset.

Menu Panel has Satellite view, About, Settings such as force/don’t force AnyWhere

Help ?

Send Email Message



When the player answer correctly there is an immediate success feedback, and the score is incremented.  Back to portal choices


Game Play Inital

Start with SD file check old game present  Would player like to resume Yes/No

Yes  Go to server get Portal position, restore score

Fly-with-me has some php logic interacting with a PhoneGap project.  Android_New

Polo MySQL database is used to keep track of user ID last postion, etc. Looks for a game to restore or it will crsate a  new game.


Android FunctionsSingle Player PHP serverMultiplayer
GPS Location Maintains  MySQL database
Compass location Keeps track of active portal, visited portalsDate/time game began
Maybe lookup, look down Keeps running score, statistics
Session/User ID
InZone test
Timers – How long in Room?, Zone = Portal



This entry was posted in adventure, android, androidpapers, basic4android, geocaching and tagged . Bookmark the permalink.