tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
380
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Nobody Nobody ist offline Mitglied Bronze
    Registriert seit
    May 2009
    Beiträge
    43
    Ich war so ca. bei 60 Zeilen der Erklärung des Problems als ich mir dachte, die Schwarte liest eh keiner, also hier in kurz, falls was unklar ist bitte nachfragen...

    Ich programmier ein Multiplayer spiel.. mySQl... Hibernate für presitenz und verwaltung der Spieler- und Item- Klassen Instanzen läuft über hashMaps im Webapp...

    Problem...
    der Spieler bewegt sich, andere Spieler und Items kommen in "Reichweite" und müssen ins Spielfeld geaddet werden, andere "Verschinden", sind ausser "Reichweite" und müssen removed werden.

    Normal würde ich hierzu die DB abfragen welcher user/itam

    x < myX +distanz && x > myX -distanz && y < myY +distanz && y > myY -distanz

    .. also in "Reichweite" ist... nur würde das bei 1000 Usern und einer tickZeit von 100ms nach Adam Riese 10.000 querys pro sekunde bedeuten... was.. recht... viel ist daher hatte ich es bisher so gemacht das Daten via hiberNate in KlassenInstanzen geladen werden und von Java aus verwaltet.

    Also Daten der Tabellen users, positions und players liegen Java gesammelt in hashMaps vor undzwar mit der userID als jeweiligem Key und der Instanz der entsprechenden Klasse als Value.

    Wie ich für mySQL den entsprechenden SQL querry schreibe weiss ich, nur 10.000/s querys werden die DB killen...

    Was ich nicht weiss wie man für die Klassen einen entsprechenden Filter schreibt der mir dan nur eine List der userID´s ausgibt welche sich in besagtee "Reichweite"
    befinden...

    Hat da jemdn die Zündende Idee für mich oder könnte mir mit einem Link erfreuen, ich habe bereits nach SpieleEntwicklungstips gesucht aber anscheinend nicht die korrekten begriffe gewählt... auch die richtige bezeichnung für so einen filter (es gibt da bestimmt eine) würde mir helfen...

    danke im vorraus
     

  2. #2
    Nobody Nobody ist offline Mitglied Bronze
    Registriert seit
    May 2009
    Beiträge
    43
    hmm ich hab da gerade etwas in dieser Richtung gefunden:

    Collection CollectionFilter FilterCriteria

    wäre das für mich der richtige Ansatzpunkt?
    hat jemand nen Link zu nem entsprechenden Beipiel, weil google spuckt mir leider nicht wirklich eine Beispiel-Implementierung mit eventuellen Tipps aus?
    gibts besseres(performanteres)?

    mfg
     

  3. #3
    Nobody Nobody ist offline Mitglied Bronze
    Registriert seit
    May 2009
    Beiträge
    43
    hmm ok ich hab mich jetzt für kollisions erfassung mittels gedoubelte daten auf basis eines auf 4 bit reduzierten boundig Prinzip entschieden....

    was wäre besser dazu geeigent... eine mehrdimiensionale ArrayList oder eine hashMapofMaps ?

    mfg
     

  4. #4
    Nobody Nobody ist offline Mitglied Bronze
    Registriert seit
    May 2009
    Beiträge
    43
    blöde frage kommts bei hashMaps eigentlich nur bei mehreren Threads und gleichzeitiigem zugriff zu einer exception oder auch bei asynchroner bearbeitung und gleichzeitigem adden und auslesen der HashMap?

    wäre dann eine concurrentHashMap erforderlich oder dich eher was list basiertes?
     

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 17.07.09, 21:31
  2. "Chubba" - Game Player Model
    Von MeTwiCK im Forum 3D Studio Max
    Antworten: 1
    Letzter Beitrag: 22.08.05, 23:17
  3. Actionscript: "item" wert aus einer txt datei laden
    Von MOJOJO im Forum Flash Plattform
    Antworten: 1
    Letzter Beitrag: 30.07.05, 02:49
  4. Antworten: 1
    Letzter Beitrag: 31.12.04, 14:20
  5. Hilfe Autocadimport "dwg-filter" oder "3ds"
    Von HeikoPaetzold im Forum 3D Studio Max
    Antworten: 2
    Letzter Beitrag: 27.05.04, 19:42

Stichworte