![]() |
|
Drehbare Karte - Druckversion +- TT-MS Headquarters (https://www.tt-ms.de/forum) +-- Forum: Allgemeines rund um Transport Tycoon (/forumdisplay.php?fid=71) +--- Forum: Wunschliste und Ideen (/forumdisplay.php?fid=8) +--- Thema: Drehbare Karte (/showthread.php?tid=1720) |
Drehbare Karte - svenexp - 04.02.2006 13:46 Hey wie Wäre es mit einer Drehbaren Karte? eitweder Per Button oder das man sie mit der Maus (Tastatur) drehen kann? also in Rollercoaster tycoon und in Locomotion. gibt es sie ja aber in TTDL und auch in OTTD nicht was haltet ihr davon? - ramstein7 - 04.02.2006 14:13 Ja wäre ganz nett und manchmal auch nützlich! Nur man müsste die Gebäude und Fabriken neu Zeichen. - RK - 04.02.2006 14:37 Das wäre zuviel Arbeit auf technischer und zeichnerischer Ebene. - Sgt. Pepper - 04.02.2006 20:06 Zitat:Original von svenexp das problem ist einfach, dass die 2 genannten beispiele von vornherein 3 dimensionial aufgenbaut sind, und das halb ansichten aus jeder himmelsrichtung möglich sind. TT ist aber nur 2 dimensonial. davon abgesehen, dass es also keine grafiken/sprites/trexturen (was auch immer) für die gebäude von "hinten" gibt, brächte das noch ganz andere Pobleme mit sich, für die TT einfach nicht konzipiert ist. Aber recht hast . schön wärs
- Addi - 04.02.2006 23:57 Also ein sooo grosser zeichnerischer Aufwand wärs denk ich auch nicht. Die Verkehrswege kann man problemlos in alle vier Himmelsrichtungen drehen, für die Häuser wärs auch nicht zwingend nötig. Eigentlich bräuchts nur bei Flughäfen, zwei-Felder-Häuser und gewissen Fabriken neue Grafiken. Obwohl sogar bei den Fabriken der Grafikaufwand minimal wär, man müsste meistens nur die einzelnen Felder anders anordnen. Klar kann man dann Fabriken und Häuser nicht richtig von hinten aus betrachen, aber das wär ja nicht so schlimm. Wär wie gesagt im laufendem Spiel sowieso kaum möglich, aber einfach den Spielstand um 90° drehen wäre denk ich schon machbar! - Sgt. Pepper - 05.02.2006 01:46 Naja, die Grafiken sind dabei wohl das geringste übel . ich hab mir zwar noch kein stückchen code von OTTD angeschaut, und werd das vorerst auch nicht tun (hab ich eh zu wenig ahnung von), aber . ich möchte behaupten, die Karte "weiß" gar nicht, wie sie aussehen soll, wenn amn sie um 90 grad nach links dreht. Denn ich möchte mal behaupten, Stercken und der gleichen (pathfinding) sind auf den heutigen Blickwinkel beschränkt. Das bedeutet dann, du kannst die Karte zwar optisch drehen wohin du willst (theoretisch) aber was dann da bei raus kommt (wo die gleise liegen, und wo stattdessen die züge fahren) wäre ein putziges durcheinander. Beispiel: ----------\ /---------/ \---------- (das soll ne schlangen linie sein von links oben nach wieder rechts unten) jetzt bastelt mal ne Routine, die jedes Zeichen so lange dreht, bis eine Schlangenlinie von rechts oben nach links unten entsteht, so dass die geraden senkrecht verlaufen. (das entspricht "ganzes bild um 90° nach rechts" gedreht. Ihr werden schwierigkeiten bekommen^^ (und das ist nur ne Map 3 mal 10, bei OTTD reden wir von 256x256 im kleinsten fall) Edit: Das Beispiel mit der Schlangenlinie ist vielleicht bissl abstrackt. Daher mal etwas ansprechender. Hier also das Beispiel, einmal um 90° nach rechts drehen . 1. unser Ausgangsbeispiel. 2. Das was passiert, wann man das Problem auf grafischer Ebene angeht und 3. das was eigentlich dabei rauskommen soll. Ich denke es ist offensichtlich das da Welten liegen zwischen 2 und 3. Edit 2: wer genau hinsieht erkennt vielleicht eine gewisse symetrie zwischen Bild 1 und 3. Technisch gesehen müßte beim Karte um 90° drehen, folgendes passieren. 1. Karte vertikal Spiegeln (optisch) 2. alle Sprites (Züge, Gebäude, Bäume etc) richtigrum drehen (180°, weil sie nach dem Spiegeln auf dem kopf stehn) 3. alle Fahrzeuge in entgegengesetze Richtung fahren lassen (nur optisch, logisch gesehen, fahren sie ja zum richtigen Ziel). Sind eigentlich 3 ganz einfache Schritte, aber alle zusammen doch recht aufwendig, wenn man bedenkt, das wir hier von hunderten/tausenden Fahrzeugen reden und millionen Sprites, die alle neu gesetz werden müssen. Das sieht dann so aus. - horizontal spiegel setzt zwar fahrzeuge richtig rum, aber objekte stehen auf der falschen Seite zu ihrem bezugspunkt. (hier gleis) - Vertikales Spiegeln, behält die Positionsbeziehungen korekt bei, dreht aber alle Sprites auf den Kopf. - Roman - 05.02.2006 11:42 Ich habe mir schon ein paar Mal überlegt, einen Savegame-Dreher zu programmieren. Es wäre definitiv machbar, wenn auch mit erheblichem Aufwand. Aber verglichen mit dem, was in einigen Tagen aus meiner Programmierkiste hervorgehen wird (siehe Counter auf meiner Page), keine grosse Sache 8) . Es wären vielleicht so ca. 300-400 Stunden Programmierarbeit. Zu tun wäre folgendes: 1. drei neue komplette Grafiksets (je +90°), wobei nur die von Addi angetönten Änderungen nötig wären, d.h. Fabriken neu anordnen, Flughäfen und mehr-tile-Häuser neu zeichnen. ("mehrteil"-Häuser ausgesprochen, man bemerke den Wortwitz. ) Der Rest könnte bestehen bleiben.2. Savegame drehen, d.h. alle landscape arrays umformen (verhältnismässig schnell gemacht), vehicle arrays anpassen (hässliche Kleinarbeitarbeit, recht äufwändig) und dann noch unzählige kleine, aber teils simple Anpassungen z.B. im station array usw. @ Sgt. Pepper: Das mit der Schlangenlinie ergibt sich automatisch, wenn du die landscape arrays der ganzen Karte drehst/konvertierst. Das wäre ja das Schöne an einem solchen Programm. In Sachen Grafik wäre nebst den angetönten Sets nichts weiter zu tun. Du musst bedenken, dass das Savegame nur die Struktur der TT-Welt beinhält, nicht ein bitmap der Grafik. Mann kann das nicht mit der grafischen Rotation eines Screenhots vergleichen, das ist was komplett anderes. Du kannst dir das so vorstellen: Im Prinzip steht im Savegame, dass nordöstlich vom Heliport ein Stück Schiene steht. Das Spiel liest dann diese Information aus dem Savegame und zeichnet die Welt dementsprechend auf den Bildschirm. Das Programm, das das Saveame dreht, müsste nun also nur ins Savegame schreiben, dass die Schiene neu südwestlich vom Heliport steht. Das Spiel lädt dann diese Daten und rendert automatisch richtig. Mit grafischem Schnickschnak hat man zum Glück nichts zu tun. Aber wisst ihr, warum ein solches Tool noch nicht programmiert wurde? Weil es zwar programmierbar ist, aber nichts bringt; weil TT mit so einem Savegame nicht laufen würde. Ein Beispiel: Die TT-Engine sagt einem Flugzeug: flieg den Flughafen von Südwesten her an und sinke auch in dieser Richtung auf die Landebahn. Stellt euch nun vor, die Piste wäre um 90° gedreht, dank dem programmierten Tool. TT wird den Flugzeugen nachwie vor sagen: Flieg die Piste von Südwesten her an. Und das geht natürlich nicht mehr. Anders gesagt: Nicht nur das Savegame müsste konvertiert werden, sondern (3.) auch das ganze Spiel selbst. Im Prinzp heisst das: Grosse Teile des Codes neu schreiben. Das wäre nochmals ein vielfaches an Aufwand. |