Projecten
2015

Online gaming portaal

Social game platform met developers in Nederland, Spanje, Engeland, Canada en de VS.

Angular 1.13GamesparksSilverstripePHP 5.6

Een sociaal game-platform bouwen dat speelse interactie tussen spelers wereldwijd mogelijk maakt is meer dan een leuke spelervaring leveren — het is op de achtergrond een logistieke en communicatieve operatie tussen tientallen mensen op meerdere continenten. Op dit project werkten developers in Nederland, Spanje, Engeland, Canada en Amerika tegelijk aan dezelfde doelen.

Mijn rol binnen dat team was gericht op het bouwen van de front-end SPA van het platform — de plek waar spelers binnenkomen, accounts beheren, vrienden vinden, games starten en hun voortgang en achievements bekijken. Die SPA moest naadloos integreren met externe partijen uit alle bovengenoemde landen, met andere tijdzones, andere werkstijlen en soms ook andere prioriteiten.

Technisch werkten we met Angular 1.13, met PHP 5.6 op Silverstripe als één van de back-ends en GameSparks als gespecialiseerde laag voor speldata, leaderboards en multiplayer-aspecten. Dat klinkt vandaag de dag misschien als een eclectische stack, maar in 2015 was dit een goed onderbouwde combinatie voor wat we wilden bereiken.

Een van de grootste leerlessen was het belang van zeer duidelijke contracten tussen de teams. Wanneer drie partijen tegelijk werken aan code die op één scherm samenkomt, is een vage API-afspraak een tikkende tijdbom. We hebben veel tijd geïnvesteerd in het scherp maken van die contracten — formaten, foutscenario's, versies, deprecatieafspraken — en in tools om ze te valideren.

Daarnaast was de tooling rondom asynchrone samenwerking belangrijker dan de technologie zelf. Heldere pull requests, kleine en goed beschreven commits, en gezamenlijke afspraken over wanneer iets 'klaar' is, scheelden uren reactietijd. In een project waarin een vraag aan de andere kant van de wereld pas de volgende dag wordt beantwoord is duidelijkheid geld waard.

Een complex en uitdagend project, en een internationale samenwerking om met genoegen op terug te kijken. Voor mij was dit het traject waarin ik echt heb leren werken in een gedistribueerd team — een vaardigheid die ik in elk volgend project ben blijven gebruiken.

Meer werk

Andere projecten