Game Center Gruppen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Game Center Gruppen

    Hallo liebe Entwicklergemeinde,

    ich arbeite zur Zeit an einem Spiel für iOS bei dem ich auch einen Game Center Multiplayer anbieten möchte.
    Das Gröbste habe ich hierfür schon implementiert, jedoch habe ich ein Probleme:

    Das Spiel ist in Level aufgeteilt. Momentan gibt es davon 3 (Drei) Stück.
    Nun soll es gewisse Einschränkungen geben, welchem Spiel welcher Spieler beitreten kann.
    So soll dies ungefähr ausschauen:

    Level 1 -> Nur Level 1 Spiele
    Level 2 -> Nur Level 1 und 2 Spiele
    Level 3 -> Alle Spiele

    Ich habe schon einige Versuche mit PlayerGroups gemacht, dennoch ist es mir nicht möglich, eine Lösung für dieses Problem zu finden.
    Die Einschränkung für Level 1 Spieler (Hier muss lediglich die PlayerGroup auf 1 gesetzt werden) und Level 3 Spieler (Hier setzte ich die PlayerGroup einfach auf 0) besteht bereits.
    Auch nach langem recherchieren habe ich allerdings noch keine Anhaltspunkte gefunden, wie ich die Einschränkungen für Level 2 umsetzten kann.

    Habt ihr vielleicht eine Idee?
    Vielen Dank bereits im Voraus.
  • Hast Du da nicht einen Denkfehler drin?

    Level 1 -> Nur Level 1 Spiele
    Level 2 -> Nur Level 1 und 2 Spiele
    Level 3 -> Alle Spiele



    sollte eher so sein oder habe ich da was falsch verstanden?


    Level 1 -> Alle Spieler
    Level 2 -> Nur Level 2 und 3 Spieler
    Level 3 -> Nur Level 3 Spieler

    Also genau andersrum von der Logik her, damit man das besser Coden kann.


    Würde ich mal so sehen :)
    Cheers
    Frankenheimer
  • Nein, von der Spiellogik ist Level 3 das höchste Level, welches man erreichen kann.
    Es geht darum auf welchen Datensatz welcher Spieler zugreifen kann.
    Spieler 1 kann nur auf die ersten 30 Daten zugreifen.
    Spieler 2 auf die ersten 60 Daten und Spieler 3 auf alle Daten.

    Trotzdem Danke für deine Antwort.
  • Ok, also nochmal:

    Bei meinem Spiel ist zu Beginn nur Level 1 freigeschaltet.
    Mit der Zeit sammelt man Punkte und schaltet weitere Level frei, bis man das aktuell höchste Level 3 freigeschaltet hat.
    In jedem einzelnen Level greift man auf einen unterschiedlichen Datensatz zu.
    Daraus folgt, dass man erst in Level 3 auf alle Datensätze zu greifen kann.
    Nun soll beim Erstellen eines Multiplayerspiels geschaut werden, welche Level man schon freigeschaltet hat, um so zu regulieren welche Datensätze dem Spieler im Multiplayerspiel präsentiert werden.

    Quellcode

    1. switch (playerGroup)
    2. {
    3. case 1: request.playerGroup = 1; break;
    4. case 2: request.playerGroup = ?? break;
    5. case 3: request.playerGroup = 0; break;
    6. default: break;
    7. }


    Diese Einteilung der Datensätze erfolgt in 30ger Schritten, sprich in Level 1 wird nur auf die ersten 30 Daten zugegriffen, in Level 2 auf die ersten 60 und in Level 3 dann auf alle.

    Quellcode

    1. int dataNumber = (arc4random() % (level * 30)) + 1;


    Dadurch, dass ein Level 3 Spieler auf alle Datensätze zugreifen kann, soll es ihm auch möglich sein, Level 1 oder 2 Spielen beizutreten.
    Andersherum einem Level 1 Spieler jedoch nicht einem Level 3 Spiel, da dieses Daten enthält, die der Spieler noch nicht freigeschaltet hat.
    Die Problematik besteht nun darin, dass ich keinen Weg finde einem Spieler zu ermöglichen, verschiedenen playerGroups beizutreten.
    Dies ist aber zwingend notwendig um die Einteilung für einen Level 2 Spieler vorzunehmen, der folglich einem Level 1 oder Level 2 Spiel beitreten kann.

    Ich hoffe mein Problem ist nun etwas klarer geworden und jemand von euch hat eine Lösung oder einen Ratschlag.
    Vielen Dank.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von CED311 ()