Tuesday, September 27, 2011

Phase 1 - Locative Game Project



Aphturr Eigh-Paac Eel Lips 
(A Lazy Working Title)


A Seemingly Complete Flowchart 
for the Entire System of Programs



Theme: Post Apocalyptic Anarchy: “Road Warrioresque” …  (A more realistic scenario than Zombies.  Come On Now!
Applications Needed:

Work in Progress in Adobe Flashbuilder 4.5.1 with Adobe AIR,
ArcGIS Desktop 10, OpenScales (a geologging software)
*Basically ArcGIS has all of the mapping info and Flashbuilder has
all the coding info to get ArcGIS to do cool stuff.  It's just so much work!
Worth it!

             Every player can be either on their own (go rogue) or team up (Clan) with others. It's a wild, dangerous, futuristic, second life where one's phone allows them to escape (even while one's going about their monotonous, generic day) to compete with the rest of the user network community for a title along the lines of “The Wildest Wandering Weapon Wielding Warrior” within the game's community (Experience Points), Kills, and whatever other stats determine rankings. Aside from the general anarchy in the game in which I'd like to create for the players, there could/would be side (secret) missions to allow for experience and inventory growth even if few people are in the game field (close proximity to a user when they're linked in). These might need to be user created, democratic user driven forum decisions that effect the players who have to “try to survive” in their respective home towns/cities. Every other player is an enemy unless the two parties agree to clan up together. It's likely that after one user “kills” another with the Bluetooth P2P locative data exchange based “attack algorithm” (based on the difference in the latitude, longitude, and altitude of the users).

I aim to combine locative media devices, with p2p social networking while integrating Mass Multi Online Role Playing Game style virtual game play with Live Action Role Play. Alas it's not just for the D and D nerds or Mel Gibson Fans, but anybody who needs an excuse to bolt out of a lecture or a board meeting because they're getting shot at close proximity via a gps locational algorithm. I'm moving slower than I thought I would but working at least 5 hours a day on becoming an Ace at Flash Mobile Application Creation Seems to be a valuable way to spend time. Hey at least I'm not playing video games right?
 Early Gameplay Interface Design

(Ignore the Robots and Dragons)




Brainstorm on Writing the SmartPhone
to SmartPhone 'Attack' Application
& Algorithm 



Diagram of Device-Server-User
Interactions and Communications




 Early Gameplay Interface Brainstorm



What I Wanted Out of the Server



Game Additions Brainstorm and Planning


Basic Menu Flow














Resources:
1. http://resources.arcgis.com/content/web-based-help: ESRI's ArcGIS
Resource Center....Software development aids - "ArcGIS Mobile Help";
"ArcGIS Viewer for Flex Help"; "ArcGIS API for Flex"
2. 
http://blogs.infosupport.com/blogs/alexb/archive/2010/11/29/developing-a-mobile-application- with-flex-4-5-air-2-5-flash-builder-burrito-wcf-and-the-entity-framework.aspx:
Developing Introductory Programs in Flex
3. Http://
help.adobe.com/en_US/flex/mobileapps/developing_mobile_apps_flex.pdf:
 Everything cruciall in the process of using Adobe FlashBuilder to
build
4. 
http://www.gsmarena.com/apple_iphone_3gs-2826.php - Hardware
specifications for a wide range of mobile devices
5. 
http://www.webmapsolutions.com/category/open-source-web-and-mobile-maps-
Tutorials and Open Source Locative Mobile phone Application
development resources.
6. 
http://www.devx.com/wireless/Article/43502/1954 - iPhone Bluetooth
Programming - XCode (and a Mac) May be needed for utilizing
7. 
http://jrobinsonmedia.wordpress.com/2007/04/19/xcode-flex-application-template/-
Template for XCode (Mac) to organize programming and some awesome Flex
links.
8. 
http://help.arcgis.com/en/webapi/flex/help/index.html#/ArcGIS_API_for_Flex_diagram/017p0000001v000000/:
"The following diagram shows the logical grouping of all the classes
and packages in the ArcGIS API for Flex."
9. 
http://help.adobe.com/en_US/air/build/WS5b3ccc516d4fbf351e63e3d118666ade46-7fc4.html:
"Basic Info on Adobe Air"
10.)http://
www.flexarmyknife.org/2011/06/creating-fast-and-easy-map-view-in.html
- Another way to write an Air Application to view an ArcGIS map aside
from what they provided in thier API Package
11.) 
http://www.adobe.com/devnet/flash-builder/articles/mobile-mapping-app-arcgis.html
- Building an Android and iOS mobile mapping application using the
ArcGIS API for Flex
12.)
https://github.com/ccoenraets/flex-spring-mobile-testdrive - Open
Source Coding to analyze and learn from Application Code Structure
Logic and Design.
13.) 
http://gregsramblings.com/2011/09/08/geolocation-tips-quirks-bugs-flash-actionscript/
14.) 
http://blog.digitalbackcountry.com/gpxas3/ :
Coding library for GPS data. an example application.
15.) 
http://blog.digitalbackcountry.com/2010/02/example-added-for-gpxas3-the-flashflex-gpx-library/:
  an open source application manipulation spen source application
example GPX data tracking
16.) 
http://mobile.tutsplus.com/tutorials/android/build-a-gps-speedometer-getting-into-air-for-android/:
Build a GPS Speedometer: Getting Into AIR for Android'
17.) 
http://blog.flashgen.com/2011/07/16/my-10-tips-when-developing-for-multiple-devices/
- tips for App Development
18.) 
http://www.adobe.com/devnet/flashcatalyst.html:
-Good tutorials and help with Flash Catalyst (For Basic Application Framework Design)
and crossovers to Flash Builder
19.)
http://thunderheadxpler.blogspot.com/2010/11/how-to-use-esri-flex-api-on-android-and.html
How to use ESRI Flex API on Android and iPhone
  1. http://www.adobe.com/devnet/flex/videotraining.html - FlashBuilder in a Week Video and Lesson Tutorial.





Locative Game Research



Locative Zombie Game Research

How to on Locative, Mobile, Collaborative Game Development:

Game: catchbob

*Notes From the Article:

1.) Wifi is used to track location of objects:"PlaceLab" or "CRAFT demon" - Wifi sniffing for Wifi Access Points

*Google Maps Mobile uses GPS when available, and then wifi access points and cell triangulation when a gps signal cannot be reached. (outdoor play)
Indoor play requires a radio map of specific buildings in play using a database of prerecorded access points with appropriate wifi signal strengths for optimal play (Empirical Model). Otherwise radio mapping uses a propagation model which uses algorithm based calculations to account for an ever changing WIFI radio map (maybe open source algorithm exists?)

*Look at open source accurate WI-FI Positioning software

-every 30s clients positions, commands, messages are broadcasted via a central server (SOAP)
SOAP: xml based protocol lets applications exchange information over HTTP.

-good for small games needing synchronization and data consistency.
Epidemic Algorithm: information is disseminated reliably in a distributed system propagating throughout a group of individuals: each process of the system chooses random peers to whom it relays the information it's received. (I'm not sure if this technique is entirely applicable to my concept.)

2.)Decentralized & Peer to Peer systems based on RendezVous, JXTA or Jini
JXTA or Juxtapose: 
-Morality Concern: upon logging into the application user allows their personal location to be transmitted into the server. When logged out all communication is shut off.

3.) Past and Present Locations must be stored on Server's RAM
-Back up location storage:“Hibernate” - Object Relational Mapper (ORM)

4.)Positioning Algorithms:
-Centroid Algorithm: computes location with arithmetic mean of access points position weighted by -their signal strength.
-Fingerprinting
-Particle Filters

.............................


Information was slightly out of date, however necessary in beginning to design game framework.


..............................








*Random Notes
Setting up a server network
Try to accomplish in wifi if phone doesn't have Internet free locatives
Access phone locative info (hack?)
Editing google maps to input item and member pin locations
Programming item info available for download
Menu design apps
Layer shooting screen. Emulated reality
Editing layer (integrate?)
Height of phone from sea level
Easiest code for mobile apps

QR Code Project "Choose Your Space Knight Destiny?"









(Initial Intent for) Phase 1 Project in September

Locative Mobile Game Project



PHASE 1
 
 Goals:

* To build the basic mobile application of the game and the various menus within menus using Adobe Catalyst.  
*Integrate the ArcGIS flex software into the application or consider Latitude API.
*Create the viewfinder in which players will shoot at one another.  
*Create a server through SFSU

Basic Application Framework:


1.)  Menus and Pages to be built using Adobe Catalyst because of its ease in object based program and web design, requiring less coding than using Flash or Flash Builder on their own.
       -Catalyst Application files can be used as the base for creating iOS apps on Flash Builder which will be the final platform in which the iOS app will be written.
2.)   A Standalone Flash Builder app that integrates mapping information through the ArcGIS network
3.)  Catalyst or Flash Builder (I'm thinking the latter) permitting access to an altered camera viewfinder Program.
4.)  Get flashbuilder to communicate with SFSU server.
5.) Begin Training myself in Python as it is the language of ArcGIS




      
Resources

http://www.sfsu.edu/training/getstart.htm - SFSU Server Information
http://devgirl.org/category/flex-4-5/ - Flex/Air Forum


http://tv.adobe.com/watch/training-with-trani/determining-speed-data-from-gps/
       -Reading GPS data using a Flex Application
       - Basic Action Script 3 Coding in Flash for applications
http://blogs.adobe.com/flashplatform/tag/iphone 
       - GPS and Flex (using Latitude API)


http://itunes.apple.com/app/google-latitude/id306586497?mt=8
        -Latitude API information (I need to learn which information from the phone is given into this program in order to use a similar method with ArcGIS.  Latitude may be applicable to integrate into my application as a locative data transmitter and receiver, however I believe that it may be hard to alter and use its coding as I wish.  Therefore since ArcGIS is fully customizable and programmable, I'll probably use it as the Locative Data Platform in my application.


help.adobe.com/en_US/flex/.../developing_mobile_apps_flex.pdf - Everything about creating flex mobile applications

assets.en.oreilly.com/1/event/61/oscon2011_tute_sutton_18755.pdf
         -Coding information on manipulating integrated hardware for iPhone Flex/Air Applications using Flash Builder.


ArcGIS API training video - to create Flex-based ArcGIS Server Web applications


http://libraries.mit.edu/gis/software/arcgis_install10/ - Arc GIS libraries and tutorials and installation help


       
http://www.demonoid.me/files/details/2580666/?load_bal=9809676&show_files=&page=1#comments






Notes
-Adobe Catalyst Seems to be the most efficient way to build user interface and menu screens.  -Flash Builder integrates Catalyst Applications where more serious network code may need to be implemented
-Look up Latitude API.
-Might need to run a virtual private network to get ArcGIS 10 to work right because i didn't buy server space





******************       BETTER THEME:       **********************************

Road Warrior style post apocalyptic anarchy
-where players have avatars
a. could lead to augmented reality hardware integration with other players’ avatars in network.
-Allows for “clan” creation.
-Potentially could lead to a development of MMORPG style mission objectives

Thursday, September 1, 2011

Examples of Locative Media and Art

Locative Media Painting
"Locative Painting is a locative web/mobile artwork that forms a painting on the screen where the strokes are giving by the participants according to their geographical position (zip code). The participant chooses the stroke color and his/her stroke is given from the previous participant's position to his/her location on the screen. After participating, the person receives the painting with his/her stroke by email and SMS (on the cell phone). Each person has his/her moment in the painting and the strokes connecting people creates the painting community exchanging and crossing paths (http://www.net-art.org/node/353)."


Locative Gaming








Examples of Locative Media Gaming Networks:
http://www.gamespot.com/mobile/action/botfighters/index.html
http://en.wikipedia.org/wiki/Encounter_(game)




Other Examples of Locative Media:
http://biomapping.net/
http://www.reverberant.com/sm/








Mobile to Mobile connection techniques (sorry about the lazy Wikipedia links but I need a starting point)
http://en.wikipedia.org/wiki/Near_Field_Communication
htp://en.wikipedia.org/wiki/Bluetooth
http://en.wikipedia.org/wiki/Ultra-wideband