Taking the purple pill


Published on

A presentation i gave with Terrance Cohen at GDC 11 - smartphones summit about lessons learned building a platform for geo-social Augmented Reality games

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Welcome everyone to GDC 2011, and thank you for joining us today.I’m Terrance Cohen, Vice President of Game Platforms for Ogmento, and with me today is Oriel Bergig, Vice President of Research & Development and co-founder of Ogmento.I come from the world of mass-market console game development. Most recently I was the Lead Systems Engineer at Insomniac Games focusing on the Resistance franchise.Less than ½ year ago, I joined Ogmento to work on geo-social Augmented Reality games.I hope that after this hour you’ll understand why.<>This time last year, most of us had smartphones. But today, anyone is likely to be walking around with a GHz processor in their pocket, a 3” screen or better, and best of all a back-facing camera!This is a perfect storm for augmented reality!
  • Whatare Geo-Social Augmented Reality Games?
  • When I say Geo, you should think of FourSquare: Locations in the game are 1-to-1 with locations in the real world, and being there in the game means being there in the real world. The game is played in the real world.
  • So what are Social games?< you don’t know? GET OUT! 8-) >Alright, you probably know what social games are. But they’re hard to define, and usually defined by example.So think of FarmVille, and we’ll define social games as games that integrate with a social network and use that network to enhance gameplay between players.
  • And when I say Augmented Reality or AR games, think of Eye of Judgement or Eye Pet where virtual objects and characters are registered and overlaid with features of the real world, and players interact with them.
  • This is a frame from Eye Pet, where players interact with virtual pets.You’ve seen those before: Geographically-based games, Social games, and AR games. But you probably haven’t seen them combined before.AR games invite the player to interact with virtual objects in the real world.Geo-social games invite the player to play the game at locations in the real world.So you remember why I’m here – the time is right, now that we have such capable devices.And for the first time in history, combining these features in a game is possible – it can run on the phone in your pocket. The hardware barrier is finally gone.
  • What do I mean when I talk about, “Taking the Purple Pill?”Well, if the Red Pill represents Reality, and the Blue Pill represents Virtual Reality,
  • …Then the Purple Pill represents Augmented Reality – a blending of Real and Virtual Reality.
  • We are game developers, and AR is central to what we’ll be discussing, so let’s be a little more rigorous about our definition.AND I would be remiss if I didn’t have the obligatory “What is AR” slides… but there are only 2 of them 8-) !AR is effectively defined by Ronald Azuma’s seminal work, “A Survey of Augmented Reality”.This is your first stop if you have any interest in AR, and hopefully after this hour, you will!
  • According to Azuma’s definition. <read>
  • Now, we’re going to jump right into some of the lessons we’ve learned building a platform and games using geo, social, and augmented reality techniques.One big lesson that I learned is that Augmented Reality is different. It’s a “game changer” in many ways. And I think it takes some time to really get the subtle and the not-so-subtle ways that AR changes the way games are designed, developed, and maintained, to say nothing about how they’re played.So to think about how AR is different, I want to compare the Rendering Pipeline with the AR Pipeline.The purpose or job of the Rendering Pipeline is to present the Virtual world to the Real world.If you think of rendering as a part of the AR pipeline - that is, the tail-end of the pipeline - what AR adds to the beginning is: presenting the real world to the virtual world.At the end of the day, the Rendering Pipeline is a one-way process. Augmented Reality represents the full round-trip process.
  • Think of the rendering pipeline like this:<sweep hand to the right>With the standard 3D rendering pipeline, you have the virtual world rendered on the screen, and presented to the player.[End of Slide][Back story: the player & the scene => captured by the camera => features extracted, pose estimated, objects registered => virtual and real world rendered on the screen, and presented to the player. ]
  • Now, here’s the round-trip pipeline represented by augmented reality.<pointing at features>The player is being seen by the camera, the AR algorithms register the player in the scene, and composite the player with objects in the virtual world. Then the blended real and virtual world is rendered on the screen, and presented back to the player.[End of Slide][Back story: the player & the scene => captured by the camera => features extracted, pose estimated, objects registered => virtual and real world rendered on the screen, and presented to the player. ]
  • Alright. Now another lesson I learned in the process of developing geo-social AR games.We are not just bridging the real and virtual world in the context of a simulation.We are also bridging two sides of the real engineering world. These two sides are the graphics engineers, and on the other side of the room, the augmented reality scientists.And the two of them don’t talk.This is a story told to me by our Chief Scientist, he was at a conference, and the rendering engineers were on one side of the room, the AR scientists on the other side of the room, and they literally knew nothing about the algorithms being used by the people on the other side of the room.
  • So here’s an example of the disconnect between the two sides of the room.I call it, “The Tech Demo Drop,” and here’s how it goes:The Chief Scientist appears out of thin air. He says, “Hey, take a look at this demo that I made last night.”We say, “Oh, wow! That’s fantastic! Thank you! <> So… how do we make a game out of this …”We look around, and the Chief Scientist has vanished.
  • And here’s an example of the tech demo drop…http://www.youtube.com/watch?v=dL4j3FoBykg
  • At Ogmento we are actually Bridging Worlds.At this point, I’d like to hand-over the mic to the Vice President of R&D and co-founder of Ogmento, Oriel Bergig!
  • Lets start with the rendering pipeline we all know and then see how it is changed when AR comes into play.We start with a 3D virtual scene. 3D models will pass a model transformation then lighting is applied and then a camera transformation.Now lets see how Augmented Reality is going to affect this pipeline..
  • Now we have a real scene being imaged by a camera.In many cases in Augmented Reality we want the virtual object to be registered to something in the world.Let see a short movie of a project done at the HitLabNZ to demonstrate that.In the AR rendering pipeline objects are transforming not only according to their animation and etc. but also according to the transformation of an object in the real world.
  • You can do more if you can calculate the position of the real light sources from the camera image.In that case you no longer need to simulate where the light sources would be in a real scene. It is a real scene and the lights are where the lights are.
  • The next step is the camera transform. If your camera is moving that’s where its going to affect the rendering pipeline.A mobile phone is a good example of a moving camera. In the AR rendering pipeline the camera transform is done according to the real camera transform.
  • Now all we are left to do is to inject the live feed as part of the pipeline to create the illusion object are registered to the real world.On good way of doing it is using a texture on a plane used as the camera view backgroundSo every frame, 30 times a second we replace the texture of that plane with the image that comes from the camera.One of the advantages of this approach is you can now apply shaders and other effects to both the camera feed and the virtual objects. This is important because it results in a similar appearance to both which increase the illusion the real and the virtual co-exist.
  • THIS IS A DEMOLet us see a live demo of a 3D AR scene and of the model transformation we discussed.CAMERA OFFStep 1: This is a Unity3D environmentStep 2: This is the light source, camera, object and a planeCAMERA ONStep 3: This is me injected onto the plain as a texture Step 4: I want the object to rotate according to the rotation of a real object so they become registeredANCHORStep 5: Look at the camera preview window – they seem to be on on top of the otherStep 6: Im about to rotate the card I have in my hand and the virtual objet will rotate such that it appears to be registered ROTATE LIGHT SOURCEIf I will rotate the light source it will create a similar effect on the live feed and the object increasing the suspension of disbeliefThis demo is also a very sophisticated way of bridging the worlds. This is bridging AR with game development environment and you can see in real time the final result the AR view
  • Ivan Southerland  known for Sketch pad  Created the Sword of DamoclesIn 1968 he create the first computer program to demonstrate VR and ARGot that? AR and VR started at the same time – bridging the two is actually closing a circle
  • WHERE AR WORKS WELL ?AirplanesPlane rotation and location are accurately knownTarget location is accurately knownAR Locking on a target is possible
  • In 2007 Sony came out with the eye of judgment, the first AR game.
  • Another type of AR can be done with Kinect – Augmented Reality for this platform is still under development.But lets take a second look at kincent / Wii / Move. It is all about Moving and InteractionBUT What if you could really move ?
  • Of course – a mini Head mounted display is the answer. We’ve seen it in GDC two years ago and…. We are still waiting.And it wasn’t see-through. The first transparent one came a month ago at CES but its still far from a product for playing games.Plus, even it was ready our target audience don’t have it.So for me there is only one obvious answer!
  • My platform of choice is in your pocket. It is a perfect window to the world. Its …. Your mobile.So that's the platform of choice for Augmented Reality games in 2011 - mobile phones.
  • The first thing that comes in mind when thinking AR games on mobile phones is the camera transform.Our smart phones comes with accelerometer, gyroscope, GPS, and compass so they have all the sensors needed to calculate the camera position and rotation much like they did it with airplanes. Well almost – because the hardware on the phone is not as good as the one on the airplane and so you need a lot of work to get these reading filtered.If we don’t filter the reading the objects will be floating around. As we filter more the reading - the objects will become more steady but at the same time when we move around they will lag behind -- breaking the illusion.There is no perfect solution for that. One good way is to use an extended kalman filter.
  • So lets assume we solved all the issues with phone sensors. It is still limited because you can not tell what is in the image with the sensors alone.On the red screen shot an object is floating in the air not registered to anything specific.You can work around those issues in gameplay. In our game in daemon hunting mode, the objects are moving around quickly and your goal is to track them. This is good to overcome noisy sensors and distract the player from noticing the object are loosely registered to the real world. But that is limited in terms of game experience you can do.So what if you want to do more. You want to really see what's in the image so you can register objects.
  • Thats where you need to do image analysis and computer vision at every frame.OK – so we want CV. What can we do with it?
  • Tangible interaction!Remember the ARPancho?This project is a good example of tangible interaction because the virtual character reacts to the card movements. Until not too long ago the only available technology that can help you do that required printing.
  • Printing means youneed to print a specific shape or image to be able to play!Meaning - you need to go through 5 steps so you can start the game.Publishing a mobile game on the appStore looses its purpose when you need to first install the game, then go to a website, download and open a pdf, print it the PDF and finally play! And don’t forget to to carry the print with you so you can be mobile. We are talking mobile games after all.
  • So what if you could create your markers anywhere by just sketching them. What if you can support almost any sketched shape or scribble.The sky is the limit to the different possible arts. In our game the theme is around the 5 elements of a pentagram, each element has its unique magic.So we are asking the players to sketch a pentagram and a 3D pentagram will appear leaping off the page with the sketch.I’ve included a link to an award winning paper describing sketch markers.So we can sketch any scribble we want and it will become the marker or the hook to the real world. It will become your tangible interface to the virtual world!Is that all?What if we could do more with your scribbles…
  • Remember the tech demo drop with the garden leaping of the sketched page? That was the first attempt of that chief scientist.But in his head it was a simple example of a bigger concept –In-Place AR where what you scribble becomes part of the game. It can be a a blue circle that becomes a lake, a real leaf that becomes grass or ... a simple curve that becomes a race trackSo if you did a good job in bridging the mind set the next time the chief scientist comes back to the room he demonstrates something that will blow you away and is actually a game demo.I want to demonstrate to you what he demonstrated to all of us:DEMO Step 1 – I am sketching a simple scribble Step 2 – I want this to be my race track Step 3 – I want a road to loft from this sketchStep 4 – Lets playStep 5 – Lets play against the computerStep 6 – I can transition from AR mode to AR and VR or to fully VR 3D mode.This un-named game is demonstrated here for the first time.It is revealing a new genre of games. Sketch interaction games.AFTER DEMOThank you very much - This is also the opportunity to thank Nate hagbi, our chief scientist for inventing all this great tech. I will now pass the mic back to Terrance so he can tell you more about the purple pill.
  • Isn’t that great? Sketch racing is an example of some very exciting sketch AR technology. It shows the potential of what AR games can be.But there’s more to it. We’re doing geo-social augmented reality games.
  • <>The next lesson that I want to discuss with you is this.Geo-Social games are different than other games.Just to review for a moment. Earlier we talked about Geo-Social games.We said that in geographically-based games like FourSquare, the game is played in the real world.And we said that social games like FarmVille integrate with a social network and use that network to enhance gameplay between players.I want to highlight here that regular games bring … the game … to the player. Geo-social games bring the player … to the game.Similar to the way AR games invite the player to interact with virtual objects in the real world,Geo-social games invite the player to experience the game in the real world.Imagine moving around a city in an FPS, except that at the same time, you’re actually moving around the city in the real world.
  • Now here’s a game that imagines demonic forces forever trying to break through into our world.In Paranormal Activity: Sanctuary you investigate paranormal phenomena to identify hot spots of demonic activity called hell holes,then use your arcane powers to exorcise the evil spirits and create sanctuaries that protect against further attacks.But beware, if you let down your guard down you risk becoming possessed by dark spirits and turning against your former allies.Paranormal Activity: Sanctuary is Ogmento’s latest title for the iPhone. It is available for free from the App Store now.
  • And now I will use Paranormal Activity: Sanctuary to demonstrate many of the themes we’ve been discussing here. We’ll focus on the geo-social and AR elements of the game, including a demonstration of a Sketch AR component that you can get on your device immediately… if you have an iPhone. (Don’t worry, we’re bringing our stuff to Android very soon, I promise!)Demo: Paranormal Activity: Sanctuary<looking at heatmap>As you can see, we're looking at a map. On the map, in the game, we're in Room 303 of the South Hall of the Moscone Center, because in the real world, that's where we are.This is the location-based part of the game - the geo. This game is played in the real world.You can also see that there are zones of depravity called hellholes - indicated in red.And there are zones of sanity called sanctuaries - indicated in blue.<selecting a hellhole>Each hellhole has a Predator - the actual player who has contributed the most depravity to the zone.And each sanctuary has a Guardian - the actual player who has contributed the most sanity to the zone.This is part of the social aspect of the game. You are battling real players for control of locations in the real world.There are also missions on the map, identified by pins. These missions can be based on what items you have, or they can be location-based. For example, you might have missions related to ghosts or spirits near a cemetery, or sacred text related missions near a library.Now we've created missions specifically for GDC. Some of them are here, and others are spread around San Francisco. After the presentation, please pick-up a map at the front of the room - it will guide you to the most valuable missions around the area.This is what geo-social games are all about.<selecting the Terror mission>One of our missions is The Terror in Room 303, again, because that's where we are!We'll go on that mission…It says that The geo-social energy at the conference is exhilarating, but you need something to bring it into focus…So we're going to do it…<wait for it>We've reinforced our sanctuary/hellhole, and we've gained<select it>The Purple PillThe Purple Pill is not a drug, but a way of looking at the world. The real world augmented by the virtual, the virtual world enhanced by the real.Alright, now we're going to do some investigation. We're looking for demonic activity in our immediate location.<>And there we go, we photograph the demonic activity which gives us experience.This is the type of AR browser that can be seen in other AR games.But next, we're going to cast a spell, and boost it with sketch AR.To do that, we draw a pentagram on a piece of paper. Then we look at it with our device, and allow it to boost the power of our spell.
  • Now we’re going to go “under the hood” of geo-social games, and take a look at some of the big moving parts.Games played at locations in the real-world means using a geo-spatial database. In our case, we use PostGIS, an extension to PostgreSQLPersistent world & missions means using a transactional database back-end that can handle some heavy-lifting. Paranormal Activity: Sanctuary uses Amazon Web Services, including Electric Cloud 2 and RDS.Of course, the game uses a “freemium” model, where players can make in-game purchases, which fund the development and maintenance. For that to work, we need a way of accepting payments. Apple’s App Store makes that straightforward. It’s currently a little trickier on Android, but promises to get easier soon as Google begins to support similar mechanisms.But to figure out what people like to buy, what makes them want to buy, and to get them to do more of that, there’s also a whole layer of analytics and reporting.Sometimes I feel like I’m back building business applications… but then I remember that these database records don’t represent telemarketing calls or insurance policies (true story), but hellholes and sanctuaries, missions completed, and Spells cast. Which, let me tell you, is much cooler! But these are a lot of moving parts that need to work well together.
  • … and sometimes they don’t! That’s when someone gets a call like one of these:<play>These are not things you want to be woken-up to hear. So that’s when you contract with someone on the other side of the world, who is already awake to hear it, and fix it.
  • So, the heart of some of the more complex data manipulations and analysis is a set of ETL processes – which stands for Extract, Transform, and Load. The ETL processes Extract data from your application databases and other source systems like GIS, Transform that data, and Load it into tables in your data warehouse and back into your application databases.Here’s an example of our ETL processes. This is the ETL script for managing leaderboards, a feature coming soon to Paranormal Activity.You can see how events come into the script with location data. The geographical coordinates are checked against a geolocation cache, to see if we already have leaderboard data for that city/state/country. If we do, then the new value can just be added to that leaderboard. However, if the location isn’t in our geolocation cache, then we need to do a reverse geolocation lookup on OpenStreetMap through MapQuest to figure out where the player is. Once that’s done, we can populate the leaderboardand the geolocation cache with the new location.
  • Now we go from data transformation to data analysis and visualization.So who doesn’t like a pretty picture?Here’s a map of the locations of spell casts in Paranormal Activity after a week or so of activity.Now, when I first looked at this, I was wondering – why is there so much activity to the east, and on the west coast, but very little inbetween.<anyone>
  • Yup, that’s why.<>
  • Now we’ve talked about most of the ingredients in geo-social AR gamesWe’ve talked about the client components: Sensors and GPS for location and orientation.The camera as a window to the real world.Maps to display the current location and the “play field”.AR to register virtual objects in the real world.And all of the database and analytics to go with it.<hands scraping deviously>We have all of the necessary the ingredients for our Witches’ Brew!
  • So we end up using a lot of off-the-shelf and open-source software, particularly on the server side.And that can sometimes result in quite a tech soup.Don’t fear it.This is not about everyone “doing it my way”, rather interop is the name of the game.They’re designed to work together, or are sometimes even about working together.For those of you who started in the mobile space this may be “old-hat” to you. You might be saying, “What’s he talking about?”But for those of us who have made the transition from consoles, it’s a brave new world.For us, it was more like, “Hello, welcome to Game Studio, Inc. Here’s your compiler, and here’s the platform SDK. The engine is written in C++, which is what you’ll be using for the next 12 years of your life. Good luck!” From what I’ve seen so far, that’s not mobile development, and certainly not geo-social AR game development.Tag cloud generated at http://www.tagxedo.com/Tag cloud words:Java Java Java Java Java Java JavaCSharpCppC# C# C# C# C# C# C# C#C++ C++RooRooDjangoDjangoMySQLMySQLMySQLMySQLJNI JNI JNIUnity Unity UnityAntEclipseObjective-C Objective-C Objective-CMono Mono Mono Mono Mono MonoXcodeAmazon EC2 Amazon EC2 Amazon EC2 Amazon EC2PostgreSQLPostGISPostGISPostGISAndroid Android Android Android AndroidGPSGoogle Google Google Google GoogleApple Apple Apple AppleiOSiOSiOSiOSFlash Flash Flash FlashAdobeXAMLOpenGL OpenGL OpenGLOpenCVTouchiPhoneiPhoneHTCMotorola MotorolaVerizon Verizon Verizon VerizonT-Mobile T-MobileAT&T AT&T AT&TNVIDIATegra2AcerGDC GDC GDC GDC GDCSprintSunOracleSubversionApacheSpringSourceGrailsDroolsMavenTomcat TomcatTerracottaPentahoPentahoPentahoPentahoGeoIQGeoIQFortiusOneFortiusOneFortiusOne
  • So here’s a little example of embracing the tech soup.We’ll be looking at an example of calling into the Android SDK from Unity, which most of you probably know is a very popular game engine for mobile development.In this case, we’ll be turning the device’s camera on and off from Unity, something that Unity doesn’t inherently support.
  • So first you write a Unity script in C# which imports a native library that you also wrote, and exposes some set of functions from the native library to your Unity script.In this case, we have a script which – when it is called to Start() – turns the device’s camera on by calling setCameraOn(true), a function implemented in a native library.
  • Now, the native library is implemented in C++, using JNI which is the Java Native Interface, and lets you manipulate Java objects from native code. In this case, we’ll be manipulating objects that are instances of classes that we derived from Android SDK base classes. So we’ll find the Android Activity class, get its currentActivity static reference, locate that object which is our Activity instance, find the PlaytimeControls member of the Activity, find the setCameraOn() method of the PlaytimeControls object, and call that method.
  • Now PlaytimeControls is a Java class that uses the Android SDK to keep track of the currentActivity, to manipulate a CameraPreview instance which is owned by the Activity, and to add and remove the CameraPreview from the Activity’s RelativeLayout. If you haven’t seen it before, it looks a little crazy. The 2nd time, it’s pretty straightforward, and the 3rd time, you’re writing it in your sleep.
  • So it’s almost time for us to finish here, and give you a chance to ask questions. Before we do, I want to review a little.Remember that we talked about Geo-Social Augmented Reality, and how AR as the Purple Pill blends the real and virtual worlds.
  • We talked about how AR is Different, and how we’re Bridging Worlds between engineering disciplines.
  • And we talked about bridging the worlds between game design and software engineering.We talked about selecting the right platform for AR games.
  • We saw how we can do sensor-based AR on a mobile platform, and why we need the computer vision.
  • We talked about tangible interaction, and we demonstrated in-place augmented reality.
  • We talked about how Geo-Social is different and we saw a demo of how these elements came together in Paranormal Activity: Sanctuary.And then we looked under the hood of geo-social games.
  • Then we talked about data analysis for geo-social gaming, and how that is just one ingredient in the Witches’ Brew.And finally, we talked about how we embraced the tech soup and wrapped-up with an example of calling the Android SDK from Unity.
  • I sincerely hope you’ve enjoyed our presentation, and thank you for Taking the Purple Pill.This is Oriel Bergig, and I’m Terrance Cohen. You can follow us on Twitter.If you enjoyed your time here, please remember to fill-out the evaluation forms and hand them to the awesome volunteers in the back. If you didn’t enjoy it, there are some black receptacles on the floor in the back, so you can just go ahead and slip them right in there 8-). No, I’m only joking. Please return the evaluation forms to the volunteers in the back.We’re going to take questions now - We’re supposed to ask you to Preface your questions or remarks with identification such as “This is Cindy from Indianapolis…”And we’re supposed to always repeat the question or summarize a comment for the benefit of participants who may not have heard it.
  • Taking the purple pill

    1. 1. Taking the Purple Pill:<br /> Lessons Learned Building a Platform<br /> for Geo-Social Augmented Reality Games<br />Terrance Cohen<br />Vice President, Game Platforms<br />Oriel Bergig<br />Vice President, R&D<br />
    2. 2. Taking the Purple Pill<br />Lessons Learned Building a Platform for Geo-Social Augmented Reality Games<br />
    3. 3. Taking the Purple Pill<br />Lessons Learned Building a Platform for Geo-Social Augmented Reality Games<br />
    4. 4. Taking the Purple Pill<br />Lessons Learned Building a Platform for Geo-Social Augmented Reality Games<br />
    5. 5. Taking the Purple Pill<br />Lessons Learned Building a Platform for Geo-Social Augmented Reality Games<br />
    6. 6. Taking the Purple Pill<br />Lessons Learned Building a Platform for Geo-Social Augmented Reality Games<br />
    7. 7. Taking the Purple Pill<br />
    8. 8. Taking the Purple Pill<br />
    9. 9. Obligatory “What is AR” Slides<br />Ronald Azuma’s seminal work<br />“A Survey of Augmented Reality”<br />August 1997.<br />http://www.cs.unc.edu/~azuma/ARpresence.pdf<br />This is your first stop if you have any interest in AR.<br />
    10. 10. “In Augmented Reality, the user can see the real world around him, with computer graphics superimposed or composited with the real world. Instead of replacing the real world, we supplement it. Ideally, it would seem to the user that the real and virtual objects coexisted.”<br />
    11. 11.
    12. 12. Lesson: AR is Different<br />Rendering Pipeline<br />Augmented Reality pipeline<br />Presents the Virtual world to the Real world<br />One-way process<br />Also presents the Real world to the Virtual world<br />Round-trip process<br />
    13. 13. Rendering Pipeline<br />
    14. 14. Augmented Reality Pipeline<br />
    15. 15. Lesson: Bridging Worlds<br />
    16. 16. Lesson: The Tech Demo Drop<br />
    17. 17. Sketch AR<br />[ Demo of Augmented Reality Hand Sketching Games, seconds 5 – 35 ]<br />
    18. 18. Lesson: Bridging Worlds<br />
    19. 19. Lesson: Bridging Tech Worlds<br />Model Transform<br />Lighting<br />CameraTransform<br />Viewport<br />Transform<br />3D Virtual Scene<br />Screen space (2D viewport)<br />
    20. 20. Lesson: Bridging Tech Worlds<br />Model transform<br />Model Transform<br />Lighting<br />CameraTransform<br />Viewport<br />Transform<br />Screen space (2D viewport)<br />3D Virtual Scene<br />Real Scene<br />(the world)<br />Real Object<br />transform<br />HITLAB: AR Pancho project<br />
    21. 21. Lesson: Bridging Tech Worlds<br />Lighting<br />Model Transform<br />Lighting<br />CameraTransform<br />Viewport<br />Transform<br />Screen space (2D viewport)<br />3D Virtual Scene<br />Real Scene<br />(the world)<br />Real Object<br />transform<br />Real lighting<br />VTT: Photorealistic rendering for Augmented reality<br />
    22. 22. Lesson: Bridging Tech Worlds<br />Camera transform<br />Model Transform<br />Lighting<br />CameraTransform<br />Viewport<br />Transform<br />Screen space (2D viewport)<br />3D Virtual Scene<br />Real Scene<br />(the world)<br />Real Object<br />transform<br />Real camera<br />transform<br />Real lighting<br />
    23. 23. Lesson: Bridging Tech Worlds<br />The live feed<br />Model Transform<br />Lighting<br />CameraTransform<br />Viewport<br />Transform<br />Screen space (2D viewport)<br />3D Virtual Scene<br />Real Scene<br />(the world)<br />Real Object<br />transform<br />Real lighting<br />Real camera<br />transform<br />
    24. 24. Lesson: Bridging Tech Worlds<br />
    25. 25. Lesson: Bridging Tech Worlds<br />Yawn!<br />I did that back in ‘68<br />
    26. 26. Lesson: Choosing a Platform<br />1968<br />1980<br />2007<br />GDC 2009<br />
    27. 27. Lesson: Choosing a Platform<br />1968<br />1980<br />2007<br />
    28. 28. Lesson: Choosing a Platform<br />1968<br />1980<br />2007<br />Kinect AR: Augmented Reality Magic Mirror<br />
    29. 29. Lesson: Choosing a Platform<br />1968<br />I can’t see a thing!<br />1980<br />2007<br />GDC 2009<br />
    30. 30. Lesson: Choosing a Platform<br />Mobile Phones!<br />1968<br />1980<br />2007<br />GDC 2011<br />AR Enabled<br />GDC 2009<br />
    31. 31. Lesson: Sensor based AR<br />Image source : ©ompactGames<br />Image source: borntechie<br />
    32. 32. Lesson: Sensor based AR<br />Lucky shot<br />Not so Lucky<br />
    33. 33. Lesson: CV based AR<br />
    34. 34. Lesson: Tangible Interaction<br />Printed Markers<br />Yeah, let’s add interaction!<br />You again..<br />I did that back in ‘98<br />
    35. 35. Lesson: Tangible Interaction<br />Here comes the sketch with the steps to print the marker<br />Printed Markers<br />You are FIVE steps away from an AR tangible experience<br />
    36. 36. Lesson: In-Place AR<br />Sketch a <br />Marker<br />LINK: Shape recognition and pose estimation for mobile augmented reality<br />
    37. 37. Lesson: In-Place AR<br />Sketch theContent!<br />
    38. 38. Lesson: Bridging Worlds<br />
    39. 39. Lesson: Geo-Social is Different<br />
    40. 40. Paranormal Activity<br />
    41. 41.
    42. 42. Geo-Social – Under the Hood<br />GIS<br />Client OS<br />Analytics<br />Game Engine<br />Server Hosting<br />Broken Headlight<br />Transactional Database<br />Monetization<br />
    43. 43. Calls Unwelcome at 4am<br />Server Alerts<br />
    44. 44. ETL:<br />Leader<br /> Boards<br />Courtesy of Jeff Arenberg,<br />Our Lead Platform Engineer<br />
    45. 45. Data<br /> Analysis:<br />Spells Cast,<br /> by Location<br /> (USA only)<br />Image by GeoIQ<br />from FortiusOne<br />
    46. 46.
    47. 47. Lesson: Making the Witches’ Brew<br />
    48. 48. Lesson: Embrace the Tech Soup<br />
    49. 49. Tech Soup – Client Example<br />Calling the Android SDK from Unity<br />
    50. 50. Unity  C# <br />
    51. 51.  C++ JNI<br />
    52. 52.  Java Android SDK<br />
    53. 53. Taking the Purple Pill<br />Lessons Learned Building a Platform for Geo-Social Augmented Reality Games<br />
    54. 54. Taking the Purple Pill<br /><ul><li> AR is Different
    55. 55. Bridging Worlds</li></li></ul><li>Taking the Purple Pill<br /><ul><li>Bridging Tech Worlds
    56. 56. Choosing a Platform</li></li></ul><li>Taking the Purple Pill<br /><ul><li>Sensor based AR
    57. 57. Computer Vision based AR</li></li></ul><li>Taking the Purple Pill<br /><ul><li>Tangible Interaction
    58. 58. In-Place Augmented Reality</li></li></ul><li>Taking the Purple Pill<br /><ul><li> Geo-Social is Different
    59. 59. Paranormal Activity: Sanctuary
    60. 60. Looking Under the Hood</li></li></ul><li>Taking the Purple Pill<br /><ul><li> Data Analysis
    61. 61. Making the Witches’ Brew
    62. 62. Embrace the Tech Soup</li></li></ul><li>Q&AThank you for Taking the Purple Pill!Please return the evaluation forms.<br />Terrance Cohen<br />Vice President, Game Platforms<br />Oriel Bergig<br />Vice President, R&D<br /><ul><li>Follow me on Twitter:</li></ul> @bergig<br /><ul><li>Follow me on Twitter: @terrance_cohen</li>