Terug

De geschiedenis van Whisthub

Als u dit leest, weet u waarschijnlijk al dat Whisthub een website is waar u online kaartspellen zoals kleurenwiezen, manillen en hartenjagen kan spelen met vrienden, andere spelers, of tegen computerspelers. De website werd officieel gelanceerd in december 2019 als een plek om online kleurenwiezen te spelen, maar de geschiedenis ervan gaat eigenlijk veel verder terug. In deze blogpost wil ik een overzicht geven van hoe de website geworden is wat ze nu is. Hou u vast!

2010: Het idee

Ik heb leren kaarten in 2010, op mijn zeventiende, in het laatste jaar van het middelbaar. Elke dag speelden tijdens de middagpauze een paar spelletjes kleurenwiezen, en tijdens de schoolreis naar Italië hebben we echt uren en uren gespeeld in de bus. De scores die ik toen bijhield in Excel-bestanden heb ik trouwens nog steeds.

De resultaten van een partijtje kleurenwiezen gespeeld op 1 april 2010
De resultaten van een partijtje kleurenwiezen gespeeld op 1 april 2010

Jammer genoeg was ik van plan om aan een andere universiteit te gaan studeren dan de meeste van mijn vrienden, en dus dreigden al die kaarturen verloren te gaan. Omdat ik toen al wat ervaring had met programmeren in PHP, opperde mijn goede vriend William bij wijze van grap dat ik toch een website kon maken waarop we konden blijven spelen. Zo'n slecht idee is dat eigenlijk niet, dacht ik toen.

2011: De eerste prototypes

Tijdens mijn eerste jaar aan de UGent werkte ik aan een eerste prototype. Het was niet echt de bedoeling dat dit iets groots zou worden, ik wilde gewoon een project waarmee ik beter kon leren programmeren, en kaartspellen zijn daar eigenlijk perfecte projectjes voor. Ze zijn niet al te complex, maar toch kom je in contact met alle facetten van programmeren: je moet de logica van het spel schrijven, een gebruiksvriendelijke interface, en dan nog de servercode die alles bij elkaar houdt en het mogelijk maakt om samen met meerdere spelers te spelen. Als u ooit wil beginnen met programmeren, of specifiek web development, raad ik sterk aan om een versie van uw favoriete kaartspel te programmeren!

Op de universiteit maakte ik ook een aantal nieuwe vrienden waarmee ik kon kaarten. Als student had ik tijd genoeg, en er waren dan ook meerdere nachten waarop we bijna tot 's ochtends vroeg speelden. Meestal speelden we kleurenwiezen, maar als we maar met z'n drieën waren, speelden we hartenjagen met drie spelers. Dat is een versie waarbij 2 uit het spel gehaald wordt, waarna iedereen 17 kaarten krijgt. Ironisch genoeg is die versie niet beschikbaar op Whisthub. 😅 Het was wel mijn eerste kennismaking met hartenjagen.

Na twee jaar had ik een versie die min of meer werkte. De code zag er niet uit en bestond hoofdzakelijk uit een hoop PHP-spaghetticode, maar ze werkte. Meer dan dat is het echter nooit geworden: gewoon iets waar ik plezier aan had beleefd om te ontwikkelen, maar niet bedoeld voor een breed publiek. Het leverde me in de zomer van 2012 wel een goedbetaalde studentenjob op!

Ik ben de oude code gaan zoeken, heb deze gevonden, en tot mijn grote verbazing en vreugde kreeg ik ze weer aan de praat! Hieronder ziet u dus hoe het eerste prototype van Whisthub er destijds uitzag. Zoals u kan zien, zijn een heleboel kernprincipes ongewijzigd gebleven! Zo is de lijst met mogelijke biedingen bijvoorbeeld geen platte lijst, maar een lijst met sublijsten, zodat biedingen van hetzelfde type gegroepeerd worden - net zoals dat vandaag nog steeds het geval is.

Foto van het eerste prototype
Het eerste prototype van wat toen nog "W" heette

2015: De oorsprong van de naam Whisthub

In 2015 studeerde ik af aan de UGent. Hoewel mijn opleiding burgerlijk ingenieur bouwkunde was en dus niet informatica, was mijn thesis eigenlijk een combinatie van beide: ik schreef een rekenprogramma voor staal-betonliggers. Ik heb veel plezier beleefd aan het ontwikkelen van dat programma, maar na mijn afstuderen viel ik in een zwart gat, en daarom pikte ik het kaartspelproject - dat toen nog gewoon "W" heette - weer op.

Door de jaren heen was mijn favoriete programmeertaal veranderd van PHP naar JavaScript, dus besloot ik van nul te herbeginnen, maar deze keer in JavaScript. Met de opkomst van node.js in 2011 kon ik JavaScript ook op de server gebruiken, wat het veel makkelijker maakte om code te hergebruiken tussen client en server. Tot op vandaag is Whisthub nog steeds volledig in JavaScript geschreven.

Dit is ook de periode waarin ik op de naam Whisthub kwam. Tijdens mijn studies leerde ik GitHub kennen, een platform voor softwareontwikkeling en versiebeheer. Ik ben zo'n fan van die website dat de naam Whisthub er een verwijzing naar is. GitHub speelt trouwens nog steeds een fundamentele rol in de ontwikkeling van Whisthub, aangezien de code er wordt gehost en alle bugs en andere issues er getrackt worden.

Naast de naam was er nog een ander verschil met het eerste prototype: deze keer was het echt mijn bedoeling om de website ook voor het grote publiek te lanceren. Ik had mijn eerste job en verdiende mijn eigen geld, dus registreerde ik het domein www.whisthub.com. Ik wist echter dat er meteen na de lancering onvoldoende spelers zouden zijn om snel een tafel van vier te vullen. Ik besefte dat het toevoegen van een AI absoluut noodzakelijk zou zijn.

Nadat ik een basisversie in JavaScript aan de praat gekregen had, waagde ik me aan de gigantische taak om een AI te schrijven voor kleurenwiezen. Ik had daar absoluut geen ervaring mee, dus het was een behoorlijke gok. Ik probeerde een aanpak met Monte Carlo-simulaties in combinatie met exacte kansberekeningen, maar eerlijk gezegd wist ik niet goed waar ik mee bezig was, en het leidde nergens naartoe. Uiteindelijk kwam ik vast te zitten en raakte ik zo gefrustreerd met de AI dat ik mijn interesse in het project verloor.

Schermafbeelding van de eerste versie van Whisthub in 2016

2019: De lancering, eindelijk

In de zomer van 2019 groeide mijn interesse in Whisthub opnieuw. Ik had gehoord over een nieuw client-side framework genaamd Vue.js en wilde het graag eens uitproberen. Zoals ik al eerder zei, is een kaartspel een ideaal project om nieuwe dingen mee uit te proberen, dus dat was opnieuw wat ik deed.

Dankzij Vue.js werd het zo eenvoudig om aan de interface te werken dat ik al snel de volledige interface ernaar had overgezet. Nu kon ik me weer richten op wat nog steeds roet in het eten gooide: de AI.

Met de vorige ervaring met de AI in het achterhoofd wist ik dat ik deze keer pragmatisch te werk moest gaan om niet weer in hetzelfde moeras te verzeilen. Al snel had ik een belangrijke doorbraak met de AI - iets wat buiten het bestek van deze post valt, maar waar ik in de toekomst misschien nog over schrijf - en begon ik ze te testen met wat vrienden. De resultaten waren erg veelbelovend!

Nu de AI achter de rug was, voegde ik een gebruikersaccountsysteem toe en ontwierp ik de algemene lay-out van de website, die sindsdien grotendeels ongewijzigd is gebleven: u kan meteen een singleplayer-partij tegen de AI starten, en door naar beneden te scrollen komt u in de lobby terecht, waar u nieuwe tafels kan aanmaken, bij bestaande tafels kan aansluiten, of lopende partijen kan bekijken. En zo beschouwde ik Whisthub in december 2019 als officieel gelanceerd!

2020: De pandemie

Tijdens de eerste weken van 2020 groeide het aantal gebruikers erg langzaam. Zoals ik al vermoedde, was het erg moeilijk om vier spelers te vinden. Vaak kwam het er op neer dat ik samen met Philip, een van de allereerste gebruikers, tegen twee AI-spelers speelde, nadat we een half uur gewacht hadden en er niemand bij onze tafel was aangesloten. Ik zal nooit de pure opwinding vergeten toen ik voor het eerst een tafel met vier spelers zag.

Maar toen veranderde alles. In maart 2020 sloeg de coronapandemie toe en moesten mensen plots thuisblijven. Het duurde niet lang voor Whisthub overspoeld werd door duizenden spelers die op zoek waren naar wat plezier en afleiding om hun avond te vullen.

Meer dan 408 speeltafels
1 mei 2020: meer dan 408 speeltafels!

Uiteraard had ik dit nooit zien aankomen, en de website was daar absoluut niet op voorbereid. Tijdens de eerste weken van de pandemie heb ik onder immense druk en stress - vaak tot diep in de nacht - hard geprogrammeerd om de servercrashes te verhelpen en functionaliteit toe te voegen om al die spelers aan te kunnen. Zo werkte ik bijvoorbeeld tot diep in de nacht tijdens de eerste dagen van de pandemie aan de mogelijkheid om uw tafel met een wachtwoord te beveiligen. Het is ook in deze periode dat ik het reputatiesysteem ontwikkelde, dat vandaag nog steeds een fundamenteel concept is op Whisthub.

Het was een stressvolle periode, maar uiteraard ook heel opwindend. Whisthub kwam plots in het nieuws op tv, radio en in de kranten, als een manier voor mensen om hun vrijgekomen tijd tijdens de pandemie in te vullen. Wie had ooit gedacht dat dit ietwat onnozele kaartspelprojectje op een dag duizenden mensen zou helpen om in contact te blijven en plezier te maken tijdens een van de meest absurde periodes uit de recente geschiedenis. Het was echt iets speciaals.

Het onstaan van een bedrijf

Vóór 2020 was de website gewoon een hobbyproject om te leren en te experimenteren. Tijdens de pandemie kreeg ik echter veel e-mails van mensen die me bedankten om dit online te zetten, en die vroegen hoe ze Whisthub konden steunen. Ik had eigenlijk nooit echt nagedacht over manieren om geld te verdienen aan Whisthub, maar het was duidelijk dat het kon. Er waren uiteraard kosten die ik moest dekken, maar aangezien ik al 10 jaar met Whisthub bezig was, hoopte ik ook dat ik er ooit mijn brood mee zou kunnen verdienen.

Ik besefte echter dat het een lange weg zou worden, zeker omdat ik geen advertenties op de website wilde plaatsen. Eerlijk is eerlijk: iedereen haat reclame, maar het is vaak wel de makkelijkste manier om een website geld te laten opbrengen. Toch wilde ik geen reclame toelaten, want het voelde ietwat aan alsof ik mijn eigen kind zou prostitueren. Daarom besloot ik dat een freemiummodel de oplossing was: de website gratis houden voor occasionele spelers - iets wat zeker tijdens de pandemie erg belangrijk was! - en extra functionaliteiten aanbieden voor een kleine bijdrage, in de volksmond Whisthub premium genoemd.

En zo werd op 6 mei Whisthub BV officieel opgericht, waarna ik al snel de premiumabonnementen lanceerde. De functionaliteit binnen het premium abonnement was in het begin, toegegeven, vrij beperkt. U kon het uiterlijk van uw kaarten aanpassen, de regels van een tafel wijzigen en de toegang tot een tafel beperken tot premiumspelers, maar dat was het zo'n beetje. De meeste van de eerste abonnees deden dat dan ook vooral uit sympathie en om de verdere ontwikkeling van Whisthub te steunen.

Dat veranderde helemaal in december 2020 met de lancering van tornooien. Het eerste tornooi, de Whistcup, was een enorm succes: 128 spelers streden om de titel in de dagen tussen Kerstmis en Nieuwjaar. Het voelde zo goed om het beruchte jaar 2020 op deze manier te kunnen afsluiten.

2021: Uitbreiden

Eén constante tijdens de pandemie was het aantal e-mails dat ik kreeg. Mensen waren dankbaar dat Whisthub bestond, maar op dat moment kon je enkel kleurenwiezen, en het bleek dat er nog heel wat andere kaartspellen waren die mensen graag toegevoegd zouden zien.

"Waarom ook niet?" dacht ik toen. Ik had immers al een solide basis, die het - in theorie - makkelijker zou moeten maken om ook andere kaartspellen toe te voegen. Ik dacht meteen aan manillen, een spel dat razend populair is in West-Vlaanderen en waarover ik al meerdere keren was aangesproken. En zo werd manillen op 23 maart 2021 officieel gelanceerd op Whisthub, min of meer een jaar nadat deze hele pandemie was begonnen.

Aanvankelijk kende het echter niet veel succes. Er waren wel wat spelers, maar de echte doorbraak kwam er pas nadat de website manillen.online, die een groot gebruikersbestand had, in april 2021 ophield te bestaan. Ik vermoed dat de maker die website al een tijdje wilde stopzetten, maar dat niet deed omdat het de enige optie was totdat manillen aan Whisthub werd toegevoegd. Ze raadden hun spelers zelfs aan om naar Whisthub te verhuizen, iets waar ik hen eeuwig dankbaar voor zal zijn.

Nadat manillen aan Whisthub was toegevoegd, richtte ik me op het toevoegen van wiezen. Aangezien dit in essentie een eenvoudigere versie van kleurenwiezen is, kon ik bijna alle spellogica hergebruiken, vooral die van de AI, en het werd officieel gelanceerd in september 2021.

De lancering werd echter overschaduwd door enorme serverproblemen tijdens die periode. Ik heb toen uren en uren gewerkt om ze op te lossen - opnieuw tot diep in de nacht - maar het leidde uiteindelijk wel tot een grote verbetering van hoe Whisthub achter de schermen werkt, iets wat toch vroeg of laat had moeten gebeuren.

Foto van de serverproblemen
Serverproblemen op Whisthub, 18 september 2021

2022: Kingen en Hartenjagen

Een ander spel dat vaak aangevraagd is geweest, was kingen, en dan vooral de variant dubbelkingen, waarbij iedereen drie negatieve spelletjes en twee troefspelletjes kiest. Ik implementeerde de spellogica er vrij snel voor, maar de echte uitdaging zou de AI blijken te zijn. Dat komt omdat kingen eigenlijk bestaat uit 7 verschillende spelletjes, wat betekende dat ik eigenlijk een AI voor 7 verschillende spelletjes moest schrijven. Auw!

Gelukkig kwam ik in januari 2022 in contact met iemand die veel ervaring had met kingen. Hij leerde me eigenlijk hoe het spel gespeeld wordt, en was van onschatbare waarde bij de ontwikkeling van de AI. Het is grotendeels aan hem te danken dat kingen beschikbaar is op Whisthub.

Hoe dan ook, nu kleurenwiezen, manillen, wiezen en kingen allemaal beschikbaar waren op Whisthub, had ik zo goed als alle populaire kaartspellen in België aan bod laten komen.

De volgende stap voor Whisthub was, vond ik, om een internationaal publiek aan te trekken. Het probleem is dat ik niet zomaar een kaartspel kon toevoegen dat ergens populair is, aangezien het vanuit het niets opbouwen van een gebruikersbestand een uiterst traag proces is, zoals in het verleden al gebleken was. Het is een vicieuze cirkel: als je niet genoeg gebruikers hebt, komen mensen die de site ontdekken niet terug, waardoor er nog minder gebruikers overblijven.

Daarom besloot ik dat het volgende kaartspel op Whisthub hartenjagen zou worden. De redenering hierachter was dat het wereldwijd een populair kaartspel is, maar ook in België vrij bekend is, omdat het vroeger standaard bij Windows zat. Zo kon mijn bestaande gebruikersbestand dienen als hefboom om ook een internationaal publiek aan te trekken.

En zo werd hartenjagen op 6 december 2022 officieel gelanceerd op Whisthub. Opnieuw kreeg ik enorme hulp van dezelfde persoon die me met kingen geholpen had, die ook vrijwillig hielp om de AI van hartenjagen te verbeteren. De eerste AI was grotendeels gebaseerd op die van het "geen harten"-spelletje van kingen, maar die spellen verschillen in werkelijkheid zo sterk van elkaar dat het veel te makkelijk was om tegen de AI alle strafpunten binnen te halen. Dankzij die hulp speelt de AI van hartenjagen volgens mij nu voldoende goed om er een leuke tegenstander van te maken.

2023: De toekomst

Het belangrijkste doel van 2023 was om met hartenjagen een internationaal publiek aan te trekken, maar helaas gaat dat trager dan ik had gehoopt. Toch zijn er heel wat verbeteringen aan de website doorgevoerd - zowel zichtbare als onzichtbare. Eén van de grote doelen blijft het toevoegen van een vriendensysteem. Dat is iets wat ik al lang wil, maar waarbij ik nog goed moet nadenken over hoe het precies moet werken. Het komt er in de toekomst zeker aan.

Uiteraard staat het toevoegen van nog meer kaartspellen ook nog op de planning. Ik heb nog niet beslist wat het volgende spel wordt, maar belote lijkt een sterke kandidaat, aangezien het al meermaals aangevraagd is. De grootste moeilijkheid zal hier - opnieuw - de implementatie van de AI zijn, wat vooral lastig is als je het spel zelf niet echt kent!

Hoe dan ook, als ik terugkijk op waar Whisthub vandaan komt, is het tot nu toe een geweldig avontuur geweest. Als iemand me 10 jaar geleden had verteld dat Whisthub ooit 5 kaartspellen zou aanbieden en duizenden actieve gebruikers zou hebben, had ik het nooit geloofd. Sinds september 2023 werk ik eindelijk deeltijds aan de website, maar de website laten groeien is de enige manier om ooit mijn droom te verwezenlijken om er voltijds mee bezig te zijn. Nogmaals, ik wil geen advertenties op de website plaatsen, dus u kan me altijd helpen door een premium abonnement te nemen. Als u er al één heeft, ben ik u eeuwig dankbaar. Bedankt!

Wel, ik hoop dat u het tot hier heeft volgehouden en dat mijn verhaal over de geschiedenis van wat ik alleen maar kan omschrijven als mijn kindje niet al te saai was. Tijd om terug aan het werk te gaan en Whisthub nog beter te maken!