Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Zusätzliche Grafiken für Gebäude die nicht an Straßen liegen
#1
Ich wollte nur mal schreiben an was ich derzeit am basteln bin.

Normale Gebäude richten sich an die Straßen aus. Dim *,*,1-4

Es gibt aber auch Gebäude die zusätzliche Grafiken haben für Eckgebäude Dim *,*,8

Pak128.german baut aber auch in der 2. Reihe und in der Mitte von 3x3 Blöcken

Derzeit steht dann einfach Ausrichtung 0 hinten, wenn keine Straße gefunden wird.
[Bild: Mitte.png]

Derzeit ist das so gelöst dass die Grafik den Zaun der Hinteren Kachel etwas überdeckt, so dass es nicht so auffällt.

Schöner wäre eine eigene Grafik für die Grundstücke in der Mitte.

Derzeit bin am Basteln für 4 zusätzlichen Grafiken, wenn keine Straße in der nähe ist. Das wird dann Dim *,*,12
Funktioniert schon fast. Beil Drehen läuft noch was schief und wenn ein Dim12 renoviert wird und gegen ein Dim8 oder Dim4 ersetzt wird, dann übernimmt er anscheinend die alte Rotation und fällt damit auf Nase.

[Bild: Mitte2.png]

Auch hier könnte man dann Hinterhäuser als zusätzliche Grafik definieren.
Denn oft haben in Blockbebauung nur die Häuser an der Straße eine Schaufassade und die Häuser in den Hinterhöfen sind recht schmucklos und schäbig.
Eine Schaufassade in der 2. Reihe sieht dann doch komisch aus.
Zitieren
#2
Nicht nur Gebäude, die gar nicht an einer Straße liegen, sind schlecht definiert, auch Gebäude, die an 3 Straßen liegen oder nur diagonal an Straßen liegen könnten eigene Definitionen verkraften.

Im Internationalen hatte ich mal was dazu geschrieben (damals hardcoded, welche der 8 verfügbaren Grafiken verwendet werden sollten, aber mit mehr dims ginge es freilich auch.):
https://forum.simutrans.com/index.php/to...#msg161245

Natürlich kann es nicht Sinn der Sache sein, für jede Straßenkonstellation eine eigene Dimension anzugeben, aber 16 Dims verbräuchten auch nicht mehr bits als 12, für Innenecken würde es also reichen Wink nur mal so als Denkanstoß
Zitieren
#3
Danke für den Link, das war hilfreich.
Im Prinzip könnten man die Grafiken 13-16 auch belegen. Ob mehr als 16, weiß nicht ob man da irgendwo in Probleme läuft.

Was hättest du gerne als 13-16 Grafik?
Konkave Ecken?
Für die Ecke nach innen könnte man auch die Ecke der Gegenrichtung nehmen, allerdings würde dann die Innenseite zu Straße zeigen.
Zitieren
#4
(28-11-2019, Thursday-10:48:03 )makie schrieb: Für die Ecke nach innen könnte man auch die Ecke der Gegenrichtung nehmen, allerdings würde dann die Innenseite zu Straße zeigen.
Das funktioniert ja schon so. Big Grin

Drehen geht jetzt auch. Cool

Mehr als 16 Grafiken sollten eigentlich auch machbar sein, sollte da Bedarf sein.

*Hm* und das ganze sollte auch bei Mehrkachelhäuser funktionieren.
Das muss ich noch gründlich testen.
Zitieren
#5
Du, ganz ehrlich: Pak192.comic als Pixel-Pak ist der falsche Ansprechpartner beim Thema "mehr Grafiken für Rotationen". Im Vergleich zu render-paks ist der Aufwand einfach ungleich höher - bei uns werden jetzt schon nur 6 Grafiken für die 8 Rotationen verwendet, und wenn du deine 4 Innengrafiken umsetzt, werden die bei uns sehr wahrscheinlich alle mit dem gleichen Bild belegt.

Spannend wäre es, weil es spezifischere Zuteilung ermöglicht. Dh. auch ohne eigene Bilder könnte man sich aussuchen, ob die konkaven Ecken Ecken der Gegenrichtung sind, oder ob dafür die Innengrafiken, die du gerade umsetzen willst, wiederverwertet werden. Für P192C passen die Ecken, aber bei deinem ersten Beispiel stünde das Schild mitten in der Pampa, und auch bei deinem zweiten Beispiel dürften sich die Innengrafiken für konkave Ecken auch besser machen, weil die ganze Kachel bedeckt ist.
Zitieren
#6
(29-11-2019, Friday-08:24:54 )Leartin schrieb: Du, ganz ehrlich: Pak192.comic als Pixel-Pak ist der falsche Ansprechpartner beim Thema

Ich wollte wissen was du haben möchtest, oder brauchst.
Wenn ich in der Ecke am basteln bin kann ich auch das eine oder andere zusätzlich einbauen.
Ansprechpartner seid nur ihr vom Pak192.comic und wir, sonst bastelt kaum jemand an Grafiken zu Städten. Vielleicht noch die Japaner von Pak256.

Das eine ist: Wie viele Grafiken kann man Stadtgebäude mitgeben?
Derzeit 1,2,4,8
von mir geplant 12
16 sollten auch funktionieren
wenn man die Prüfung entfernt, dann auch nach oben offen. Irgendwo gibt es sicher ein Limit beim Speicher, aber das ist denke ich weit weg.
Aber die Grafiken werden beim Drehen rotiert, also immer in 4 Päckchen und beim drehen der Karte werden die Grafiken innerhalb der 4 Päckchen gewechselt.
Wenn das 4 mal die gleiche Grafik ist, ist das kein Problem. Ich wollte ursprünglich nur eine Grafik für die Mittelfelder mitgeben, aber das wäre programmtechnisch eine Extrawurst und so was macht immer wieder Ärger. Besser ist 4 Grafiken, auch wenn sie gleich sind.
Lücken lassen zwischen den 4er Päckchen geht nicht, das muss zur Not mit dummy Grafiken aufgefüllt werden.
Diese zusätzlichen Grafiken kann man allerdings erst mal nur manuell bauen.


Das zweite ist: welche Grafiken werden wann automatisch gebaut?
Das ist eigentlich erst mal unabhängig von Punkt 1.
Natürlich können nur vorhandene Grafiken auch gebaut werden.
Derzeit von mir eingebaut: Wenn keine Straße in der Nähe dann baue wenn vorhanden (>=12) eine zufällige Kachel aus dem Bereich 9-12

Was ich derzeit noch überlege ob ich die Mittenkacheln an Straßen der 2. Reihe ausrichten soll. Dann gäbe es eigentlich auch Innen-Ecken.
Damit verdoppelt sich allerdings der programtechnische Wust zur Positionierung.

Das andere wo ich mir noch nicht so genau angeschaut habe, wie sieht das ganze für Mehrkachelhäuser in den verschiedenen Formaten aus. (1x2,2x2, 2x3)
Zitieren
#7
Welches sind die extra 4 Grafiken?
Ich würde mich um eine mit 4 Straßen, vier mit 3 Straßen und eine mit 0 Straßen freuen.
Sonst invertierte Ecken?
Zitieren
#8
Okay, hier meine Meinung dazu:
Die bestehenden 8 Grafiken bleiben logischerweise.
Ich plädiere für 8 weitere Grafiken, einfach weils die gleiche Bitanzahl ist. Es wäre quasi Verschwendung, das nicht auch zu nutzen. Ich gehe dabei davon aus, dass man trotzdem 12 Grafiken definieren kann, wenn man die zusätzlichen 4 nicht benötigt.

Welche Grafik wird wann gebaut?
Wie im Verlinkten Post habe ich da zwei Überlegungen dazu:
1) Innere Ecken, wenn es nur eine diagonale Straße gibt.
2) Wenn es drei Straßen um ein Gebäude gibt, sollte es die gleiche Rotation sein, die es auch wäre, wenn es zwei Straßen an gegenüberliegenden Seiten gibt, damit auch zB. in einer 1x3 Fläche eine Häuserzeile entstehen kann. (Für p192c gilt 0=2 & 1=3, daher ist für p192c nicht relevant, welche der zwei Optionen jeweils genutzt werden)
Neu 3) Wenn es gar keine Straße gibt, eine Innenhof-Grafik.


Nummer eins wurde inzwischen etwas anders umgesetzt, ich weiß nicht genau, wann. Innere Ecken richten sich nicht an der diagonalen Straße aus, aber wenn keine der vier direkt anliegenden Felder Straßen sind, richten sich Gebäude an den umliegenden Gebäuden aus. Ist jedenfalls mal besser, als gar keine Ausrichtung, hat aber eigene Probleme.

   

Hier sieht man jeweils einen 3x3 Block, bei dem eine Ecke fehlt. Die äußeren Gebäude werden an den Straßen ausgerichtet, das passt auch so. Fragen wir uns, wie die inneren Ecken ausgerichtet werden sollten.
Derzeit würde hier Rotation 0 verwendet, weil das Spiel rundherum 4 Gebäude sieht und einfach mit den Schultern zuckt.
Für die Häuserzeile wäre eine innere Ecke optimal, da damit ein geschlossener Block entsteht. Wenn sich Gebäude an der diagonalen Straße ausrichten würde das passen.
Für den Parkplatz gilt das aber nur bedingt - eine innere Ecke würde hier eine Mauer in der Mitte des Geländes einziehen. Das wäre zwar schon besser als Rot0, noch besser wären aber entweder eine eigene Grafik oder die Innengrafik.

Ich bin daher der Meinung, dass es am sinnvollsten wäre, die zusätzlichen 4 Grafiken für diese "inneren Ecken" zu nutzen. Bei den Gebäuden wären diese nochmal die Eckgrafiken, beim Parkplatz die Innengrafiken, aber weil sie gesondert definiert sind kann der Autor sich das leicht aussuchen.



Falls mehr als 16 Grafiken eine echte Option sind, würde ich 17-20 für Endstücke nutzen. Also genau die Situation, wenn ein Gebäude an 3 Seiten von Straße umgeben ist, aber sich zur vierten Seite hin verbinden soll. Derzeit wird da auch auf andere Gebäude geschaut, allerdings wird, sofern ich das richtig gesehen habe, nicht Rot0 und Rot1 verwendet, wenn daneben schon ein Gebäude steht, sondern Rot2 und Rot3. Dh. in einem 3x1-Feld wäre das mittlere Rot0 bzw. Rot1 und die anderen beiden Rot2 bzw. Rot3. In P192C kein Problem, aber ich glaube, für p128g passt das gar nicht so gut.
Egal: Diese Endstücke könnten durch solche mit Fassade an 3 Seiten ersetzt werden, sofern solche Grafiken vorhanden sind.


Solltest du zur Auswahl deiner "Innengrafiken" ein Zufallsprinzip anwenden, das es bisher da noch gar nicht gibt, würde sich womöglich auch anbieten, in 32er-Schritten Wiederholungsgrafiken einzubauen. Dh. jede definierte Grafik über dem Wert 31 entspricht der gleichen Rotation (%32), und welche der Grafiken verwendet wird wäre zufällig. 32, weil damit wieder ein Bit voll wird, und man noch Puffer hat, falls weitere dezidierte Rotationen nötig wären. Sinn dahinter wäre, dass das gleiche Gebäude mit wenigen grafischen Abweichungen auch wirklich das gleiche Gebäude sein könnte, anstatt mehrerer ähnlicher Gebäude. [Aber ja, das entfernt sich schon wieder vom Kern der Sache und könnte auch ein eigener Parameter sein]



Mehrkachelgebäude... würden nicht gleich funktionieren. Ein Zitat aus dem englischen Forum, wie man damit umgehen könnte, wenn man wirklich wollte:
"I'd like to point out, though, that there is a rather different option: Seperate tile-rotation and building rotation.
Say you have a 1x2 facing the road with the long side (to the south, rotation 0). The left/west tile could have it's own rotations: Rotation 0 if there is only a road to the south, rotation 7 if there is also a road to the west, making it a corner. The right/east tile could have rotation 0 if there is only a road to the south, or rotation 4 if there is also a road to the east. So not only could there be a corner on either side, but also a corner at both sides. (and, using other rotations, there can be different graphics if there is a road in the back etc. - but it's not feasable to create seperate graphics just for that)
This would allow for seamless combination of multitile-buildings and 8-rotational rowhouses, as all tiles of the multitile-building would obey the very same rotation rules.

You could have a 2x2 building with no rotation of it's own, but it's tiles use it's own rotations to "connect" to the sidewalk of the road or place fences on all sides without roads, since there would be neighbouring buildings. You can have a door on each tile that faces a road, but not on tiles that don't face roads - something like that. All the things where it's not a matter of actual building rotation (which is front yard with the nice facade, which is the back yard with the smoker's corner...) but a matter of which tile specifically connects to a road."
~ https://forum.simutrans.com/index.php/to...#msg179516
Zitieren
#9
Zitat:Ich plädiere für 8 weitere Grafiken, einfach weils die gleiche Bitanzahl ist.
Es sind keine Bits, es ist einfach eine Zahl. 12, 16, 20 ,24 usw. alles gleich gut.
Platz brauchen nur die Grafiken selbst.

Programmtechnisch ist die Anzahl belanglos, es müssen nur immer 4er Pakete sein wegen der Rotation.
Und es können keine Pakete ausgelassen werden. Also im Notfall -> Dummy Grafik

0-3 Wie bisher Strassenrand
4-7 Wie bisher Ecke mit Straße an 2 Rändern
8-11 keine Straßen an den Rändern (Ausrichtung Zufällig? oder an der Straße die zwei Kacheln entfernt ist ->Aufwendig da komplett neues Coding)
12-15 Innere Ecke
wobei Sonderregelung:
wenn nur 8 dann kommt die Ecke gegenüber als innere Ecke (innen zeigt also nach außen)
wenn nur 12 dann gibt es keine Innere Ecke sondern eine aus 9-12 also eine Innenhof Grafik
wenn 13-16 dann diese als Innere Ecke
15-19 Endstück mit Straßen an 3 Seiten
20-23 an 4 Seiten Straßen (mit Zufallsauswahl )

Zitat:Solltest du zur Auswahl deiner "Innengrafiken" ein Zufallsprinzip anwenden, das es bisher da noch gar nicht gibt

Das war schlicht Faulheit. Ich hab mir spezielles Coding zum Ausrichten an was auch immer geschenkt.

Zitat:würde sich womöglich auch anbieten, in 32er-Schritten Wiederholungsgrafiken einzubauen. Dh. jede definierte Grafik über dem Wert 31 entspricht der gleichen Rotation (%32), und welche der Grafiken verwendet wird wäre zufällig. 32, weil damit wieder ein Bit voll wird, und man noch Puffer hat, falls weitere dezidierte Rotationen nötig wären. Sinn dahinter wäre, dass das gleiche Gebäude mit wenigen grafischen Abweichungen auch wirklich das gleiche Gebäude sein könnte, anstatt mehrerer ähnlicher Gebäude. [Aber ja, das entfernt sich schon wieder vom Kern der Sache und könnte auch ein eigener Parameter sein]

Das löst man doch besser einfach mit einem weiteren Gebäude im gleichen Cluster. Letztlich kommt das aufs gleiche raus.
Zitieren
#10
(30-11-2019, Saturday-19:30:28 )makie schrieb:
Zitat:Solltest du zur Auswahl deiner "Innengrafiken" ein Zufallsprinzip anwenden, das es bisher da noch gar nicht gibt

Das war schlicht Faulheit. Ich hab mir spezielles Coding zum Ausrichten an was auch immer geschenkt.

Das mit dem Zufall ist keine so gute Idee.
Man kann bei der Gebäude-Info die Ausrichtung sehen.
[Bild: Mitte3.png]
Die erste Zahl ist die Ausrichtung der Gebäudes, also der derzeitige Ist Stand.
Die zweite Zahl zeigt wie die Routine  building_layout bei der jetzigen Straßenlage das Haus positionieren würde wenn neu gebaut werden würde.

Wenn der Wert zufällig ist wuselt die zweite Zahl sinnlos rum, das macht sich nicht gut.

Sollte man die Zahlen mit dem Translator nicht übersetzbar machen?
Wobei die Zahlen so gut vergleichbar sind, aber was sie bedeuten sich nur dem Eingeweihten erschließt.

Oder so was wie "7 = Ecke Nord-West" ?

Oder da beim rotieren Norden wandert die Ausrichtung aber nicht,
vielleicht besser "7 = Ecke Links" ? "4 = Ecke unten"

----------------------
In der Routine "renovate_city_building" ist eine Kopie vom Coding wie in building_layout drin.
Natürlich nicht genau gleich Angry
Natürlich unvollständig was Eckhäuser und Mehrkachelhäuser betrifft.  Cry
Ich hab den doppelten Kram bei mir rausgeworfen und gegen die Routine  building_layout  ersetzt.
Und ... --> nah siehste es läuft doch gleich viel besser
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste