Galaxia Haven, a SpaceTraders API story.

Erwin
augustus 2023
4 Minuten

Als ik een bucketlist had, zou het maken van mijn eigen game er zeker op staan. Het idee om een eigen spel te creëren, vol avontuur en spanning, heeft me altijd gefascineerd. Ik wist dat het ontwikkelen van een game veel expertise en tijd zou vergen, maar ik was vastbesloten om mijn droom waar te maken. Gelukkig ontdekte ik de SpaceTraders API, een krachtige tool waarmee ik mijn eigen game kon realiseren. In deze blog neem ik je mee op mijn reis om mijn droom waar te maken en leg ik uit hoe Bram en ik de SpaceTraders API hebben gebruikt om ons spel tot leven te brengen.

Het concept van Galaxia Haven

Galaxia Haven is een intergalactisch avontuur dat zich afspeelt in een uitgestrekt universum vol onbekende planeten en waardevolle hulpbronnen. Als speler navigeer je met je eigen ruimteschip, handel je in goederen en neem je deel aan spannende ruimtegevechten. Het doel? De kosmos veroveren en de ultieme ruimtehandelaar worden.

De keuze voor de SpaceTraders API

Het ontwikkelen van een game is geen gemakkelijke taak. Gelukkig ontdekten we de SpaceTraders API, een krachtige tool waarmee we onze visie konden realiseren. Deze API stelt ons in staat om met elke programmeertaal een uitwerking te maken van ons spacegame-concept. Of we nu een grafische interface of een command-line-interface wilden creëren, de SpaceTraders API bood ons de flexibiliteit om beide te realiseren. Door het gebruik van HTTP-requests konden we eenvoudig data ophalen en versturen naar de API-endpoints van SpaceTraders.

Het gebruik van de SpaceTraders API

Om onze game tot leven te brengen, kozen we ervoor om React in combinatie met styled-components te gebruiken. React is een JavaScript-framework dat de ontwikkeling van onze applicatie vereenvoudigt en zorgt voor een vloeiende gebruikerservaring. Styled-components maakt het mogelijk om componenten op een eenvoudige manier te hergebruiken, wat resulteert in een uniforme en gebruiksvriendelijke game-ervaring.

Hoe werkt de SpaceTraders API?

De SpaceTraders API is een RESTful API die gebruikmaakt van HTTP-requests om data op te halen en te versturen. Bijvoorbeeld, wanneer jouw ruimteschip, genaamd SpaceShip-1, naar planeet X1-NC37-18020A vliegt, maak je een HTTP-request naar het API-endpoint: https://api.spacetraders.io/v2/my/ships/spaceship-1/navigate. Op deze manier communiceer je met de API en geef je de gewenste actie aan, in dit geval het navigeren naar de genoemde planeet.

Om verschillende acties uit te voeren, zoals het minen van resources in een asteroid field, moet je ervoor zorgen dat je ruimteschip de juiste status heeft, bijvoorbeeld IN_ORBIT. Om dit te bereiken, stuur je een HTTP-request naar het API-endpoint: https://api.spacetraders.io/v2/my/ships/spaceship-1/orbit. Vervolgens accepteert de server de HTTP-request en kun je de resources extraheren met behulp van de volgende request: https://api.spacetraders.io/v2/my/ships/spaceship-1/extract. Door een token (willekeurige reeks aan karakters) mee te sturen met de HTTP-request, kun je verifiëren dat jij geautoriseerd bent om acties uit te voeren met jouw ruimteschip.

LocalStorage en optimalisatie

Om de snelheid van ons spel te verbeteren en het aantal HTTP-requests te beperken, maken we gebruik van localStorage. Hiermee kunnen we data opslaan op de browser van de gebruiker, zodat we niet telkens een aanvraag hoeven te doen naar de SpaceTraders API om informatie over het ruimteschip op te halen. Dit zorgt voor een vloeiendere gameplay-ervaring en vermindert de belasting van de server. Daarnaast maken we gebruik van Web Workers om automatisering mogelijk te maken zonder tussenkomst van de gebruiker.

Conclusie

De SpaceTraders API heeft ons in staat gesteld om onze droom van het maken van een eigen game werkelijkheid te maken. Met behulp van HTTP-requests en de flexibiliteit van de API hebben we Galaxia Haven gecreëerd, een spannende en meeslepende spacegame. Het leerproces en de mogelijkheden van de SpaceTraders API hebben ons geïnspireerd en laten zien wat er mogelijk is met het gebruik van een krachtige tool als deze. Ben je ook geïntrigeerd om je eigen game te maken? Probeer dan zeker de SpaceTraders API en laat je creativiteit de vrije loop gaan!

Wil je het zelf spelen? Probeer Galaxia Haven (alleen desktop).