Banner left   Banner center   Banner right

Germanenglish Home · News · Diary · Screenshots · Documentation (Wiki) · Downloads · Guestbook · Forum

Home · Benutzer registrieren · Suchen · Statistik · FAQ · Benutzerliste

Zur Zeit online: keiner ausser dir

 X-Force - Fight For Destiny - Forum —› Spielmechanik —› Tile vs. Bitmap

Autor Mitteilung
verfasst am: 10.12.2005, 11:34
Registrierdatum: 29.11.2005, 19:09

 Beiträge: 5
Angeregt durch die Diskussion um Tilesets ist mir aufgefallen, daß mometan Tiles (als Objekte zwischen Tileset und Bitmap) nicht richtig abgegrenzt sind.
Ich werde hier mal die aktuellen Tiles als Bitmap-Paare bezeichnen, auch wenn das den Inhalt eines Tiles etwas verkürzt.
Bitmaps beschreiben eine Einzelansicht eines "Teilobjektes" wie Mauer, Boden oder später auch wirkliche Objekte in einem Feld einer Karte.
Tilesets sind Zusammenfassungen solcher Beschreibungen nach Themen, Karten etc.
Tiles starteten historisch vermutlich mit Vorder- und Rückansicht. Jedoch stellte sich dann heraus, daß man zur Unterstützung von Dreh- und Spiegeloperationen weiter Ansichten braucht.
Es bot sich an, das über Verweise auf andere Bitmap-Paare zu realisieren.
Wenn demnächst Tile-IDs eingeführt werden sollten, entstehen durch diese Referenzen allerdings Probleme beim Löschen von Bitmap-Paaren auf die sich andere Bitmap-Paare beziehen.
Ich will das hier nicht ausweiten, da die Lösung naheliegend ist: Der Tile (oder ein anderer neuer) Begriff sollte sich meiner Meinung nach auf die geschlossene Gruppe aller sich gegenseitig referenzierenden Bitmap-Paare beziehen. Er beinhaltet damit alle Ansichten eines Objektes, die durch Drehen oder Spiegeln eines Objektes entstehen können.
Mathematisch ist leicht zu zeigen, daß solche Gruppen immer geschlossen sein müssen und auch von außerhalb eine Referenzierung von einer anderen Gruppe aus keinen Sinn machen kann.
Der Editor berücksichtigt dies bereits indem er beim Setzen eines Verweises auch den Rückverweis setzt. Damit entstehen bereits automatisch geschlossene Gruppen, wenn alle Referenzen richtig gesetzt sind.
Natürlich verhalten sich viele Elemente neutral bzgl. einiger Operationen. Wir haben also eine quasi variable Anzahl von Bitmap-Paaren, aber es gibt nur eine bestimmte Menge von Anzahlen die auftreten können, in Abhängigkeit von der Symmetrie bzw. der Chiralität.

Lange Rede, kurzer Sinn :-) ich denke wir sollten den Tile-Begriff auf eine Gruppe zusammenhängender Bitmap-Paare ausdehnen.
Der Tile Editor muß dazu zunächst nur einige wenige zusätzliche Tests zur Vollständigkeit der Referenzen durchführen und sollte aber langfristig diese Zusammengehörigkeit an der Oberfläche reflektieren.
Die diskutierten Tile-IDs jedenfalls sollten sich auf diese zusammenhängenden Gruppen beziehen.
verfasst am: 10.12.2005, 11:42 · Edited by: DirkF
Admin, Spielsatz GalWar

Registrierdatum: 31.08.2005, 21:51

 Beiträge: 5596
Falsch, ein Tile ist etwas anderes als Du hier vermutest.

Ein Tile ist eine Dateneinheit aus einem oder mehreren Bitmaps (bis zu 5 für verschiedene Ansichten) und mehreren Eigenschaften wie Passierbarkeit etc.

Jedes dieser Tiles ist und war immer eine in sich geschlossene Einheit, die zu keinem Zeitpunkt irgendwelche Probleme bereitete - der Tileeditor sorgte schon immer dafür das diese Dateneinheiten konsistent blieben, da fehlende Bilder aus der einen Bitmap berechnet wurden.

Also ist der Tilebegriff schon lange das was Du oben vorschlägst ;-)
Die Schwierigkeit bestand immer darin das die Ebene zwischen Karte, Tileset und Tile die ungenaue Definition hatte, nicht die Ebene zwischen Tile und Bitmap...

Denn auch mit Tile-ID wird es kein wahlfreies Löschen geben - aber aus anderen Gründen, denn die Referenzierung zwischen Tiles für die Zerstörung kann problemlos wegfallen, die ist per default sowieso leer...
verfasst am: 10.12.2005, 14:42
Registrierdatum: 29.11.2005, 19:09

 Beiträge: 5
Also, wie früher bereits gesagt ist es 20 Jahre her, daß ich Pascal programmiert habe. Ich bin mir also durchaus bewußt, daß ich bei der Codeanalyse falsch liegen kann.

Für mich stellt es sich jedenfalls so dar: TTileGrup repräsentiert einen Tileset, der durch TTileGroup.SaveToFile in einer Datei gespeichert wird.
Dabei werden zuerst drei Bitmaplisten gespeichert (Bodenfliesen, rechte und linke Mauern) und danach die Eigenschaften der Bodenfliesen und Mauern. Zu diesen Eigenschaften gehören die Verknüpfungen (als IndexNr) für die Spiegel-, Dreh- und (bei Mauern) Destroy- Operationen.

Also ist es doch keineswegs so, daß diese zusammengehörigkeit eirgendwo repräsentiert würde.

Ich habe zwar bis jetzt nur im TileEditor genauer nachgelesen, aber ein flüchtiger Blick in den Mapeditor scheint mir dasselbe zu zeigen.

Außerdem müßen wir hier ein wenig mit den Begriffen aufpassen. Im Programm steht Tile in der Regel nur für Bodenfliese, was aber sicherlich nicht ausschließlicher Gegenstand der TileId Diskussion ist.
verfasst am: 10.12.2005, 15:51
Registrierdatum: 29.11.2005, 19:09

 Beiträge: 5
Vielleivht war ich in meiner ersten Beschreibung wegen der vielen Worte zu undeutlich:

Zu einer Spiegel/Dreh-Gruppe gehören immer 8 Elemente, die im Falle einer Symetrie teilweise oder sogar alle identisch sein können. Nur damit lassen sich alle erlaubten Operationen durchführen.
Bei den Bodenfliesen sind beispielsweise nur die 4 direkten Operationsnachbarn angegeben. Zur Vollständigen Gruppe fehlen damit noch 3:
Das Element für zweimal drehen rechts (identisch mit zweimal links und mit horizontal + vertikal spiegeln in belibiger Reihenfolge)
Das Element für drehen rechts + horizontal spiegeln (identisch mit drehen links + vertikal spiegeln .. etc)
Das Element für drehen rechts + vertikal spiegeln (identisch mit drehen rechts + horizontal spiegeln .. etc)

Mein Vorschlag ging nun dahin, diese Gruppe als "Tile" oder ähnliches anzusehen und Ihr die ID zu geben, da somit automatisch gewährleistet ist daß alle Spiegel und Drehoperationen mit den Karten sowohl im Karteneditor als auch im Spiel möglich sind.
verfasst am: 10.12.2005, 16:33
Admin, Spielsatz GalWar

Registrierdatum: 31.08.2005, 21:51

 Beiträge: 5596
Das hatte ich schon so ähnlich verstanden - nur hat bisher jeder diese Gruppe bereits als Tile bezeichnet, Du warst der erste der davon geschrieben hat das ein Tile eine kleinere Einheit sei als genau diese Dateneinheit.

Zitat: Mumpitz
Mein Vorschlag ging nun dahin, diese Gruppe als "Tile" oder ähnliches anzusehen und Ihr die ID zu geben,

Um nichts anderes ging es jedem hier, niemand hatte jemals vor die Bitmaps zu nummerieren.
Dein Wunsch ist also schon seit langem Wirklichkeit ;-)

Und die Referenz auf ein anderes Tile (das Nachfolgeobjekt bei "Zerstörung") ist nicht kritisch, da dann einfach kein Nachfolgetile benutzt wird und das Feld geräumt wird...
Das wird dann zwar die Karte schneller begehbar machen, aber keine Kartenfehler erzeugen.
verfasst am: 10.12.2005, 16:40 · Edited by: Natter
Programmierer, allgemeines

Registrierdatum: 06.06.2004, 17:19

 Beiträge: 3186
Zitat: DirkF
Um nichts anderes ging es jedem hier, niemand hatte jemals vor die Bitmaps zu nummerieren.

Mag sein. Aber wenn Mumpitz recht hat, wird das im Quellcode nicht so gehandhabt (hab selbst nicht nachgesehen). Und in dem Fall würde es sich lohnen, nochmal genau zu überlegen, was in ein Tile gehört.
verfasst am: 10.12.2005, 16:42
Admin, Spielsatz GalWar

Registrierdatum: 31.08.2005, 21:51

 Beiträge: 5596
Im Quellcode existiert noch gar keine ID, deshalb kam es ja zu den Schwierigkeiten mit den Tilesets.
Und die Überlegung war wo und wie man so eine ID am besten ergänzt.
verfasst am: 10.12.2005, 16:43 · Edited by: Natter
Programmierer, allgemeines

Registrierdatum: 06.06.2004, 17:19

 Beiträge: 3186
Das es keine ID gibt, ist mir klar. Aber wie es aussieht gibt es auch noch keine Tiles (zumindest nicht so, wie das bisher angenommen wurde).
verfasst am: 10.12.2005, 17:03 · Edited by: DirkF
Admin, Spielsatz GalWar

Registrierdatum: 31.08.2005, 21:51

 Beiträge: 5596
Das ist dann aber eine Definitions- und Verständnisfrage.
Ich weiß nicht wie sich die anderen die Tile-Programmierung vorgestellt haben, aber ich hatte mir die Struktur oben schon vor einiger Zeit angeschaut und dann in jeder Diskussion die ganze Gruppe als Tile bezeichnet ohne explizit auf die Programmierung einzugehen, denn das ist das was sich die Meisten (imho) unter einem Tile vorstellen.

Andernfalls hätte man ja auch nicht in den Forumsdiskussionen durch die Bank alles vom Bodenfeld über die Wände bis hin zu als Objekte umfunktionierte Wände Wände als Tile bezeichnen können. Da kam nie eine Frage ob nun ein Bodenfeld oder eine Seite einer Wand gemeint wäre...

Soweit ich das sehe meinte jeder mit "Tile" jeweils das einzelne im Tileeditor zu bearbeitende Objekt. Und das ist genau das was oben von Mumpitz vorgeschlagen und beschrieben wurde.
verfasst am: 10.12.2005, 17:47 · Edited by: Natter
Programmierer, allgemeines

Registrierdatum: 06.06.2004, 17:19

 Beiträge: 3186
Zitat: DirkF
Soweit ich das sehe meinte jeder mit "Tile" jeweils das einzelne im Tileeditor zu bearbeitende Objekt.

Und Jim_Raynor soll sich dann zusammenreimen, was mit Tile gemeint ist, und wie er dementsprechend das Programm umstrukturieren muss? Und ich spiele damit nicht unbedingt darauf an, ob man Mauern nun als Tiles betrachtet, oder nicht (das dürfte ja klar sein). Offenbar existiert ja noch nichtmal die direkte Verknüpfung zwischen Bitmap und Eigenschaften. Jetzt wird mir auch so langsam einiges klar.

Die ID legt für mich nur fest, wie ich auf die Daten zugreifen kann. Vorher müsste man aber klären, wie die Daten überhaupt strukturiert werden sollten (eben z.B. das Eigenschaften zusammen mit den Bitmaps in Form eines Tiles abgespeichert werden etc.) Das Tileset ist für mich eben nicht viel mehr als ein Array (bzw. mehrere, wenn man zwischen Mauern, Objekten und Untergründen unterscheidet), dessen Elemente Tiles sind.
verfasst am: 27.01.2022, 14:35
Registrierdatum: 27.01.2022, 13:07

 Beiträge: 318
verfasst am: 30.06.2022, 17:48
Registrierdatum: 29.10.2021, 14:57

 Beiträge: 763
wow! love it! you really are the best! loan companies in augusta ga
verfasst am: 24.11.2023, 15:52
Registrierdatum: 22.11.2023, 07:10

 Beiträge: 47355
апел240ÑпорCHAPÐÑÑаErleБогдPiecJeweÑтудвручClusБродPanoÑодеGottJohnЛуÑÑ‚PierPatrСедоБеньÐкÑе
ClauХольИллюРадкмузыIgnaPeteTomaFranХранкартЮрьеWestЧереRobeПанчТараКашуШишоиÑкуWindÐеÑÑМати
DoveвоÑпСалиМашкElizавтоWolfСмирMODOСодеMODOJaneKoolSelaPlanШилоGordJacqHenrПандЕфреМалаМакÑ
СодеLouiAdioElegкнижthesPlanСодеElegElegизбеРезаModoZoneВолкJanoHefnЛа-МГригДидиBrixСкорÐада
ZoneÐхмеZoneZoneZoneZoneZoneZoneБогдZoneZoneZoneZoneZoneChetEricФормZoneZoneZoneРазгChetZone
БезрзалоFondTaniклейСероAtlaCataHath3041RadiÑборФорм06ZYGillхудо8985Cast
verfasst am: 04.12.2023, 06:58
Registrierdatum: 22.11.2023, 07:10

 Beiträge: 47355
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинйоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфо
verfasst am: 01.02.2024, 19:16
Registrierdatum: 22.11.2023, 07:10

 Beiträge: 47355
http://audiobookkeeper.ruhttp://cottagenet.ruhttp://eyesvision.ruhttp://eyesvisions.comhttp://factoringfee.ruhttp://filmzones.ruhttp://gadwall.ruhttp://gaffertape.ruhttp://gageboard.ruhttp://gagrule.ruhttp://gallduct.ruhttp://galvanometric.ruhttp://gangforeman.ruhttp://gangwayplatform.ruhttp://garbagechute.ruhttp://gardeningleave.ruhttp://gascautery.ruhttp://gashbucket.ruhttp://gasreturn.ruhttp://gatedsweep.ruhttp://gaugemodel.ruhttp://gaussianfilter.ruhttp://gearpitchdiameter.ru
http://geartreating.ruhttp://generalizedanalysis.ruhttp://generalprovisions.ruhttp://geophysicalprobe.ruhttp://geriatricnurse.ruhttp://getintoaflap.ruhttp://getthebounce.ruhttp://habeascorpus.ruhttp://habituate.ruhttp://hackedbolt.ruhttp://hackworker.ruhttp://hadronicannihilation.ruhttp://haemagglutinin.ruhttp://hailsquall.ruhttp://hairysphere.ruhttp://halforderfringe.ruhttp://halfsiblings.ruhttp://hallofresidence.ruhttp://haltstate.ruhttp://handcoding.ruhttp://handportedhead.ruhttp://handradar.ruhttp://handsfreetelephone.ru
http://hangonpart.ruhttp://haphazardwinding.ruhttp://hardalloyteeth.ruhttp://hardasiron.ruhttp://hardenedconcrete.ruhttp://harmonicinteraction.ruhttp://hartlaubgoose.ruhttp://hatchholddown.ruhttp://haveafinetime.ruhttp://hazardousatmosphere.ruhttp://headregulator.ruhttp://heartofgold.ruhttp://heatageingresistance.ruhttp://heatinggas.ruhttp://heavydutymetalcutting.ruhttp://jacketedwall.ruhttp://japanesecedar.ruhttp://jibtypecrane.ruhttp://jobabandonment.ruhttp://jobstress.ruhttp://jogformation.ruhttp://jointcapsule.ruhttp://jointsealingmaterial.ru
http://journallubricator.ruhttp://juicecatcher.ruhttp://junctionofchannels.ruhttp://justiciablehomicide.ruhttp://juxtapositiontwin.ruhttp://kaposidisease.ruhttp://keepagoodoffing.ruhttp://keepsmthinhand.ruhttp://kentishglory.ruhttp://kerbweight.ruhttp://kerrrotation.ruhttp://keymanassurance.ruhttp://keyserum.ruhttp://kickplate.ruhttp://killthefattedcalf.ruhttp://kilowattsecond.ruhttp://kingweakfish.ruhttp://kinozones.ruhttp://kleinbottle.ruhttp://kneejoint.ruhttp://knifesethouse.ruhttp://knockonatom.ruhttp://knowledgestate.ru
http://kondoferromagnet.ruhttp://labeledgraph.ruhttp://laborracket.ruhttp://labourearnings.ruhttp://labourleasing.ruhttp://laburnumtree.ruhttp://lacingcourse.ruhttp://lacrimalpoint.ruhttp://lactogenicfactor.ruhttp://lacunarycoefficient.ruhttp://ladletreatediron.ruhttp://laggingload.ruhttp://laissezaller.ruhttp://lambdatransition.ruhttp://laminatedmaterial.ruhttp://lammasshoot.ruhttp://lamphouse.ruhttp://lancecorporal.ruhttp://lancingdie.ruhttp://landingdoor.ruhttp://landmarksensor.ruhttp://landreform.ruhttp://landuseratio.ru
http://languagelaboratory.ruhttp://largeheart.ruhttp://lasercalibration.ruhttp://laserlens.ruhttp://laserpulse.ruhttp://laterevent.ruhttp://latrinesergeant.ru
verfasst am: 01.03.2024, 10:55
Registrierdatum: 22.11.2023, 07:10

 Beiträge: 47355
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинйоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфо



Du musst dich registrieren um auf dieses Thema zu antworten.
Login :: » Name » Passwort

Ladezeit (sec.): 0.017 · Powered by miniBB 1.6 with parts of 1.7 © 2001-2003