Alla projekt
06

Battleship

Ett webbaserat Battleship för två spelare med privat lobby, autentisering, sparad matchdata och leaderboard.

Källkodsbaserad rekonstruktion av Battleship-spelvyn
RollLobby · autentisering · leaderboard
Team3 studenter
OmfattningKursprojekt
VerktygASP.NET Core · C# · SignalR · SQL Server
01

Lobby & autentisering

Projektet gjordes i kursen Databasteknik och webbaserade system. Spelet använder privata lobbyer där en spelare kan skapa en lobby och bjuda in en andra spelare innan matchen startar. Jag implementerade lobbyn och arbetade även med cookie-autentisering, databasanslutningen och routing så att användaren hamnar på rätt sida efter inloggning. Jag hjälpte också till att rätta till login- och registreringsflödet.

Illustration av projektets privata tvåspelarlobby
02

Spelflödet

Båda spelarnas bräden, turordning, ready-state, vinnare och avslutad match hålls samman i spelstate. Razor-vyn visar det egna brädet bredvid motståndarens skjutbräde och låter spelaren ange koordinater för nästa skott. Bilden här är en källkodsbaserad rekonstruktion av den gamla vyn, eftersom originalappen inte längre körs i sin ursprungliga miljö.

Källkodsbaserad rekonstruktion av Razor-spelvyn
03

Leaderboard & resultat

Jag byggde även vidare på leaderboarden. Den visar ranking efter vinster och senare även statistik och sortering utifrån win rate och hit rate. På så sätt kunde vi använda den sparade matchdatan till mer än att bara återställa själva spelstate.

Illustration av leaderboard och matchstatistik
04

Vad jag tog med mig

Projektet kombinerade flera delar som senare återkommit i mina andra webbprojekt: autentisering, routing, databaslagring och realtidskommunikation. Framför allt blev det ett tidigt exempel på hur funktioner som lobby och leaderboard kräver att frontend, backend och datamodell fungerar tillsammans snarare än som separata delar.

Nästa projektEthical Shopping