Einzelnen Beitrag anzeigen

Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#2

AW: Welt bewegt sich um Spieler

  Alt 6. Nov 2010, 17:13
Wenn du die Map aus Tiles zusammen setzt, brauchst du doch gar nicht mehr die Nachladestrategie (welche prinzipiell natürlich möglich ist, und auch oft praktiziert wird). Die Map-Datei wird klein genug, um sie komplett zu laden. Wenn du ohnehin eine Map mit fester und rechteckiger Form hast, brauchst du auch die Koordinaten nicht zu speichern, wenn du sie quasi wie bei Bitmaps die Pixel einfach hintereinander weg schreibst. Noch schneller wird die Verarbeitung, wenn du kein Klartext-basiertes Format nimmst, dann fallen etliche Konvertierungen weg, und man spart in der Regel so 30-50% an Speicherplatz.
Die Tiles sollten ja auch alle recht handlich ausfallen, so dass diese auch locker am Stück ins RAM können, und dann eben immer nur den sichtbaren Bereich zeichnen.
Was die Kollision angeht: Wenn sich der Spieler immer in einzelnen Schritten fortbewegt, brauchst du im Grunde nur eine kleine Abbildung der 8 Felder um ihn herum, und musst pro Schritt nur maximal 8 Mal testen, wenn man es geschickt macht sogar nur ein Mal. Dafür macht es dann Sinn die Map in eine quasi 2D-Verkettete Liste zu packen, wo jeder Knoten jeweils einen Verweis auf seine 8 Nachbarn hat. Dann kann man da super komfortabel durchtraversieren.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat