Datastar – Et SQL-spill for IN2090

Datastar er et spill skrevet i SQL og spilles via SQL i en PostgreSQL-database. Alle som spiller gjør det i samme database, og det er en chat og highscore-tabell, så spillet kan derfor ansees å være et slags online-spill. Spillet har åpen kildekode, og ligger ute på Gitlab:

https://gitlab.com/leifhka/datastar

På lenken over kan du lese hvordan man spiller Datastar, forslag til hvordan man kan komme i gang, og annen nyttig info. For info om laging av bruker, innlogging, osv. se under.

Spillet er laget og driftes av Leif Harald Karlsen. All tilbakemelding, bugs, osv. tas imot med takk, og kan enten gjøres via de vanige IN2090-kanalene (Discourse, mail, osv.) eller via “issues” i repoet over.

Merk: Spillet er IKKE del av pensum i IN2090, men gir studenter et fint miljø for å trene mer på å skrive SQL, lage egne databaser, osv. Hverken gruppelærerne eller andre faglærere i IN2090 har fått noe opplæring i spillet, så spørsmål bør derfor rettes til Leif Harald, enten i spillet via chaten, eller via egen tag i IN2090s Discourse.

Detaljer om IN2090-instansen

Her kommer litt informasjon om hvordan spillet er satt opp for IN2090, slik som hvor langt et tick er, spillets lengde (altså hvor ofte spillet restartes og alle må lage ny bruker og starte på nytt), osv. Denne informasjonen kan endres over tid, og tilpasses antall spillere og erfaringer vi gjør oss underveis, slik at spillet blir best mulig.

Lage spill-bruker

Før du kan begynne å spille må man lage en bruker i databasen til spillet. Merk: Dette må gjøres hver gang spillet restartes, eller dersom du ønsker å starte med en ny spiller (f.eks. dersom du går tom for penger i spillet).

Databasen ligger, i likhet med de andre databasene vi bruker i IN2090, bak IFIs brannmur på en maskin med host-IP-adressen gitt over, så man må enten være fysisk på IFI, bruke fjerninnlogging, eller bruke Edbit for å logge seg inn. Se PostgreSQL-manualen til IN2090 for mer info om dette.

For å lage en spiller må man først logge inn som brukeren player_creator med passord player_creator, f.eks. slik med psql:

psql -h 158.39.75.144 -d datastar -U player_creator

Etter å ha logget inn må du lage en bruker ved å kalle create_player-funksjonen, f.eks.:

SELECT create_player(
    'hackzor', -- brukernavn for spilleren
    'pwd123',  -- passord til brukeren
    1          -- Faction (ID) for spilleren
);

Du kan velge mellom 4 ulike factions med litt forskjellig utgangspunkt for spillet. For mer informasjon om de ulike factions se faction-tabellen, altså:

SELECT * FROM faction;

Etter at du har laget en bruker må du logge ut av databasen, for så å logge inn igjen med den nye brukeren du laget, f.eks. (for brukeren laget over):

psql -h 158.39.75.144 -d datastar -U hackzor

og skrive inn passordet du oppga i create_player-kallet over.

Du er nå klar til å begynne å spille :) For mer detaljer om hvordan man spiller spillet, se README-filen i repoet:

https://gitlab.com/leifhka/datastar

Lykke til! :)