Aus Das deutschsprachige Scratch-Wiki

Als ein Multiplayer-Spiel bezeichnet man ein Spiel, das von mehreren Spielern gleichzeitig gespielt werden kann. Es gibt Offline-Multiplayerspiele und Online-Multiplayerspiele. Meistens können bei diesen Mehrspieler-Spielen alle Spieler miteinander interagieren oder Änderungen (zum Beispiel an der Landschaft) vornehmen, die auch das Spiel der anderen Spieler beeinflussen können.


Offline-Multiplayer

Bei einem Offline-Multiplayerspiel können mindestens zwei Personen gleichzeitig an einem Gerät spielen. Oft gibt es verschiedene Steuerungen für die beiden Spieler, so benutzt zum Beispiel der erste Spieler zum Bewegen die Pfeiltasten, der zweite Spieler aber W, A, S und D. Offline-Mehrspieler-Spiele auf Scratch sind meist nicht so komplex wie Online-Multiplayerspiele, da sie vorrangig von Benutzern der Scratch-Webseite, die noch den Status "neuer Scratcher" innehaben, programmiert werden, die keine Cloud Daten benutzen können und die meistens nicht so viel Erfahrung mit Scratch haben. Außerdem macht es oft mehr Spaß, wenn man online mit sehr vielen Spielern spielen kann.

Online-Multiplayer

Scratcharia, ein Online-Multiplayer-Spiel

Online-Multiplayer-Spiele, wie Scratcharia, sind Spiele, bei denen mehrere Spieler mithilfe von Cloud Daten gleichzeitig spielen können. Sie können nur gespielt werden, wenn man ein Scratcher ist, da Cloud-Daten nur von diesen benutzt werden können. Bei Online-Mehrspieler-Spielen wird jede Aktion eines Spielers, die für die anderen Teilnehmer des Spiels relevant ist (Änderung der Position, Abbauen von Rohstoffen, Bauen), per Cloud-Variable in die Server der Scratch-Webseite hochgeladen und so den anderen Spielern zugänglich gemacht, die nun zum Beispiel das Haus sehen können, das ein Spieler gebaut hat. Online-Multiplayer-Spiele sind sehr aufwendig zu programmieren, da man in Cloud-Variablen nur Zahlen speichern kann und so der Einsatz eines Umwandlers von Zahlencode zu Text und umgekehrt notwendig ist. Bei vielen Online-Spielen kann man sehen, wie viele Spieler gerade online sind. Dazu wird dem Programm eine Variable hinzugefügt, die mithilfe eines Skripts fortlaufend um einen bestimmten Wert, beispielsweise 1, geändert wird:

 Wenn die grüne Flagge angeklickt
 wiederhole fortlaufend
 warte (0.5) Sek.
 ändere [Variable v] um (1)
 

Dieser Wert wird immer nach einer bestimmten Zeit gespeichert und wenige Sekunden später wieder geprüft. Ist der Wert der gleiche, etwa weil der Spieler das Projekt und damit alle Skripte gestoppt hat, subtrahiert das Programm den Spieler von der Anzahl aller Spieler, etwa so:

 Wenn die grüne Flagge angeklickt
 wiederhole fortlaufend
 setze [Speicher v] auf (Variable)
 warte (1) Sek.
 falls <(Speicher)=(Variable)> dann
 ändere [alle Spieler v] um (-1)
 

Nun benötigt man noch einen Algorithmus, der alle Daten in eine Cloudvariable (bzw. Shared Memory) lädt und diese wieder in eine Liste umwandeln kann (siehe Eine Cloud-Engine programmieren).



Code zum Einbinden ins Forum:
[wiki=de:Multiplayer]Multiplayer[/wiki]
Cookies helfen uns bei der Bereitstellung von Das deutschsprachige Scratch-Wiki. Durch die Nutzung von Das deutschsprachige Scratch-Wiki erklärst du dich damit einverstanden, dass wir Cookies speichern.