Abmeldung Informationsanlass

Bist du sicher, dass du dich für den Infoanlass abmelden möchtest?

Besten Dank für dein Interesse

Klicke auf die Schaltfläche unten, um dein gewünschtes PDF-Dokument herunterzuladen.

DOWNLOAD STARTEN
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.

Startseite der Plattform, mit einem Schachbrett und einer Bewertungsleiste, angetrieben von Stockfish
1/6 Startseite der Plattform, mit einem Schachbrett und einer Bewertungsleiste, angetrieben von Stockfish
Multiplayer Funktionen, dank Gameserver und Lobbysystem
2/6 Multiplayer Funktionen, dank Gameserver und Lobbysystem
Ich spiele gegen Stockfish (Es sieht nicht gut aus für mich :-( )
3/6 Ich spiele gegen Stockfish (Es sieht nicht gut aus für mich :-( )
Online-Spiele können mit Zeitformat gespielt werden.
4/6 Online-Spiele können mit Zeitformat gespielt werden.
High-Level Architektur meiner Plattform
5/6 High-Level Architektur meiner Plattform
Komponentendiagramm
6/6 Komponentendiagramm
Startseite der Plattform, mit einem Schachbrett und einer Bewertungsleiste, angetrieben von Stockfish
Multiplayer Funktionen, dank Gameserver und Lobbysystem
Ich spiele gegen Stockfish (Es sieht nicht gut aus für mich :-( )
Online-Spiele können mit Zeitformat gespielt werden.
High-Level Architektur meiner Plattform
Komponentendiagramm
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.
E-Mail jokinen.t@pm.me Social

Diplomarbeit

Download Diplomarbeit

Weiterbildung neben Beruf und Freizeit

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

Download E-Book

Aktuelles Studienprogramm

Alles Wissenswerte zur Weiterbildung in einem PDF zusammengefasst.

Download PDF

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
Basel
Bern
Luzern
Olten
Zürich
Technik
Wirtschaft
Bildungsgänge HF Technik
Dipl. Maschinenbautechniker/in HF
Dipl. Elektrotechniker/in HF
Dipl. Systemtechniker/in HF
Dipl. Gebäudeautomatiker/in HF
Dipl. Informatiker/in HF Fachrichtung Applikation
Dipl. Informatiker/in HF Fachrichtung Systemtechnik
Dipl. Techniker/in HF Bauplanung Architektur
Dipl. Techniker/in HF Bauplanung Ingenieurbau
Dipl. Prozesstechniker/in HF
Dipl. Flugzeugtechniker/in HF
Dipl. Energie- und Umwelttechniker/in HF
Nachdiplomstudien NDS HF Technik
NDS HF Energie und Umwelt
NDS HF Informatik Applikationsentwicklung
NDS HF Informatik Cyber Security & Privacy
NDS HF Informatik Systemtechnik
NDS HF Informatik Game Design
NDS HF Informatik Data Science
NDS HF Informatik IT-Projektleitung
Seminare
Seminar Projektmanagement
Seminar KI-Tools im Berufsalltag
Seminar Cyber Security
Seminar Game Design
Seminar Data Science
Bildungsgänge HF Wirtschaft
Dipl. Wirtschaftsinformatiker/in HF
Dipl. Betriebswirtschafter/in HF
Dipl. Betriebswirtschafter/in HF für Technische Kaufleute
Dipl. Marketingmanager/in HF
Vorbereitungskurse eidg. Berufsprüfungen
Technische Kaufleute mit eidg. Fachausweis
Technische Kaufleute mit eidg. Fachausweis
Führungsfachleute mit eidg. Fachausweis
HR-Assistent/in mit Zertifikat
HR-Assistent/in mit Zertifikat Intensiv
HR-Fachmann/HR-Fachfrau mit eidg. Fachausweis
Fachmann/Fachfrau Finanz- und Rechnungswesen mit eidg. Fachausweis
Nachdiplomstudien NDS HF Betriebswirtschaft
Dipl. Betriebswirtschafter/in NDS HF Management
Dipl. Betriebswirtschafter/in NDS HF Strategische Unternehmensführung
Kaufmännische Bildungsgänge
Dipl. Kauffrau, Kaufmann VSH
Dipl. Wirtschaftsfachleute VSK

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!

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
Basel
Bern
Luzern
Olten
Zürich
Technik
Wirtschaft
Bildungsgänge HF Technik
Dipl. Maschinenbautechniker/in HF
Dipl. Elektrotechniker/in HF
Dipl. Systemtechniker/in HF
Dipl. Gebäudeautomatiker/in HF
Dipl. Informatiker/in HF Fachrichtung Applikation
Dipl. Informatiker/in HF Fachrichtung Systemtechnik
Dipl. Techniker/in HF Bauplanung Architektur
Dipl. Techniker/in HF Bauplanung Ingenieurbau
Dipl. Prozesstechniker/in HF
Dipl. Flugzeugtechniker/in HF
Dipl. Energie- und Umwelttechniker/in HF
Nachdiplomstudien NDS HF Technik
NDS HF Energie und Umwelt
NDS HF Informatik Applikationsentwicklung
NDS HF Informatik Cyber Security & Privacy
NDS HF Informatik Systemtechnik
NDS HF Informatik Game Design
NDS HF Informatik Data Science
NDS HF Informatik IT-Projektleitung
Seminare
Seminar Projektmanagement
Seminar KI-Tools im Berufsalltag
Seminar Cyber Security
Seminar Game Design
Seminar Data Science
Bildungsgänge HF Wirtschaft
Dipl. Wirtschaftsinformatiker/in HF
Dipl. Betriebswirtschafter/in HF
Dipl. Betriebswirtschafter/in HF für Technische Kaufleute
Dipl. Marketingmanager/in HF
Vorbereitungskurse eidg. Berufsprüfungen
Technische Kaufleute mit eidg. Fachausweis
Technische Kaufleute mit eidg. Fachausweis
Führungsfachleute mit eidg. Fachausweis
HR-Assistent/in mit Zertifikat
HR-Assistent/in mit Zertifikat Intensiv
HR-Fachmann/HR-Fachfrau mit eidg. Fachausweis
Fachmann/Fachfrau Finanz- und Rechnungswesen mit eidg. Fachausweis
Nachdiplomstudien NDS HF Betriebswirtschaft
Dipl. Betriebswirtschafter/in NDS HF Management
Dipl. Betriebswirtschafter/in NDS HF Strategische Unternehmensführung
Kaufmännische Bildungsgänge
Dipl. Kauffrau, Kaufmann VSH
Dipl. Wirtschaftsfachleute VSK