Multiplayer-Spiel über VBA
19.04.2020 15:50:30
Jubel
ich programmiere seit einer Weile an einem kleinen Spiel auf Basis von Excel und entsprechenden VBA-Oberflächen. Das Spiel selbst ist für mehrere Personen ausgelegt, d.h. mehrere Personen benötigen die Daten von den jeweils anderen Mitspielern, weil sie jeweils auf einem eigenen Gerät im selben Heimnetzwerk spielen.
Ich habe bisher versucht, dass über eine zentrale, freigegebene Mappe im Netzwerk zu realisieren. Entsprechend toll lief es... Zwar gelingen die Zugriffe ganz gut, doch das ständige Speichern der "Hauptdatei" im Netzwerk (um diese auf jedem Gerät zu aktualisieren), sorgt für unglaublich lange Ladezeiten auf den VBA-Oberflächen und immer mal wieder Kollisionen beim Speicherzeitpunkt der verschiedenen Nutzer. Unterm Strich: Relativ unschön und ziemlich unperformant.
Meine Frage wäre: Wie bekommt man das besser hin? Hat Excel bzw. VBA irgendeine Möglichkeit, Daten von einem anderen Excel-Workbook auf einem anderen Gerät zu empfangen, ohne ständig freigegebene Mappen speichern zu müssen? Oder gibt es ein anderes Programm (mir fiele z.B. Access ein), dass eine beständig aktualisierende Datenbank bilden könnte, auf die dann das Excel/VBA aller Geräte ordentlich zugreifen könnte?
Vermutlich wären andere Programmiersprachen für das ganze Unterfangen besser geeignet, aber da ich mich mittlerweile in VBA ganz gut reingefuchst habe (und der Code für das Spiel mittlerweile schon sehr, sehr groß ist), würde ich es gerne dort belassen, wenn das möglich ist.
Ich hoffe, ihr habt eine Idee, wie man es versuchen kann.