Categorieën
Grasshopper / Rhino3D

Grasshopper spel: DragRace met Firebase

Bij het doceren van Grasshopper is het soms leuk om een ietwat andere aanpak te nemen. Bijvoorbeeld in de vorm van een spel. DragRace gaat over het uploaden van scores naar een online database en proberen met de snelste score te winnen!

Het concept van live data uitwisseling via het web, in combinatie met geometrisch toepassingen zoals in Rhino biedt zeer veel mogelijkheden.

DragRace is een eenvoudig test met de plugin FireHopper. De plugin is al enige tijd niet in ontwikkeling maar nog altijd relevant en werkzaam met de huidige API van Firebase. Een (tot op zekere hoogte) gratis database systeem van Google.

Middels de API calls die mogelijk worden vanuit grasshopper dankzij de FireHopper plugin kan live data worden uitgewisseld in het JSON formaat.

Dit gedeelte is verwerkt in het script dat te downloaden is onderaan deze pagina. Het is in een cluster met wachtwoord geplaatst om de API key te beschermen. Je kunt uiteraard je eigen API plaatsen in dit deel van het script in de blank slate versie onderaan.

In the Firebase database is de date dan als volgt uit te lezen:

Het DragRace spel

In deze video (in het Engels) ligt Friso één en ander toe over deze opzet:

Een spel bevat enkele belangrijke elementen:

  • Een duidelijk doel
  • Verschillende moeilijkheidsgraden
  • Een competitie element

Al deze onderdelen zijn op eenvoudige wijze ingebouwd als wijze van oefening.

  • Het is mogelijk om zelf het aantal te behalen punten te kiezen en je naam in te stellen. (Step 2 in onderstaande afbeelding)
  • Het doel is het puntenaantal zo snel mogelijk te halen door de slider heen en weer te bewegen. (Step 3)
  • Zodra de waarde is behaald wordt het opgeslagen in de database in firebase.
  • Als laatste is de score te zien van jezelf en van anderen in de database. Dat is competitie element. (Step 4)
Linksboven is het spel te resetten door op de X te klikken voor een nieuwe kans.

Proof of concept

Het spel is uiteraard niet toegankelijk voor de gemiddelde gebruiker maar moet gezien worden als een oefening met het uitwisselen van data via het internet tussen verschillende spelers. In een groter project kan dit bijvoorbeeld uitwisseling van geometrische data zijn.

Download en spelen!

Download hier het script om zelf uit te proberen hoe het werkt.

Hier is een versie zonder api en database gevens om zelf je eigen database toe te voegen: