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:
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 chat
en, 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.
- Host:
158.39.75.144
- Navn:
datastar
- Tick-lengde:
20 sekunder
- Spill lengde:
1 uke
(torsdag-torsdag) - Nåværende spill startet:
2024-10-31
- Nåværende spill avsluttes:
2024-11-07
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:
Lykke til! :)