using location in games
DESCRIPTION
A lot of this is out of date now (a whole 6 months later!)--but this is my presentation from LOGIN 2011 about using location based APIs in games.TRANSCRIPT
Using Location in Games
Ralph [email protected]
Who am I?
• Game programmer, designer, jack of all trades.
• Founded FLARB in 2001, one of the earliest publishers and developers of mobile games in the US.
• Been working on a location-based game ad startup since 2010
Getting Location
• Most smartphones have GPS receivers
• GPS-less devices (netbooks, iTouch) use “Fake GPS”
• Location from IP lookup
• Color: “GPS Doesn’t Work”
GPS Accuracy
• Limited government restrictions
• 5-10m GPS, 50m WiFi, 500m triangulation
• Hyperlocation won’t be a reality until NFC or other tech comes about
GPS APIs
• iOS– Core Location
• Android– Location Manager
• GPS uses lots of juice!
Location in a Browser
• W3C Geolocation API
• Javascript in modern browsers
• Works the same way as native APIs
Storing Location
• Geospatial databases
• Basic functions:– Storing geographic locations– Sorting (distance checks)– Testing (intersections with shapes)
Storing Location: MySQL
• Spatial Extensions in 4.1 (subset of OpenGIS)
• Geometry stored as WellKnownText (WKT) or binary (WKB): “POINT (30 10)”
• All computations are in Euclidean (flat) space
Storing Location: PostGIS
• PostgresSQL with GIS extension
• Most mature relational solution (2001)
• WKT or WKB
• “Geographic Coordinates” for accurate queries mapped on globe
Storing Location: MongoDB
• Popular NoSQL database with game devs
• Geospatial indexing using spherical coordinates
• Uses geohash to store points
• Only points, no lines, polygons, etc.
Storing Location: SimpleGEO
• SimpleGEO Storage is a cloud service
• Cassandra with custom spatial extensions
• Store location as lat/long, geohash, or IP
• Cloud service—use HTTP calls. Heavy overhead.
Using Location
• Places Databases– Find out EXACTLY where you are
• Different places database provide different info about venues and locations– Trending– Coupons
Places APIs
• Foursquare• Factual• Facebook Places• Google Places• SimpleGeo• CityGrid• Etc. etc. etc.
Street Addresses
• Get latitude and longitude of street address
• Geocoding
• Google Maps API:
http://maps.googleapis.com/maps/api/geocode/json?address=xxx&sensor=false
Foursquare API
• Unauthenticated– Raw places API.– Free to use, with paid tier.– Crowdsourced
• Authenticated– OAuth2– Access to check-in history, friends,
mayorships, trends
Facebook Places API
• Database is based on Factual
• Authenticated only
• Tagging friends
• Deals platform
Foursquare vs Facebook
• Foursquare’s unauthenticated mode make it useful as a general places database
• Facebook has WAY more users
• Neither one can detect cheats
• Tagging friends is a powerful feature
Designing for Location
• A sample– Parallel Kingdom– Paranormal Activity– Turf Wars– The Merchant Kingdom– Dokobots
• Too literal.
Location Design Problems
• Convenience
• Density
• Privacy
Popular uses in apps
• As a social networking tool– WhosHere– Color– Instagram
• As a coupon/deals platform– Stickybits– Goldrun
Business Models for Location
• Real-world rewards for virtual world play– Pain in the ass for the advertiser– A hassle to redeem
• Local deals are hard to source– Most LBS companies are sales
organizations
Data Collection?
• Heaven’s Diner!
Summary
• Location is an interesting and low-tech buzzworthy feature
• Location gaming is in its infancy
• The “check-in” may be going away, but location isn’t.
Thanks!
• Ralph Barbagallo
• twitter.com/flarb
• ralphbarbagallo.com