This document provides instructions on how to build a basic Pokemon Go app using Back4App and Unity. It describes setting up Back4App as the backend, integrating Google Maps into the Unity project, handling location data to move a character and spawn monsters, and optimizing the movement of the player character by updating its position directly rather than relying on refreshing the Google Maps texture. The full source code and Unity project files are available online for reference.
About Us
We build simple & affordable solutions for education providers to get the most from the data they collect, allowing them to ditch paper and spreadsheets in favour of our mobile, and web tools... and much more.
This slideset was developed for the Young Rewired State Festival of Code. It shows how Processing 2.0 can be used to develop Apps to work with JSON Open Data.
Scene Graphs & Component Based Game EnginesBryan Duggan
A presentation I made at the Fermented Poly meetup in Dublin about Scene Graphs & Component Based Game Engines. Lots of examples from my own game engine BGE - where almost everything is a component. Get the code and the course notes here: https://github.com/skooter500/BGE
Introduction to Game Programming: Using C# and Unity 3D - Chapter 2 (Preview)noorcon
The reader is introduced to the Unity 3D IDE. The basic sections of the IDE are defined and explained. The reader is show how to navigate within the IDE and create GameObjects. How to perform transformations and etc… The Inspector Window is also discussed.
Mobile applications Development - Lecture 16
Geolocation
Mapping
GMaps API v3
This presentation has been developed in the context of the Mobile Applications Development course at the Computer Science Department of the University of L’Aquila (Italy).
http://www.di.univaq.it/malavolta
About Us
We build simple & affordable solutions for education providers to get the most from the data they collect, allowing them to ditch paper and spreadsheets in favour of our mobile, and web tools... and much more.
This slideset was developed for the Young Rewired State Festival of Code. It shows how Processing 2.0 can be used to develop Apps to work with JSON Open Data.
Scene Graphs & Component Based Game EnginesBryan Duggan
A presentation I made at the Fermented Poly meetup in Dublin about Scene Graphs & Component Based Game Engines. Lots of examples from my own game engine BGE - where almost everything is a component. Get the code and the course notes here: https://github.com/skooter500/BGE
Introduction to Game Programming: Using C# and Unity 3D - Chapter 2 (Preview)noorcon
The reader is introduced to the Unity 3D IDE. The basic sections of the IDE are defined and explained. The reader is show how to navigate within the IDE and create GameObjects. How to perform transformations and etc… The Inspector Window is also discussed.
Mobile applications Development - Lecture 16
Geolocation
Mapping
GMaps API v3
This presentation has been developed in the context of the Mobile Applications Development course at the Computer Science Department of the University of L’Aquila (Italy).
http://www.di.univaq.it/malavolta
Data Scenarios 2020: 6 Amazing TransformationsSafe Software
We’ll take you through the most cutting-edge scenarios our team has been working on over the last year, including applying machine learning to geospatial data, real-world use cases for immersive environments, photogrammetry, and more.
Geopaparazzi: Never Out of Data in the Field
The workshop is dedicated to professionals that needs to collect data from the field and use this information to update or create GIS data, but also to OpenStreetMappers as well as tourists that want to keep a geo-diary. Geopaparazzi is a mobile application for digital field mapping for Android devices developed to support the work of the technicians in the field offering a mapping environment with real time GPS position and a form for structured data collection. The application is easy to use, intuitive and provides just few important functionalities to be used in the field, as for example register GPS tracks and take georeferenced notes and pictures with the possibility to work also off line. The main features available in Geopaparazzi are: - taking georeferenced notes: texts, pictures, sketches and forms - logging GPS tracks - browsing and navigation of the maps and the available data - easy export of the collected data - simple preparation of custom background data. The map view shows the GPS position on the reference background data with the possibility to pan and zoom. From the map view it is possible to add and manage notes and bookmarks and measure distances. Notes and bookmarks can be added directly to the map either in the GPS position or in the center of the map. From a dedicated list view it is possible to visualize, zoom and edit each note. Background data can be personalized using available local data or on-line services with the possibility to use vector offline Mapsforge basemaps, Mbtiles offline databases, TMS (online and offline tiles) and WMS services. Geopaparazzi supports personalized complex forms with combo and check boxes, text fields (that can be constrained to number or string type), pictures (taken using the mobile internal camera) and sketches organized over multiple tabs. The workshop starts with an introduction of the application, installation and main features. Then a short section will be dedicated to the preparation of the input data: background maps and vector layers. Following these sections there is a practical testing of Geopaparazzi outdoor in the field. The last section, back in the room, is dedicated to the export of the collected data to be visualized or used in other GIS environments.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
GridMate - End to end testing is a critical piece to ensure quality and avoid...ThomasParaiso2
End to end testing is a critical piece to ensure quality and avoid regressions. In this session, we share our journey building an E2E testing pipeline for GridMate components (LWC and Aura) using Cypress, JSForce, FakerJS…
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfPeter Spielvogel
Building better applications for business users with SAP Fiori.
• What is SAP Fiori and why it matters to you
• How a better user experience drives measurable business benefits
• How to get started with SAP Fiori today
• How SAP Fiori elements accelerates application development
• How SAP Build Code includes SAP Fiori tools and other generative artificial intelligence capabilities
• How SAP Fiori paves the way for using AI in SAP apps
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
2. How to Build a Pokemon Go App
• Back4app provides Parse server service to take care of your backend and APIs
development.
• Parse also provides basic application activity APIs like Login-in, push
notification, payment…etc.
• For this demonstration, we can use Parse Geo Point Service and back4app as
our backend to build a simple Pokémon-Go.
• You can read the original publication on:
http://docs.back4app.com/docs/new-parse-app/how-to-build-a-pokemon-go-
app/
3. Part 1: Setting up Back4app Parse
on your Unity3d
• Go to https://parse.com/docs/downloads
• Download Unity Blank Project (v1.7.0)
• Download https://drive.google.com/file/d/0B7k7pGQXUypGTWRqS1BqVDB
WQUU/view?usp=sharing for updated Parse SDK for Unity3d
4. Part 1: Setting up Back4app Parse
on your Unity3d
• Open Unity3d Parse Blank Project -> Click Upgrade if required.
• Replace Asset/Parse/Parse.Unity.dll to the latest one.
• Go to Asset/Scene
5. Part 1: Setting up Back4app Parse
on your Unity3d
• The Parse Initializer GameObject will miss some scripts.
• Add ParseInitializeBehaviour to it.
6. Part 1: Setting up Back4app Parse
on your Unity3d
• Type your Application ID, dotNet Key, serverUrl to a parameter from your
Back4app dashboard.
7. Part 1: Setting up Back4app Parse
on your Unity3d
• Create a GameObject and add script component to the Scene for testing.
8. Part 1: Setting up Back4app Parse
on your Unity3d
• Add following code to TestParse.cs
9. Part 1: Setting up Back4app Parse
on your Unity3d
• using UnityEngine;
• using System.Collections;
• using Parse;
• using System.Threading.Tasks;
• public class TestParse : MonoBehavio
ur {
• // Use this for initialization
• void Start () {
• ParseObject testObj = new ParseObje
ct("TestObject");
• testObj["a"] = "HI";
• testObj["b"] = "Back4app";
• Task saveTask = testObj.SaveAsync();
• }
• // Update is called once per frame
• void Update () {
• }
• }
10. Part 1: Setting up Back4app Parse
on your Unity3d
• Press Play Button on your Unity3d Editor
• Go to Back4app database dashboard to check the success or not.
11. Part 1: Setting up Back4app Parse
on your Unity3d
• It is connected with your back4app account successfully if you find your
uploaded data in the database.
12. Part 2: Integrate Google Map
to your Unity3d Project
• To generate the terrain like Pokémon-Go, we need to integrate Google map
your Unity3d Project.
• First, create Plane and Name it as “Map”, create directional light.
13. Part 2: Integrate Google Map
to your Unity3d Project
• Second, Create a script “GoogleMap” and add to Map Game object.
14. Part 2: Integrate Google Map
to your Unity3d Project
• Second, Create a script “GoogleMap” and add to Map Game object.
• You can see the original script on:
http://docs.back4app.com/docs/new-
parse-app/how-to-build-a-pokemon-
go-app/
15. Part 2: Integrate Google Map
to your Unity3d Project
• Untick the AutoLocateCenter.
16. Part 2: Integrate Google Map
to your Unity3d Project
• Type some dummy parameter to try the Google Map.
17. Part 2: Integrate Google Map
to your Unity3d Project
• If the plane shows the correct location as your parameter, the Google map is
successfully integrated.
• You can use Refresh method to refresh the Google map to change location.
18. Part 3: Integrate Character and Interacting
with GPS Data
• Create LocationManager Gameobject and add the following code.
• This code is getting the GPS Data and updating the Google Map when GPS
data is changed.
• You can see the full code on:
http://docs.back4app.com/docs/new-
parse-app/how-to-build-a-pokemon-
go-app/
19. Part 3: Integrate Character and Interacting
with GPS Data
• Let test the Google map again.
• It is successful if the Google map change when you change the GPS Data
in Runtime.
21. Part 3: Integrate Character and Interacting
with GPS Data
• After that, create a Capsule as a character and a Cube as Direction of the
character on top of the Google Map.
• (For me, I place the character at X:0 Y:0.07 Z:0)
• Add a compass to your character when you test with your mobile device.
22. Part 3: Integrate Character and Interacting
with GPS Data
• Make sure your character is located correctly by checking Latitude and
Longitude on Google Map.
23. Part 4: Generating Monsters on Map (Part A)
• For Generating Monsters, we need to do some calculation on placing the
monster with their longitude and latitude location.
• Because the ratio between Google map, reality and Unity3d XYZ-world is
different.
• To figure out how to calculate the relationship between them, we need
dummy data.
• For more detail : how to calculate.
http://www.movable-type.co.uk/scripts/latlong.html
24. Part 4: Generating Monsters on Map (Part A)
• First of all, we need to set initial latitude and longitude on Google Map first
(You can choose where you want) and set the Markers on the Google Map.
25. Part 4: Generating Monsters on Map (Part A)
• Press Run, You will find the label on your Google map.
• PS: The reason why we cannot use the marker to be a monster because it is
combined with the texture.
• The marker itself is a part of the texture but not a Gmeobject so we cannot
do any implementation on that.
26. Part 4: Generating Monsters on Map (Part A)
• Beside that, we will make some dummy GPS data of monster on Parse server,
later on, so we need to know the corresponding ratio on the monster game
object position.
27. Part 4: Generating Monsters on Map (Part A)
• After that, we create a cube and place on top of the label.
• Record this position.
28. Part 4: Generating Monsters on Map (Part A)
• Now, we need to find the exact distance between the player GPS location and
the marker GPS location.
• The distance between start (37.38373, -122.0133) and marker (37.384782,-
122.012893) can be calculated by this script.
29. Part 4: Generating Monsters on Map (Part A)
• And then calculate the XYZ world distance between the CUBE maker and the
Player Capsule. (-0.563,0.07,-1.915) and (0,0.07,0).
• This is a simple calculation, so I don’t list how to do it.
• After that, the ratio will be found by this equation
• Ratio = XYZ world distance / Exact Distance.
30. Part 4: Generating Monsters on Map (Part A)
• Once we have this ratio, we able to calculate how far the monster should be
placed according to the Player location.
• However, the possible location still undefined because we don’t have the
bearing between the player and monster.
• To calculate the bearing.
• We can use this code. (You can see the full code on:
http://docs.back4app.com/docs/new-parse-app/how-to-build-a-pokemon-
go-app/)
31. Part 4: Generating Monsters on Map (Part A)
• After we get the ratio and bearing, it is possible to convert Longitude Latitude
location to be XYZ-world coordination, which means we can place any
monsters with latitude longitude location to correct game world location.
• With the above code, we know the correct XYZ coordination to spawn
monster.
32. Part 5: Generating Monsters on Map (Part B)
• While we are able to convert Longitude and Latitude data to the game world,
it is time now to create some dummy monster data on Back4app parse
server.
• Go to your Parse back4app dashboard and create a class call Monster.
33. Part 5: Generating Monsters on Map (Part B)
• Add a column: Location with data type Geopoint.
34. Part 5: Generating Monsters on Map (Part B)
• Insert some monster dummy row that around you.
35. Part 5: Generating Monsters on Map (Part B)
• The dummy monsters are set, they are waiting for you to call.
• Then I create a MonsterSpawn GameObject with script Spawn.
• Drop the LocationManager GameObject to it (For getting updated GPS Data)
• M prefab monster for spawning a monster.
37. Part 5: Generating Monsters on Map (Part B)
• It is time to fetch the dummy monster data from back4app to your program.
38. Part 5: Generating Monsters on Map (Part B)
• The above code gets the result one by one and converting the GeoPoint data
to be XYZ-world coordination, and then push the result to the List.
• After adding the result is fetched, spawn becomes true to allow program
spawns the monster.
• You can see the full code on:
http://docs.back4app.com/docs/new-
parse-app/how-to-build-a-pokemon-go-
app/
39. Part 5: Generating Monsters on Map (Part B)
• After the Monsters are spawned, the monsters will keep updating when the
player GPS data has updated.
• Testing. The monster is spawn at correct XYZ coordination with their Latitude
Longitude data.
40. Part 6: How to move the Player (solve google
map texture slow problem!)
• Until Part 5, the movement of the player is relied on the Google Map texture
updating. However, it is not effective to play it.
• The user experience is not good.
• To solve this problem, we “unlock” the player.
• Make player move on the map.
41. Part 6: How to move the Player (solve google
map texture slow problem!)
• The algorithm behind is similar to updating the monster.
• We apply on the capsule. compare the last GPS data and new GPS data to
calculate how should the player move in the Game world.
• As we are updating the position of the player, therefore we don’t need
monster update and google map refresh function anymore.
• What you need to do : Modify LocationMaganger.cs
42. Part 6: How to move the Player (solve google
map texture slow problem!)
43. Part 6: How to move the Player (solve google
map texture slow problem!)
• You can see the full code on:
http://docs.back4app.com/docs/new-
parse-app/how-to-build-a-pokemon-
go-app/
44. Part 6: How to move the Player (solve google
map texture slow problem!)
• Second, attach following code to you camera make your cam follow you
character ( Don’t forget to drag your capsule to inspector.
45. Part 6: How to move the Player (solve google
map texture slow problem!)
• To view source code and whole project -> Raw Unity
Project
• Issues, comments or suggestions? Let’s discuss in
our Developers Group Topic.