Dipl. Informatiker/in HF Fachrichtung Applikation

Multiplayer Schach Plattform

Umsetzung MVP einer Multiplayer Schach Webseite

Die Planung, Konzeption, Architektur und Realisierung einer Online-Schachplattform als Minimal Viable Product (MVP) inklusive Benutzeroberfläche, Spielserver und Zug-Erzeugung auf Basis von Schachprogrammierungs-Theorien.

31. Oktober 2023
Timo Jokinen

Schach ist ein uraltes Strategiespiel mit nahezu unendlicher Komplexität und Tiefe; es gibt mehr verschiedene Stellungsvariationen, als Atome im beobachtbaren Universum. Als Schachspieler und regelmässiger Nutzer von Online-Schachplattformen wie lichess.org hat mich das Thema Schachprogrammierung schon seit längerem interessiert. Da lag es Nahe die Diplomarbeit zu nutzen um tief in das Thema einzutauchen. Als Resultat habe ich eine Schachwebseite entworfen und umgesetzt, die mir nicht nur Einblick in die Schachprogrammierung, sondern auch in Themen wie Gameprogrammierung, Networking, Security, uvm. verschafft hat.


Basis für die Plattform ist der Zuggenerator, der innerhalb von weniger als einer halben Millisekunde alle erlaubten Züge jeder beliebigen Stellung errechnen kann. Bei der Umsetzung bin ich ich dabei in tiefe Abstraktionsebenen der Informatik eingetaucht. Um Züge so effizient zu generieren, wurden unzählige interessante Techniken verwendet, wie beispielsweise bitweise Operationen mit sogenannten Bitboards oder magische Zahlen und Angriffstabellen. Diese Techniken sind die Grundlage für die meisten modernen Schachcomputer und haben alle nur ein Ziel: extreme Effizienz.


Aufbauend auf den Zuggenerator, der als Bibliothek in einem Monorepository Ökosystem entwickelt wurde, habe ich einen Gameserver programmiert, der mit dem Websockets Protokoll Online-Schachspiele in Echtzeit zwischen zwei Spielern erlaubt und eine hohe Anzahl gleichzeitiger Spiele handhaben kann. 


Das Benutzerinterface, aufbauend auf React mit Next.js, verbindet sich zum Gameserver und macht das eigentliche Spielen möglich, mit einer breiten Palette von Funktionen, wie beispielsweise das Analysieren von Positionen mit dem stärksten Schachcomputer auf dem Markt "Stockfish" und allem was man dazu braucht. 


Weiterhin können Benutzer der Plattform gegen den Schachcomputer spielen (was allerdings recht hoffnungslos ist), die eigenen vergangenen Spiele nochmal durchgehen und ihr Schachspiel auf ein neues Level bringen.


Das Resultat des Projekts ist eine funktionierende Multiplayer-Schach-Webseite, als MVP positioniert und bietet eine gute Grundlage für zukünftige Weiterentwicklung.

Hier geht es zum vollständigen Quellcode.

Timo Jokinen

25 Jahre, enthusiastischer Nerd mit ständig wechselnden Hobbies und einer Vorliebe für Tiere, JavaScript und Philosophie.


jokinen.t@pm.me


Linkedin

Weiterbildung neben Beruf und Freizeit

Gratis E-Book mit 10 Tipps zur Work-Life-Learn-Balance

Weiterbildung neben Beruf und Freizeit – schaffe ich das?

10 Tipps zur Work-Life-Learn-Balance

Eine Weiterbildung beansprucht Zeit. Deshalb auf Freunde, Familie und Hobbies zu verzichten, wäre falsch.

In diesem E-Book erfährst du:

  • wie du deine Zeit effizienter nutzt
  • wie du dich trotz Weiterbildung genügend Freizeit bewahrst
  • wie sich Beruf, Weiterbildung und Freizeit gegenseitig ergänzen statt konkurrenzieren können

Tipps aus dem Inhalt

  • TIPP 1: Gestalte deine Arbeit so flexibel wie möglich!
  • TIPP 2: Beziehe Arbeitgeber sowie Kollegen und Kolleginnen in deine Weiterbildungspläne mit ein!
  • TIPP 3: Arbeite effizienter und effektiver mit Zielorientierung!
  • TIPP 4: Entwickle deinen idealen Lernrhythmus!
  • TIPP 5: Lerne mit System und festen Strukturen!
  • TIPP 6: Schaffe genug Ausgleich und Entspannung!
  • TIPP 7: Binde deine/n Partner/in, deine Familie und externe Hilfen in deine Planung ein!
  • TIPP 8: Belohne dich für deine Erfolge!
  • TIPP 9: Mach eine Zeitinventur!
  • TIPP 10: Erstelle eine Zeitplanung aller drei Bereiche!

Leider ist ein Fehler aufgetreten. Bitte versuche es erneut oder nimm mit uns direkt Kontakt auf.

Aktuelles Studienprogramm

Alles Wissenswerte zur Weiterbildung in einem PDF zusammengefasst.

Studienprogramm  herunterladen

Alles Wissenswerte zu deiner Weiterbildung in einem PDF zusammengefasst

  • Detaillierter Lehrplan zu allen Studiengängen
  • Alle wichtigen Hintergrundinfos zu Ausbildungszielen, Teilnehmerkreisen, Aufnahmebedingungen und weiterführenden Studiengängen

Leider ist ein Fehler aufgetreten. Bitte versuche es erneut oder nimm mit uns direkt Kontakt auf.

Gratis E-Book für dich

Weiterbildung neben Beruf und Freizeit - schaffe ich das?

Eine Weiterbildung beansprucht Zeit. Deshalb auf Freunde, Familie und Hobbies zu verzichten, muss nicht sein.

Lies jetzt unser E-Book mit 10 wertvollen Tipps zur Work-Life-Learn-Balance.

Weiterbildung neben Beruf und Freizeit – schaffe ich das?

10 Tipps zur Work-Life-Learn-Balance

Eine Weiterbildung beansprucht Zeit. Deshalb auf Freunde, Familie und Hobbies zu verzichten, wäre falsch.

In diesem E-Book erfährst du:

  • wie du deine Zeit effizienter nutzt
  • wie du dich trotz Weiterbildung genügend Freizeit bewahrst
  • wie sich Beruf, Weiterbildung und Freizeit gegenseitig ergänzen statt konkurrenzieren können

Tipps aus dem Inhalt

  • TIPP 1: Gestalte deine Arbeit so flexibel wie möglich!
  • TIPP 2: Beziehe Arbeitgeber sowie Kollegen und Kolleginnen in deine Weiterbildungspläne mit ein!
  • TIPP 3: Arbeite effizienter und effektiver mit Zielorientierung!
  • TIPP 4: Entwickle deinen idealen Lernrhythmus!
  • TIPP 5: Lerne mit System und festen Strukturen!
  • TIPP 6: Schaffe genug Ausgleich und Entspannung!
  • TIPP 7: Binde deine/n Partner/in, deine Familie und externe Hilfen in deine Planung ein!
  • TIPP 8: Belohne dich für deine Erfolge!
  • TIPP 9: Mach eine Zeitinventur!
  • TIPP 10: Erstelle eine Zeitplanung aller drei Bereiche!

Leider ist ein Fehler aufgetreten. Bitte versuche es erneut oder nimm mit uns direkt Kontakt auf.