oljo.dev
← Alle prosjekter
Læringsprosjekt · Sent 2025

Chess Arena

Spill sjakk lokalt eller på nett med lobby, tilskuermodus, blitz-klokker og trekkhistorikk.

Skjermbilde av Chess Arena
1 min lesetid

Chess Arena er en sjakkside jeg laget for moro skyld, for å finne ut hvor langt jeg kunne ta en nettapp for to spillere i sanntid.

Hva den gjør

  • Lokalt spill. To personer på samme enhet, som bytter på å trekke på et trebrett.
  • Spill på nett. En lobby der du oppretter eller blir med i et parti og spiller mot noen et annet sted.
  • Se live. Tilskuermodus for partier som pågår.
  • Klokker. Blitz-tidskontroller, som fem minutter uten tillegg, med løpende klokke for hver spiller.
  • Partitilstand. Slåtte brikker, materiellfordel, full trekkhistorikk, en gi-opp-knapp og flyt for nytt parti.

Brettet bruker vanlig algebraisk notasjon og et rent brikkesett, og alt kjører i nettleseren uten installasjon.

Hvordan den ble laget

Jeg laget Chess Arena med Lovable. Jeg beskrev funksjonene jeg ville ha, og jobbet meg gjennom detaljene: hvordan lobbyen skulle oppføre seg, hva som skjer når en spiller mister forbindelsen, hvordan klokkene skulle gå, og hvordan brettet skulle se ut. Trekkvalidering og spilleregler håndteres av et sjakkbibliotek, som var en god lærdom i å ikke finne opp noe som allerede er løst.

Status

Ferdig som læringsprosjekt. Siden er live og spillbar, men jeg utvikler den ikke videre.

Hva jeg fikk ut av det

Sanntids flerspiller er der mange enkle ideer faller fra hverandre, og dette prosjektet viste meg hvorfor: to klienter må være enige om samme tilstand, samtidig, mens en klokke går. Jeg lærte mye om synkronisering av tilstand, håndtering av frakoblinger og strukturering av en nettapp med mer enn én skjerm.