Tillkännagivande

Tillkännagivande Module
Minimera
Inga tillkännagivanden ännu.

Krank bygger: Ledtrådsfilter och datorstöd

Sidnamn Module
Flytta Ta bort Minimera

Senaste inlägg

Senaste inlägg Module
Minimera

Diskussioner Statistik Senaste inlägg
Skapad av luddwig, 27 May 2018, 09.13
12 responses
543 visningar
11 gillar
luddwig
av luddwig
 
Skapad av Brynolf, 22 August 2018, 10.44
21 responses
916 visningar
0 gillar
Swedish Chef  
Skapad av .113, 16 December 2018, 21.49
11 responses
292 visningar
1 gillar
erikt
av erikt
 
Skapad av krank, Igår, 22.38
2 responses
26 visningar
0 gillar
Jarl
av Jarl
 
Skapad av MattiasLejbrink, 16 December 2018, 21.45
2 responses
105 visningar
6 gillar
zonk
av zonk
 
Skapad av tomodentheauthor, 25 November 2018, 16.27
20 responses
917 visningar
7 gillar
tomodentheauthor  
Skapad av Khan, 10 January 2018, 10.51
172 responses
6.950 visningar
14 gillar
Khan
av Khan
 
Skapad av phastari, 14 December 2018, 22.10
9 responses
298 visningar
0 gillar
phastari  
Skapad av Bifur, 21 December 2017, 12.47
40 responses
1.847 visningar
0 gillar
Bifur
av Bifur
 
Skapad av RasmusL, 16 December 2018, 22.59
4 responses
181 visningar
8 gillar
Tant Ragnar  
X
Konversationsdetalj Module
Minimera
  • Filtrera
  • Tidsrymd
  • Visa
Rensa All
nya inlägg

  • Krank bygger: Ledtrådsfilter och datorstöd

    Jag gillar ledtrådar, jag gillar mysterier, jag gillar att hitta sätt att systematisera och använda datorstöd för att avhjälpa mina förberedelser när jag ska spelleda.

    När jag funderat kring ledtrådar så har försökt fundera kring hur de egentligen funkar i äventyr; hur spelarna interagerar med dem, vad i ledtrådspusslande det är som gör det klurigt och roligt, som gör att man får känna sig clever.

    En av de saker jag funderade på är vad jag kallat filtrering. Det är egentligen en klassisk grej som synts i de flesta CSI-kloner och deckarberättelser: Om en ledtråd säger att den skyldige antingen befinner sig på plats A, B eller C och en annan ledtråd säger att den skyldige befinner sig på plats C, D eller E så kan man, med båda ledtrådarna i hand, sluta sig till att det nog vore bra att undersöka plats C. Det här yttrar sig på tusen olika sätt med tusen olika sorters ledtrådar, men grundstrukturen är densamma.

    Så... hur kan man hjälpa skapandet av sådana strukturer? Det är klart att man helt enkelt kan hitta på ett gäng ledtrådar och försöka få dem att passa ihop på ett bra sätt, men... jag vill åtminstone ha lite stöd i det arbetet. Och jag upptäckte också att det åtminstone för mig ganska snabbt blir klurigt att hålla reda på allt så snart det börjar bli fler ledtrådar och platser inblandade.

    Jag började med att skapa ett nytt Google Sheets-dokument. Jag visste att jag skulle vilja ha minst omkring 8 olika platser och att äventyret jag pillade med nog skulle kunna formas om till att ha fyra olika trådar som ledde till fyra olika filterledtrådar. Jag numrerade platserna 1-8 och filtren fick bli A-D. Jag visste på ett ungefär vilka de åtta platserna skulle vara, och att fem av dem skulle vara av samma typ, men jag visste inte mer om ledtrådarna än att en av dem antagligen skulle informera om att rollpersonernas mål ligger i en av de fem som är av samma typ. Men till en början fick det bli ganska abstrakt - jag tycker om att jobba så. Vad exakt ledtrådarna handlar om kan jag hitta på när jag vet vilka platser de ska peka mot.

    Så, jag började med en enkel uppställning.

    Bilaga

    Filtren (ledtrådarna) vertikalt, platserna horisontellt. x betyder "ledtråden pekar mot platsen" och siffrorna i kolumn B är helt enkelt antalet platser som ingår i respektive filter. Siffrorna genereras helt enkelt med den här formeln:

    Kod:
    =COUNTIF(C2:J2,"=x")
    Den gröna färgen är den plats som är "rätt", fetstilen är de fem som "hör ihop".


    Steg 2 blev att fundera kring kombinationer. Jag orkade inte räkna ut något sätt att generera en lista med unika filterkombinationer, så jag skrev helt enkelt in alla jag kunde komma på med 2 eller 3 filter:

    Bilaga

    Sedan funderade jag på min målbild. I äventyret tänker jag mig att det kan finnas negativa effekter av att undersöka platser, t.ex. att man varnar fienden eller så. Jag tänkte därför att det vore bra om tre filter alltid ledde till att man visste exakt vart man skulle (bara en plats) och att två filter skulle kunna leda till mellan 1 och 3 filter - idealiskt sett ska det finnas ett par kombinationer av två filter som leder exakt rätt, någon kombination som leder till 3 platser (och därmed i princip är värdelös) och att resten ska leda till att man kommer ner till 2 platser.

    Det här gör att jag måste räkna lite. Jag orkar inte räkna själv, så jag byggde istället en formel. Den ser ut såhär:

    Kod:
    =IF(
      COUNTIF(
        FILTER(C$2:C$5,
          REGEXMATCH($A$2:$A$5,
            SUBSTITUTE($A8,"+","|")
          )
        ),
        "x")
        =LEN(SUBSTITUTE($A8,"+","")
      ),
      "x",
      ""
    )
    Den placeras sedan i cell C8, och utökas sedan till hela området C8:J13:

    Bilaga

    Formeln gör alltså såhär:
    • Hämta innehållet i A8, och byt ut + mot |. (SUBSTITUTE - Egentligen hade jag kunnat skriva med | direkt, men jag gillar tydligheten i +)
    • Använd ett filter för att få fram alla rader som matchar resultatet - alltså t.ex. A|B, som innebär "A eller B". (FILTER och REGEXMATCH)
    • Räkna hur många av de raderna som har ett "x" i sig i den nuvarande kolumnen (COUNTIF)
    • Se hur många bokstäver det står i A8 (LEN och SUBSTITUTE).
    • Se om antalet filtrerade rader med x i sig är lika med antalet bokstäver i A8 (IF - kollar alltså ifall alla framfiltrerade rader har ett x, eftersom antal framfiltrerade rader ska vara lika med antalet bokstäver)
    • Om det är så - skriv "x". Annars, skriv "".
    Formeln tog en stund att bygga - som vanligt byggde jag varje del för sig och testade, så att jag testade SUBSTITUTE och LEN(SUBSTITUTE)-kombinationerna, och REGEXMATCH+FILTER, och så vidare, i "kladdrutor" medan jag arbetade. Sedan satte jag ihop dem varsamt, en i taget, och dubbelkollade förväntat resultat kontra faktiskt resultat.

    Resultatet blir som syns på bilden - eftersom A8 är skrivet som $A8 så betyder det att när jag utökar formeln så fortsätter alla rutor att använda A-kolumnen, men raden beror på vilken rad formeln står i. Så alla i formeln i alla celler på rad 12 står det istället $A12. Jag gillar verkligen det här med att kunna utöka/fylla ut formler...

    Sedan är det ganska lätt - I B8:B13 står det samma COUNTIF-formel som i B2:B5, så där räknas helt enkelt antalet x på respektive rad.

    Eftersom jag också ville bry mig om tre-filter-kombinationer så byggde jag helt enkelt vidare - formeln ovan funkar även när det står A+B+C till exempel, eftersom den hela tiden använder antalet bokstäver i den första kolumnen snarare än ett fast värde.

    Bilaga

    Det ni ser ovan är det färdiga resultatet - jag råkade såklart inte få allting perfekt direkt, utan jag fick fortfarande sitta och pilla en del. Men jag hade god hjälp av det visuella stödet - jag såg direkt vilken effekt varje kryss hade på antalet kombinationer och så. Ovanstående resultat funkar för mig - två filterkombinationer (A+D och B+C) leder direkt rätt, en (A+C) är rätt värdelös och övriga leder till visst riskmoment men bör åtminstone kunna leda rollpersonerna rätt inom rimlig tid.

    Min förhoppning är såklart att det här ska kunna användas fler gånger - att jag kan plocka upp det här kalkylbladet nästa gång, bestämma ett annat antal filterledtrådar och platser, och bara fylla på.

    Jag tror absolut att mina formler kan förbättras av folk som vet vad de håller på med på riktigt, men... I dunno, jag ville mest skryta lite om vad jag lyckades få ihop och kanske inspirera/visa lite hur jag tänker och jobbar när jag bygger äventyr...

  • #2
    Här är förresten filen jag jobbade i. Jag tror att det borde gå att skapa kopior av den vid behov?

    Kommentera


    • #3
      Intressant.... Jag har jobbat massor med en komplett äventyrsgenerator i excel. Har väl kommit 20%.....

      Kommentera


      • #4
        Spännande! Jag misstänker att graf-teori har en användbar tillämpning på detta problem.

        Kommentera

        Arbetar …
        X