All Projects → BrianPeek → Scavenger

BrianPeek / Scavenger

Licence: MIT license
A virtual "scavenger hunt" game for mobile devices using Unity, Azure, and PlayFab

Programming Languages

C#
18002 projects
ShaderLab
938 projects

Projects that are alternatives of or similar to Scavenger

Cadscenario personalisation
This is a end to end Personalisation business scenario
Stars: ✭ 10 (-47.37%)
Mutual labels:  azure-functions, cognitive-services
jlik.me
URL Shortener project.
Stars: ✭ 31 (+63.16%)
Mutual labels:  azure-functions, cosmos-db
CADLab Loyalty
This is a end to end Loyalty business scenario
Stars: ✭ 21 (+10.53%)
Mutual labels:  azure-functions, cognitive-services
AI-on-Microsoft-Azure
Microsoft buduje i tworzy Polską Dolinę Cyfrową. W ramach tej inicjatywy podjęliśmy się wyzwania zbudowania chmurowych kompetencji wśród 150tys osób w Polsce. Jednym z elementów tej inicjatywy jest dedykowany kurs na studiach inzynierskich i magisterskich na Politechnice Warszawskiej poświęcony chmurze obliczeniowej oraz sztucznej inteligencji.
Stars: ✭ 11 (-42.11%)
Mutual labels:  azure-functions, cognitive-services
memealyzer
Memealyzer is an app built to demonstrate some the latest and greatest Azure tech to dev, debug, and deploy microservice applications.
Stars: ✭ 97 (+410.53%)
Mutual labels:  azure-functions, cosmos-db
Azure For Developers Workshop
The Azure cloud is huge and the vast service catalog may appear daunting at first, but it doesn’t have to be!
Stars: ✭ 38 (+100%)
Mutual labels:  azure-functions, cognitive-services
cosmosdb-materialized-views
A full sample that shows how to implement real-time updated Materalized Views with CosmosDB, Change Feed and Azure Functions
Stars: ✭ 20 (+5.26%)
Mutual labels:  azure-functions, cosmos-db
clean-architecture-azure-cosmos-db
A starting point to build a web API to work with Azure Cosmos DB using .NET 5 and Azure Cosmos DB .NET SDK V3, based on Clean Architecture and repository design pattern. Partition key is also implemented through the repository pattern.
Stars: ✭ 277 (+1357.89%)
Mutual labels:  azure-functions, cosmos-db
TextMood
A Xamarin + IoT + Azure sample that detects the sentiment of incoming text messages, performs sentiment analysis on the text, and changes the color of a Philips Hue lightbulb
Stars: ✭ 52 (+173.68%)
Mutual labels:  azure-functions, cognitive-services
azure-event-driven-data-pipeline
Building event-driven data ingestion pipelines in Azure
Stars: ✭ 13 (-31.58%)
Mutual labels:  azure-functions, cosmos-db
AzureContainerInstancesManagement
Hosting game servers at scale using Azure Container Instances, using Azure Functions and Event Grid. Demo with OpenArena game server!
Stars: ✭ 41 (+115.79%)
Mutual labels:  azure-functions
Fritz.HatCollection
A static website that displays a collection of Fritz's Hats
Stars: ✭ 21 (+10.53%)
Mutual labels:  azure-functions
web-speech-cognitive-services
Polyfill Web Speech API with Cognitive Services Bing Speech for both speech-to-text and text-to-speech service.
Stars: ✭ 35 (+84.21%)
Mutual labels:  cognitive-services
azure-functions-ts-essentials
Essential interfaces and tools for backend development on Azure Functions with TypeScript
Stars: ✭ 21 (+10.53%)
Mutual labels:  azure-functions
Xamarin.InAppPurchasing
Sample project for secure in-app purchases with Xamarin for iOS and Google Play
Stars: ✭ 26 (+36.84%)
Mutual labels:  azure-functions
multicloud
The serverless @multicloud library provides an easy way to write your serverless handlers 1 time and deploy them to multiple cloud providers include Azure & AWS.
Stars: ✭ 79 (+315.79%)
Mutual labels:  azure-functions
LuaSdk
PlayFab Lua SDK for LuaDist command-line, Defold, and more
Stars: ✭ 38 (+100%)
Mutual labels:  playfab
hashflags-function
⚡ A collection of Azure functions related to Twitter hashflags
Stars: ✭ 15 (-21.05%)
Mutual labels:  azure-functions
room-glimpse
Read what your Raspberry Pi sees (picamera + Azure Cognitive / IoT)
Stars: ✭ 15 (-21.05%)
Mutual labels:  cognitive-services
azure-functions-language-worker-protobuf
Protobuf definitions for the gRPC connections between the script host and the language workers
Stars: ✭ 27 (+42.11%)
Mutual labels:  azure-functions

Software License PRs Welcome unofficial Google Analytics for GitHub

Scavenger

Scavenger is a game written in Unity for a session presented at Microsoft Build 2018. The game demonstrates usage of various Azure services:

The game plays as follows:

  • Player opens the game on their mobile device
  • If the player hasn't logged in previously, they will be asked to create a new name to identify themselves for the leaderboard
  • At this point, the player can view the current leaderboard or start playing
  • If the player starts the game, they are presented with 5 ordinary (or not!) items to take a picture of
  • The player selects an item, and then snaps a photo
  • The Computer Vision Cognitive Service is triggered to recognize the object in the photo
  • If the object is found in the picture, a point is awarded!
  • Once all 5 objects are "found", the player has completed the day's challenge, and five new objects will be available the next day

PlayFab

Before deploying, you will need to register for a free PlayFab account. Once you do that, you need to create a new 'Studio' and a new 'Title', check as described here. This will generate some credentials (a PlayFab Title ID and Key) which you will need to use when you deploy the game infrastructure. PlayFab is used to authenticate and identify the user as well as to store the leaderboards for the players participating in this game.

Deployment

One-click deployment via an Azure ARM template is supported. Just click the button below to deploy the project to your Azure subscription using an Azure Functions Consumption Plan.

The deployment will take some time to execute (due to resource creation and time to pull code from GitHub), so please be patient.

Be aware that App name, Storage account name and Cosmos DB database name must all be globally unique, otherwise, the deployment will fail to complete and you will see an error message in the Azure portal. In this case, you should delete the created Resource Group and try again.

Running the Functions locally

You can use Visual Studio 2017: Open the Server.sln file located in the src\Server directory. For more details, check here, you may also need to update Azure Functions tools.

Most importantly, in order for the Functions Proxy to work, you should modify the backendUri setting in the Proxies.json file, replacing the port 80 with 7071 (the local development port of Functions runtime).

Running the game

The game requires Unity 2018.2 to build and run, however earlier or later versions MAY work. Once you have it installed, open the src/Unity folder which contains the game code. If you want to test the project in the Editor, you should be running the Functions project locally (check previous paragraph for details). Feel free to modify this behavior in the Globals.cs file.

When you open the game in Unity, the PlayFab SDK is already installed. You should configure it to access your PlayFab data (Studio etc.) by navigating to the Window > PlayFab > Editor Extensions menu item. This will open a small window where you sign in with your PlayFab account. After that, you need to configure the game to work with your PlayFab game by modifying the values in the PlayFab Editor Extensions window. If the PlayFab sign in worked, you'll be able to easily select your Studio and Title.

To run the game in the Editor, select the Title scene in the Scenes folder and run the project. You can press "Start" to begin the game or "Leaderboards" where you can see the current leaderboard. For best display, ensure you have set the editor to a Portrait display instead of Landscape (9:16 or 10:16 work best).

Presentations

Learn more about the game and Azure integration from our session at Build 2018: video

Credits/Special Thanks

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].