Page 1 of 3

Graftteori for tognørder

Posted: 08 Jan 2013, 15:39
by julemand101
Har du ofte tænkt "hm gid jeg kunne danne mig et samlet overblik over skinnenetværket på Crafters.dk" så er dine bønner nu endelig blevet hørt. Efter lidt et kringlet arbejde er det lykkedes os at få lavet sådan en oversigt:

http://www.crafters.dk/metronet/full.pdf

Oversigten laves hver gang serveren bliver genstartet (så minimum en gang om dagen) og laves på baggrund af de data Train Carts plugin'et indeholder. Hvad betyder dette helt konkret? Jo, billedet viser dermed præcist hvordan Train Carts betragter vores netværk og derved kan du selv regne ud om det er muligt at rejse fra et sted til et andet. Det vil altså sige at hvis du kan se din station ikke er forbundet så er det nu tid til at få gjort noget ved det! ;)

For at forstå billedet kommer der en lille tegnoversigt. Alle figurer på billedet forsøges at placeres nogenlunde i forhold til hvordan de er placeret inde i spillet. Det er klart dette ikke kan lade sig gøre 100%:

Gule mærker betyder en destination. Det er steder man kan rejse til ved at klikke på fx et skilt ved metrostationen. Train Carts vil forsøge at vejlede dig fra det sted du starter på turen frem til din valgte destination.

Sorte prikker angiver knudepunkter eller "tags" som de hedder i Train Carts. Disse angiver steder hvor Train Carts har mulighed for at svinge og det er disse der benyttes for at du kan blive ledt den rigtige retning. Det er disse du sætter når du placerer et skilt under et sporskifte med teksten "[train] tags".

Sorte linjer viser der er et spor mellem to punker (sorte eller gule). Tallet der står udenfor stregen angiver antal blokke den er lang.

Røde streger er den vigtigste af dem alle. Den viser nemlig hvor der er evt. fejl på strækningen. Helt præcist definerer den en strækning hvor du kun kan køre den ene vej og pilen angiver hvad vej det er. Eftersom du i langt de fleste tilfælde ønsker at kunne rejse begge veje i metronetværket er det typisk en fejl som fx et sporskift der ikke er styret af Train Carts. Xcanner og jeg vil i den næste tid fokusere på at få størstedelen af de røde streger væk men du kan også selv gå i gang med at undersøge efter en evt. årsag.

Bemærk venligst at kortet viser samtlige metronetværk der er på serveren. Det betyder at der også vises netværk der ikke er forbundet til hovedmetroen (som nu også har en metroring der gør alt er samlet i en strækning). Vi kan ikke tvinge alle til at forbinde til netværket men det vil være cool hvis alle gjorde det. Vi pønser på at lave en nice feature hvor det vil gavne at alt er forbundet (ikke mere om det nu). :P

Hvis folk opdager fejl i netværket så tjek lige selv først om det ikke nok passer. Plugin'et er baseret på de data der faktisk bruges af Train Carts så hvis noget ikke passer så vil du ikke kunne rejse på strækningen. Husk desuden på at vi ikke opdaterer grafen løbende og kan heller ikke gøre dette! Train Carts gemmer kun information på disken når serveren lukkes ned så vi kan kun tegne en ny graf hver gang serveren er nede (hvilket også sker automatisk nu).

Håber det er noget i kan bruge til noget. Omend kan det altid bruges til at blære sig overfor vennerne hvor stort et skinnenetværk vi har. ;)

EDIT:
Kildekoden til vores udgave kan findes her (bare for god ordens skyld):
https://gist.github.com/4494458

Re: Graftteori for tognørder

Posted: 08 Jan 2013, 15:59
by FedeAnderzen
Nogen gange har jeg bare lyst til at gifte mig med dig jule :o

Virkelig godt arbejde lige der.

Re: Graftteori for tognørder

Posted: 08 Jan 2013, 16:07
by julemand101
Jeg vil ikke have fuld credits for det her. Den største del af arbejde er lavet med følgende programmer:
https://github.com/Etsija/TCGraph/
http://www.graphviz.org/

Har blot gjort det muligt at køre det hele automatisk samt overhovedet at kunne køre det på en server uden skærm (latterligt programmet oprindeligt er lavet til GUI only). :P

Re: Graftteori for tognørder

Posted: 08 Jan 2013, 16:29
by kasperfranz
hvor mange bloks skinner har vi så på crafters i vores metro netværk :)?

Re: Graftteori for tognørder

Posted: 08 Jan 2013, 17:57
by julemand101
kasperfranz wrote:hvor mange bloks skinner har vi så på crafters i vores metro netværk :)?
Hvis man tæller dem alle sammen som Train Carts har fundet frem til så bliver det lige nu: 253022 blokke.

Jeg har nu gjort således den gemmer statistik samt gamle kort. Du kan finde det hele herinde:
http://crafters.dk/metronet/

Xcanner vil arbejde på noget søjlediagram halløj samt en tæller der altid viser seneste data. Ved ikke hvornår han har tid til at gøre det færdigt.

(http://crafters.dk/metronet/stats filen skal læses som at det første tal er unix timestamp mens det andet tal er antal blokke skinner. Der vil oprettes en ny linje som minimum hver nat.)

Re: Graftteori for tognørder

Posted: 08 Jan 2013, 19:55
by xcanner
I menuen "Comnunity -> Metro" (bemærk at der går et lille døgn før menuen på forum bliver opdateret) - http://www.crafters.dk/metro/.

Antal blokke, sidst opdateret og selve metro kortet er dynamisk og bliver opdateret hver gang Minecraft serveren genstartes (minimum 1 gang i døgnet). Jeg arbejder på at lave en graf over udviklingen på Metro'ens længde i blokke.

Re: Graftteori for tognørder

Posted: 08 Jan 2013, 22:06
by xcanner

Re: Graftteori for tognørder

Posted: 09 Jan 2013, 00:33
by Pars
Lækkert nyt tiltag. Er det muligt at se flere data på grafen, her tænker jeg på år, måned og dag, så vi for alvor følge med i udviklingen?

Re: Graftteori for tognørder

Posted: 09 Jan 2013, 00:38
by julemand101
Pars wrote:Lækkert nyt tiltag. Er det muligt at se flere data på grafen, her tænker jeg på år, måned og dag, så vi for alvor følge med i udviklingen?
Tror det er nemmest når vi får noget mere data ind. Overvejer lidt om vi også skal tælle antal røde linjer så vi kan følge den udvikling. Kan være jeg smider det ind uanset hvad hvis det er nemt... :P

edit: Det var nemt så det er nu gemt sammen med stats. xcanner vil tilføje det til grafen.

Re: Graftteori for tognørder

Posted: 09 Jan 2013, 01:34
by Pars
julemand101 wrote:
Pars wrote:Lækkert nyt tiltag. Er det muligt at se flere data på grafen, her tænker jeg på år, måned og dag, så vi for alvor følge med i udviklingen?
Tror det er nemmest når vi får noget mere data ind. Overvejer lidt om vi også skal tælle antal røde linjer så vi kan følge den udvikling. Kan være jeg smider det ind uanset hvad hvis det er nemt... :P

edit: Det var nemt så det er nu gemt sammen med stats. xcanner vil tilføje det til grafen.
Ah grafen tæller udelukkende spor som den finder gennem train-pluginet? Jeg troede at den tog data fra alle togskinner vi havde sat, og at det derfor var muligt at hive noget gammelt statistik ud fra DB-en.