Spil rapport

HTXInformatik

Lavet af

Chresten

Udgivet

gradient

Introduktion

Spil ideer

Spil ide #1

Spil ideen er at lave et program som kan evaluere brugeren relateret til andre brugere af programmet og give dem feedback på hvor godt de klaret sig på spillet. Spillet går ud på at tjene så mange penge som muligt på et hvis antal minutter. Det er ikke bestemt endnu hvorvidt om minutantal skal være tilfældigt, brugervalgt eller fast. Når brugeren spiller spillet kommer de til at stå overfor en række valg såsom ”Vælger du (1): 100% chance for 20 kr eller (2): 80% chance for 40 kr eller (3) 75% chance for 75 kr og 10% chance for at miste 10 kr”. Evt også give negativ/positiv feedback når man taber penge. Muligvis også lave en GUI.

Spil ide #2 (valgt)

Den anden spilide som var den jeg endte med at gennemføre, er et spil som kan gøre din korttidshukommelse bedre og dermed også gøre du kan score ekstra højt på IQ test. Men nu kommer det store spørgsmål som du sikkert sidder og undrer dig over: Var det ikke et spil du skulle lave? Hvad har noget der kan gøre du får højere IQ med en test at gøre? Begge af disse er to essentielle spørgsmål når slutmålet er et spil og til det ville jeg svare at, ja det er rigtigt der skal blive produceret et spil og jeg forstår godt du undrer dig over hvad en IQ test har med spil at gøre men det er ikke resultatet af at spille spillet som er vigtigt men i stedet selve spillet. Så måden jeg ville implementere dette ind i et spil er ved at lave et spil hvor du skal huske numre og hvor du kan se din high score. Det bliver også gradvist sværere dvs at du skal kunne huske flere og flere cifre. Spillet skal også have en GUI, da uden en hvor der udelukkende bliver brugt terminal ville bruger kunne se tallet de skal huske. GUIen jeg tænker at bruge er pygame, da den er designet til at lave spil. Evt ville jeg også bruge framework hvor der allerede er blevet lavet basic GUI features til at lave mit spil i.

Målgruppe

Min målgruppe er af alle aldersgrupper men ville primært være 13-50 år, da folk over 50 ville typisk have mindre erfaring med brug af computere til spil som dette. Indenfor denne aldersgruppe ville dem den appellerer mest til være dem som gerne ville træne deres hukommelse evt på grund af træning op til IQ test. Da nogle IQ test måler IQ via tilbagegenkald af tal hvor de gradvist bliver større som spillet kan træne dig i. Den er dog også til mennesker som søger et kogntivt udfordrene spil eller elsker konkurrencer. Ifølge Gallus kompasset ville målgruppen ligge i kategorien ”Moderne individfokuseret”. Da dette er et spil som spilles alene og fokusere på at gøre dig bedre. Ifølge Minerva-modellen ville den ligge i midten mellem pragmatisk og idealistisk og ligge i moderne dermed ville den høre under ”Moderne”.


Spilgenre

Spilgenren er casual/puzzle, da den udfordrer dig, via din intelligens. Dette er en af de mere generelle genretræk for puzzle, da det skal have et kognitivt element typisk.


Spilelementer

Spilelementerne er følgende:

  1. Point: Er i spillet realiseret/angivet som highscore
  2. Tid: Der er tidspres når du skal huske og skrive cifre
  3. Man kan vinde/gennemførelse: Spillet giver dig hele tiden små ”wins” hver gang du får cifre rigtigt og du kan blive bedre end gennemsnittet som ligger på en highscore omkring 6-7 for voksne. Man kan dog ikke vinde direkte udelukkende indirekte og vinde i de små udfordringer/opdelingen af mindre opgaver.
  4. Stigende sværhedsgrad: Sværhedsgraden stiger gradvist, da antal cifre du skal kunne genkalde/huske bliver større og større desto flere du får rigtigt.
  5. Tilfældighed: Der er en 20% chance for at udløse en surprise runde hvor du skal huske tallet for 2 runder siden.



Innovation

Innovationen i spillet er minimalt, da der er flere lignende spil hvis formål er at gøre at du kan gengive en række tal. Innovationen er primært udførelsen som er sket i pygame og at du også skal kunne huske tal fra tidligere runder. Altså i “surprise” featuren, dog er denne ikke fuldstændigt implementeret endnu. Jeg har også anvendt farveteori i farvevalget og brugte triader i forbindelse med dette. I øvrigt har jeg kodet en måde hvorved du kan tabe hvis du får 3 forkerte i surprise runderne, og er i gang med at implementere lignende løsning når du får nogle forkert. Den er dog yderst relevant, da korttidshukommelse er en meget god evne, som mit spil kan forbedre. Det jeg så har prøvet er gamefication af dette (træning af korttidshukommelse).


Planlægning

Iterationsplanlægning

Delopgaver i rækkefølge:

  1. Lære hvordan pygame virker
  2. Finde et allerede eksisterende framework som jeg kan modificere til brug i spil
  3. Modificere framework så der er et spil hvor variabler kun mangler at blive identificeret
  4. Udvikle variable såsom tallet som skal huskes
  5. Test
  6. Udvikl i forhold til feedback
  7. Evt tilføje ekstra features
  8. Evt bedre grafik


Spilelementer

Spillet kommer til at have følgende spilelementer

  1. Skal kunne huske tidligere tilfældige tal som brugeren gætter efter nuværende tal og får feedback på dette evt score.
  2. Point system
  3. Highscores
  4. Tilfældighed


Brugertest

Da jeg testede det foran nogle der var over 50, som der ikke henvendte sig til primær målgruppe. Virkede de forvirret over at programmet ”startet forfra” hver gang de var færdige med spil. Så derfor adder jeg en skærm til fortsættelse af igangværende spil. Andet feedback var at der skulle være en tæller som viser hvor mange af alle tal der var før som du kan huske. Så det ikke udelukkende er det lige her og nu du skal kunne huske. Dette kan evt gøres ved at adde talhusk til en liste hvor den ser hvor mange tal på listen du kan finde. Eller gøre så du skal huske tallet for 2 runder siden. De fandt også feedback for hurtigt så jeg skal nok adde mere delay med time.sleep() og evt også adde valueerror så de ikke skriver ”to” i stedet for ”2”. De kunne heller ikke læse noget af beskrivelsen så der skal jeg nok adde maxbredde så den ”wrapper” sig rundt og skifter linje. Brugeren som der lå i målgruppen brugte først tiden på at læse alt teksten, som virkede usædvanligt og nok er der bruger afvigte fra gennemsnittet. Han synes også da jeg spurgte yderligere ind til grafisk overflade/interface at det virkede som et ”slideshow” da der var mangel på bevægelse og animationer. Efter at bruge nogle minutter virket han mindre underholdt. Mangel på motivation evt milestones eller mulighed for at tabe og vinde. Han forstod i starten heller ikke at det var to tal og ikke et når der fx stod to ”8er” i træk, trods farveændring osv. Det blev dog hurtigt lært efterfølgende. Han synes også at der skulle være mere delay mellem skærme, da man kan komme til at trykke på en tast eller det kan gå for hurtigt.


Krav og testspecifikation

Kravene til spiller er at det skal kunne:

  1. Finde tilfældige tal
  2. Tallene skal kunne graduelt stige i antal cifre
  3. Brugeren skal kunne gætte tallet
  4. Feedback på brugersvar


Testen:

  1. Bruger skal kunne bruge standardfunktioner som er:

a. Læse teksten

b. Forstå hvordan man fortsætter

c. Forstå programmets formål

d. Indtaste tal

  1. Interface skal ikke virke forvirrende
  2. Grafik skal være letforståeligt og ”ligne et spil”


Testresulateter:

Den opfyldte flere af kravene efter at implementering af tænke højt test feedback. Da jeg begyndte at anvende farver i stedet for billeder som baggrund og tilføj et element af animation.


Implementering

Implementeringen er nedskrevet i koden.


Konklusion

Spillet udfylder nogle spilelementer men ikke alle. Der er blevet foretaget relevante tests (interview og tænke højt test) og der er stadig plads til forbedring men den udfylder opgaven, hvis opgaven er at lave et hukommelsesspil, til målgruppen præsenteret i introduktionen.


Relateret

Programmering

Jeg startede med at syntes CSS var meget forvirrende og slet ikke at tale om at lære Tailwind. Tailwind så komplekst ud, men jeg tog fejl.