View a markdown version of this page

Beispiel: Verwende eine zusammengesetzte Regel, um ein Spiel mit Spielern mit ähnlichen Attributen oder ähnlicher Auswahl zu erstellen - GameLift Amazon-Server

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Beispiel: Verwende eine zusammengesetzte Regel, um ein Spiel mit Spielern mit ähnlichen Attributen oder ähnlicher Auswahl zu erstellen

Dieses Beispiel veranschaulicht, wie ein Regelsatz für Spiele mit zwei Teams mithilfe compound von... eingerichtet wird. Im Beispiel:

  • Die SimilarLeagueDistance Regel stellt sicher, dass alle Spieler in einem Spiel league weniger als 2 von anderen Spielern haben.

  • Die SimilarSkillDistance Regel stellt sicher, dass alle Spieler in einem Spiel einen Abstand skill von 10 gegenüber anderen Spielern haben. Wenn ein Spieler 10 Sekunden gewartet hat, wird die Entfernung auf 20 erweitert. Wenn ein Spieler 20 Sekunden gewartet hat, wird die Entfernung auf 40 erweitert.

  • Die SameMapComparison Regel stellt sicher, dass alle Spieler in einem Spiel dieselbe Anfrage gestellt habenmap.

  • Die SameModeComparison Regel stellt sicher, dass alle Spieler in einem Spiel dasselbe angefordert habenmode.

  • Die CompoundRuleMatchmaker Regel stellt sicher, dass ein Spiel stattfindet, wenn mindestens eine der folgenden Bedingungen zutrifft:

    • Spieler in einem Spiel haben dasselbe map und dasselbe angefordertmode.

    • Spieler in einem Spiel haben skill vergleichbare league Eigenschaften.

{ "ruleLanguageVersion": "1.0", "teams": [{ "name": "red", "minPlayers": 10, "maxPlayers": 20 }, { "name": "blue", "minPlayers": 10, "maxPlayers": 20 }], "algorithm": { "strategy":"balanced", "balancedAttribute": "skill", "batchingPreference":"fastestRegion" }, "playerAttributes": [{ "name": "league", "type": "number" },{ "name": "skill", "type": "number" },{ "name": "map", "type": "string" },{ "name": "mode", "type": "string" }], "rules": [{ "name": "SimilarLeagueDistance", "type": "distance", "measurements": ["max(flatten(teams[*].players.attributes[league]))"], "referenceValue": "min(flatten(teams[*].players.attributes[league]))", "maxDistance": 2 }, { "name": "SimilarSkillDistance", "type": "distance", "measurements": ["max(flatten(teams[*].players.attributes[skill]))"], "referenceValue": "min(flatten(teams[*].players.attributes[skill]))", "maxDistance": 10 }, { "name": "SameMapComparison", "type": "comparison", "operation": "=", "measurements": ["flatten(teams[*].players.attributes[map])"] }, { "name": "SameModeComparison", "type": "comparison", "operation": "=", "measurements": ["flatten(teams[*].players.attributes[mode])"] }, { "name": "CompoundRuleMatchmaker", "type": "compound", "statement": "or(and(SameMapComparison, SameModeComparison), and(SimilarSkillDistance, SimilarLeagueDistance))" }], "expansions": [{ "target": "rules[SimilarSkillDistance].maxDistance", "steps": [{ "waitTimeSeconds": 10, "value": 20 }, { "waitTimeSeconds": 20, "value": 40 }] }] }