Ægte chat

Hejsa kære pludr spillere.

Her er en kort status opdatering for udviklingen af den nye version.

Jeg sidder lige nu og leger med chat-systemet til den nye version, og denne gang vil jeg benytte mig af “ægte” chat..

I den gamle version fungerede chat-systemet ved at chatten opdaterede sig selv engang hver 10 sekund, for at vise de nye beskedder der måtte være kommet.
Dette medførte at for hver online spiller, steg antallet af forespørgsler med 6 gange i minuttet, hvilket har været en af de helt store syndere hvad angår performance.

I det nye spil vil serveren automatisk sende nye chat-beskedder ud til alle online spillere, uden at de behøver at opdatere siden.
Dette fungerer ved at der ligger en lille flash-animation skjult på siden, som holder forbindelse til serveren, og lader den kommunikere selvom siden er loadet.
Derfor vil det nye spil derfor også kræve, at man har flash installeret for at kunne benytte chatten.

Derfor bør alle allerede nu smutte forbi http://get.adobe.com/flashplayer/ hvis de ikke allerede har det installeret.

Optimeringer

En god ting ved at starte på en frisk er, at man får mulighed for at genoverveje ting, og optimere dem.

Jeg har således brugt de sidste par dage på at designe algoritmen for generering af nye spil.
Mere specifikt, den måde hvorpå computeren finder ud af hvilke ord der findes i et spil.

Genereringen af nye spil fungerer på den måde, at serveren opretter en liste af 25 bogstaver, som vælges efter vægtet tilfældighed, der er således større chance for at et A vælges, end et Q.
Dette går lynhurtigt, og her er der ingen brug for optimeringer. Men næste skridt har været lidt af en akilles-hæl i pludr’s historie. For når bogstaverne er valgt, er det tid til at finde alle de ord som kan dannes ud fra bogstaverne…

Det skulle umiddelbart ikke lyde så svært, men computere er desværre endnu ikke kloge nok til at kunne se på en plade med 25 bogstaver og finde ord ud af den blå luft.
Den er nødt til at gå systematisk til værks, og det gør den ved at bruge rekursion.

Serveren kan altså ikke kigge på bogstaverne og finde ordene, den er nødt til at kigge på ordene og finde bogstaverne, ved at starte fra ét bogstav og langsomt bevæge sig videre til de omkringliggende bogstaver for at se om de matcher, indtil den har matches alle bogstaver i ordet.
Og med over 160.000 ord i databasen, så er dette noget der kan tage lang lang tid, hvilket det da også altid har gjort.

Men så er det jo godt, at man kan optimere. For hvor serveren i gamle dage skulle traversere samtlige ord i databasen, har jeg nu optimeret dette til, at den med lidt sort magi kan hoppe over godt 80% af ordene.

Genereringen af nye spil var nu nede på gennemsnitlig 2 minutter i stedet for op til 10 minutter som hidtil.
Godt! Men ikke godt nok!

I det gamle spil benyttede serveren sig af en simpel liste af bogstaver som den ud fra lidt matematisk trylleri kunne benytte som en plade som kunne traverseres ud fra 2 koordinater, så den således kunne finde nabo bogstaverne.
Jeg besluttede mig for at skrotte denne metode, og designede i stedet for min egen data-struktur som benytter hash til hurtigt at kunne finde et bogstav, og et omkringliggende bogstav.
Her taler jeg selvfølgelig ikke om den hash som nogle ville kalde for fjolletobak, men derimod om en datastruktur i computer programmering, som tillader hurtig tilgang af værdier ud fra en nøgle, hvilket i dette tilfælde er et bogstav.

Nu er genereringen af spil nede på omkring 10 sekunder, hvilket jeg synes er ganske godt!

Dette var måske en smule teknisk, men jeg vil blot illustrere, at der sker noget bag kulisserne, og at det hele stille og roligt skrider frem.

Donationer

Jeg vil først og fremmest gerne takke jer alle, for alle de mange positive kommentarer, som vi indtil videre har modtaget.

I blandt nogle af kommentarerne kan jeg se, at der er stemning for fortsat at donere til Pludr, imens udviklingen af det nye spil er i gang.
Vi er selvfølgelig stadig glade for alle de donationer, som folk har lyst til at støtte os med, og vi bringer derfor for en god ordens skyld, vores konto-nummer.

Danske Bank
Reg. nr.: 3954
Konto nr.: 4467226584

Vi arbejder på noget nyt

Kære pludr spillere.

Som nogle nok har bemærket, så har spillet ikke kørt så stabilt på det seneste, og da det ikke har været muligt for os, at få spillet på helt rette køl igen, har vi valgt at lukke det midlertidigt…

Men gå nu ikke helt i panik, for vi arbejder på den nye og forbedrede version af pludr.

Vi har valgt at lukke spillet, da vi ikke synes at det er fair for alle jer som har doneret, at pengene går til servere som ikke fungerer ordentligt. Vi vil derfor gemme de penge, som indtil videre er samlet ind, og bruge dem på nye servere til det nye pludr i stedet.

Vi kan desværre ikke sige noget om hvornår spillet åbner igen, men vi sender selvfølgelig en mail ud til alle spillere når det gør.

Indtil da vil jeg skrive nogle opdateringer her på siden efterhånden som udviklingen af det nye spil skrider frem.

Vi beklager de gener og abstinenser som dette måtte medfører, men håber på at se jer i det nye spil!
På snarligt gensyn!