Verfasst: Montag 20. November 2006, 22:04
Klar da gäbe es natürlich massive Crashgefahr. Die Spieler müssten sich wirklich sehr streng an gewisse selbstgesteckte Regeln halten. Aber das wär ja nicht unser Problem als Progger/meinereiner oder?
Vorschlag zum Netcode:
Im unlösbaren Konfliktfall: a) Übernahme der Masterentscheidungen ohne Nachfrage mit Textmsg in der nächsten Runde
b) Ausgabe des folgenden Textes: Unauflösbare Konfliktfälle entdeckt. Runde beenden nicht möglich. Überprüfen sie folgende Angaben:... (letzteres nur im fortgeschrittenen Stadium )
Was ist ein unlösbarer Konfliktfall? Ganz einfach, zum Prinzip:
Genommen wird erstmal der Masterplan sozusagen, also alles was der Master unternommen hat.
Dazu kommen die Veränderungen (!Ganz wichtig, denn der Rest interessiert nicht / ist bei allen gleich geblieben!) der einzelnen Mitspieler im Vergleich zum Ausgangszustand (nicht zum Master!). Schneiden die sich nicht irgendwo mit dem Master, ist alles ok und sie werden einfach gemergt. Bei Konflikten mit Masterentscheidungen wird einfach der Master als überstimmend angenommen. Bei Konflikten unter den Slaves (hm, da kommt mir doch gleich die Tatsache, dass damit auch Zuschauer, die einfach nur mitgucken, was der andere so macht, möglich sind..schöne Sache) ja, bei solchen Konflikten, da wirds halt problematisch. Denkbar wäre auch hier ne Order wie Slave 1,2,3,4 usw.
Der Master würde sich die dann einzeln nacheinander vorknöpfen und "einverleiben".
Ich denke so ein Algo wäre weitgehend crash- und konfliktfrei und dazu noch relativ (!) einfach einzubauen. Weniger wohl bei Asynchronisationen im Netzwerkverkehr und lags, will sagen, was passiert wenn sich mal ein Slave ausgerechnet beim Rundebeenden verabschiedet bewusst oder unbewusst und nur teilweise seine Rundenentscheidungen übertragen werden. Würd dann einfach behaupten, die nach ihm folgenden Slaves rücken alle ne Nummer rauf und seine (verstümmelte) Runde wird einfach verworfen. Ne Nachricht an alle anderen, damit die überhaupt Bescheid wissen, dass da einer fehlt, dessen Aufgaben die jetzt neu verteilen müssen, wäre dann ratsam.
Vorschlag zum Netcode:
Im unlösbaren Konfliktfall: a) Übernahme der Masterentscheidungen ohne Nachfrage mit Textmsg in der nächsten Runde
b) Ausgabe des folgenden Textes: Unauflösbare Konfliktfälle entdeckt. Runde beenden nicht möglich. Überprüfen sie folgende Angaben:... (letzteres nur im fortgeschrittenen Stadium )
Was ist ein unlösbarer Konfliktfall? Ganz einfach, zum Prinzip:
Genommen wird erstmal der Masterplan sozusagen, also alles was der Master unternommen hat.
Dazu kommen die Veränderungen (!Ganz wichtig, denn der Rest interessiert nicht / ist bei allen gleich geblieben!) der einzelnen Mitspieler im Vergleich zum Ausgangszustand (nicht zum Master!). Schneiden die sich nicht irgendwo mit dem Master, ist alles ok und sie werden einfach gemergt. Bei Konflikten mit Masterentscheidungen wird einfach der Master als überstimmend angenommen. Bei Konflikten unter den Slaves (hm, da kommt mir doch gleich die Tatsache, dass damit auch Zuschauer, die einfach nur mitgucken, was der andere so macht, möglich sind..schöne Sache) ja, bei solchen Konflikten, da wirds halt problematisch. Denkbar wäre auch hier ne Order wie Slave 1,2,3,4 usw.
Der Master würde sich die dann einzeln nacheinander vorknöpfen und "einverleiben".
Ich denke so ein Algo wäre weitgehend crash- und konfliktfrei und dazu noch relativ (!) einfach einzubauen. Weniger wohl bei Asynchronisationen im Netzwerkverkehr und lags, will sagen, was passiert wenn sich mal ein Slave ausgerechnet beim Rundebeenden verabschiedet bewusst oder unbewusst und nur teilweise seine Rundenentscheidungen übertragen werden. Würd dann einfach behaupten, die nach ihm folgenden Slaves rücken alle ne Nummer rauf und seine (verstümmelte) Runde wird einfach verworfen. Ne Nachricht an alle anderen, damit die überhaupt Bescheid wissen, dass da einer fehlt, dessen Aufgaben die jetzt neu verteilen müssen, wäre dann ratsam.