Anmelden

Vollständige Version anzeigen : Version 0.4.1


tobing
14.01.2008, 17:15
So, da ist die reparierte Version. Die Versionsnummer passt auch besser, wiel sich gegenüber 0.3 ja doch vieles geändert hat.

Neu ist: Im Savegame wird zusätzlich die aktuelle Position der Kartenansicht gespeichert, so dass man nach dem Laden wieder an der Stelle steht, wo das Spiel gespeichert wurde.

Eine weitere Korrektur besteht darin, dass der Schwierigkeitsgrad richtig behandelt wird. Man kann also jetzt auch mal auf Leicht oder Schwer stellen und spielen. Ich glaube aber, dass empfehle ich lieber nicht, weil ich das weder getestet noch balanciert habe...

Ach ja, und für das Herumbasteln gibt es auch eine Vereinfachung: Wenn alle normalen Objekte geladen wurden, wird noch ein Skript namens 'ddm_ext.lua' gesucht und ausgeführt, falls vorhanden. Ein Beispiel für eine solche Erweiterung in devd/ lege ich gleich als Anhang dazu.


Viel Spass damit!

ersatzteil
15.01.2008, 10:04
Super, habs hinbekommen was neues einzufuegen.

Eine Frage bleibt noch offen. Wofuer stehen die ganzen Zahlen genau?

read_mtile( "deko1img-2", 01, 0, 0, 1, 1, 63 );

read_mtile( "deko1flr-2", 01, 0, 64, 1, 1, 31 );

Es geht um irgendwelche Positionen in der jeweiligen Bilddatei, aber wofuer jede Zahl steht weiss ich nicht.
Und wo ist dann der Ursprung?

tobing
15.01.2008, 10:18
Es sind derer 5 Zahlen für read_mtile: Die ersten beiden geben die Pixelkoordinaten des Ursprungs des Bildes an, gezählt links oben. die folgenden beiden geben an, wieviele Kacheln gross die Grundfläche ist, daraus berechnet sich die Breite des Bildes und der Hotspot, der immer in der untersten Kachel liegt. Die letzte Zahl ist dann die Höhe des Bildes in Pixeln, denn das kann ja mehr sein als die Grundfläche hoch ist.

ersatzteil
15.01.2008, 17:20
Und wofür ist die erste Zahl? In dem Falle jeweils die 01?

tobing
15.01.2008, 18:55
Die 01, also 1, ist der Variantenzähler. Man kann für ein Objekt mehrere Varianten anlegen (alle mit gleichen Abmessungen), die dann (bisher) zufällig ausgewählt werden, wenn man ein Objekt dieser Sorte baut. Ein Beispiel findet sich in den load_house_*.lua Files... und in load_bakery.lua, sehe ich gerade.

ersatzteil
15.01.2008, 22:56
Ich hab mal paar Wege mit Dekos simuliert.

http://img217.imageshack.us/img217/8682/wegelo2.jpg (http://imageshack.us)

Mir ist dabei auch was aufgefallen: Viele der Grafiken haben Fragmente an den Rändern. Das liegt daran, dass sich an den Stellen zum Teil transparente Pixel befinden und das Magenta vom Hintergrund durchscheint.

Noch was: Mir ist aufgefallen, dass wenn ich Variationen einbauen, dann stimmt der Boden nicht immer mit dem Objekt überein. Es gibt also Kacheln mit der Kombination 01,02 und 02,01. Sieht teilweise sehr komisch aus, wenn der Boden wechselt sobald man mit der Maus in der Nähe ist. Weiß jetzt nicht ob das so beabsichtigt ist.

tobing
16.01.2008, 07:26
Mir ist dabei auch was aufgefallen: Viele der Grafiken haben Fragmente an den Rändern. Das liegt daran, dass sich an den Stellen zum Teil transparente Pixel befinden und das Magenta vom Hintergrund durchscheint.

Das kann sein, aber nicht so, wie es in deinem Bild an den Wegerändern zu sehen ist, das liegt eher daran, dass da was um ein Pixel verschoben ist. Hatte ich selber auch immer mal... :roll:

Die Fragmente kann man vermutlich wegbekommen, wenn man (programmintern) einen alpha-blender einsetzt, das mache ich später mal noch richtig. Irgendwann soll das Ganze ja auch einfach mit OpenGL laufen, und da sind solche Sachen viel einfacher. Abhilfe bis dahin sollte sein, den Grafiken einfach scharfe Ränder zu verpassen, dann passiert das nicht.


Noch was: Mir ist aufgefallen, dass wenn ich Variationen einbauen, dann stimmt der Boden nicht immer mit dem Objekt überein. Es gibt also Kacheln mit der Kombination 01,02 und 02,01. Sieht teilweise sehr komisch aus, wenn der Boden wechselt sobald man mit der Maus in der Nähe ist. Weiß jetzt nicht ob das so beabsichtigt ist.
Oops, das muss ich mir mal genauer anschauen. Kann gut sein, dass da nicht die gleiche Variante ausgewählt wird, ich habe ja in aller Regel den gleichen Floor benutzt für verschiedene Varianten...

Danke für den Hinweis!

tobing
16.01.2008, 08:51
Oops, das muss ich mir mal genauer anschauen. Kann gut sein, dass da nicht die gleiche Variante ausgewählt wird, ich habe ja in aller Regel den gleichen Floor benutzt für verschiedene Varianten...

Es wird natürlich nicht die gleiche Variante gezogen. Die interessante Frage ist aber, ob man das überhaupt möchte...

Ich denke, bei den Varianten sollten die soweit ähnlich sein, dass sie im Prinzip alle den gleichen Floor haben. Kommen dann leicht unterschiedliche Floortiles dazu, erhöht das die Anzahl der möglichen Variationen, und das ist eigentlich eine gute Sache.

In meiner Todoliste steht noch drin, dass es irgendwann möglich sein soll, eine bestimmte Variante mit einem Tastendruck (zB 'R') auszuwählen, wenn man gerade was baut. Im Moment kommt glaube ich immer die erste Variante im Phantomobjekt, gebaut wird dann eine zufällig gewählte. Besser ist es, die zufällig gewählte schon im Phantom zu zeigen und die dann zu bauen, und dann die Möglichkeit einzubauen, die Variante zu verändern. Ist aber ein Todo, noch nicht eingebaut...

ersatzteil
16.01.2008, 10:03
Das kann sein, aber nicht so, wie es in deinem Bild an den Wegerändern zu sehen ist, das liegt eher daran, dass da was um ein Pixel verschoben ist. Hatte ich selber auch immer mal... :roll:


Ich meine nicht die Wege. Ich meine die Häuser auf dem Bild. Das mit den Wegen hab ich extra so gemacht, weil ich finde, dass es besser aussieht als wenn die ganze Kackel ausgefüllt ist.

http://img227.imageshack.us/img227/9242/wege2kp7.gif (http://imageshack.us)


Die Fragmente kann man vermutlich wegbekommen, wenn man (programmintern) einen alpha-blender einsetzt, das mache ich später mal noch richtig. Irgendwann soll das Ganze ja auch einfach mit OpenGL laufen, und da sind solche Sachen viel einfacher. Abhilfe bis dahin sollte sein, den Grafiken einfach scharfe Ränder zu verpassen, dann passiert das nicht.


Nen alpha-blender wäre natürlich sehr edel, dann könnte man einen besseren Schattenwurf realisieren. Bisher ist der Schatten ja immer total Schwarz oder das Magenta scheint durch. Baum 4 ist da ein gutes Beispiel bzw eher schlechtes.^^

tobing
16.01.2008, 11:32
Ich meine nicht die Wege. Ich meine die Häuser auf dem Bild. Das mit den Wegen hab ich extra so gemacht, weil ich finde, dass es besser aussieht als wenn die ganze Kackel ausgefüllt ist.

Ach so. Schön sieht das aus! Man müsste die entsprechende Auswahl von Wegekacheln natürlich automatisch machen, je nach benachbarten Kacheln. Hab ich auf später verschoben, weil das für das eigentlich Spiel ziemlich unerheblich ist, aber wenn du so schöne Wegekacheln machst, sollte ich das eventuell nochmal überdenken. Das Auge spielt ja immerhin mit...


Nen alpha-blender wäre natürlich sehr edel, dann könnte man einen besseren Schattenwurf realisieren. Bisher ist der Schatten ja immer total Schwarz oder das Magenta scheint durch. Baum 4 ist da ein gutes Beispiel bzw eher schlechtes.^^
Muss ich mir mal genau anschauen, was du da meinst. Gerade bei den Bäumen habe ich den Schatten nämlich (zumindest zum grössten Teil) selber gemalt (mit Gimp) und der soll so halb transparent sein. Weil nämlich eigentlich die Anzeige bereits mit Transparenz arbeitet, kann nur sein, dass ich da eben einen 'richtigen' Alphablender einbauen müsste, damit die pinken Pixel ganz verschwinden.

ersatzteil
16.01.2008, 21:25
So, ich wollte auch paar Variationen für Bodenkacheln einbauen, aber dann musste ich feststellen, dass es da wohl Variationsmöglichkeiten gibt wie bei den anderen Sachen. Natürlich könnte ich einfach eine komplett neue Kachel machen, aber dann würde sich die Gesamtverteilung ändern. Die Chance wäre höhere, das "doppelte" Kacheln verwendet werden. Vielleicht nicht wirklich die selbe, aber halt nur eine mit geringer Variation. Diese Variationen sind aber nötig, da grade bei größeren Flächen die Wiederholungen sehen kann.

ersatzteil
21.01.2008, 13:16
Hast du eigentlich eine Liste mit benötigten Grafiken?

Wenn ja, dann könnte ich dir zumindest schon mal paar Platzhalter für die entsprechenden Grafiken machen und diese dann schrittweise durch bessere ersetzen.

tobing
21.01.2008, 16:00
Hey, das wäre toll, hier mal ein paar, die mir momentan am gelegensten kämen:

- Einen Bäckereiarbeitsplatz. Generell stelle ich mir die Arbeitsplätze so vor, dass sie von den Wohnhäusern getrennt stehen und eher unter freiem Himmel, so dass man sehen kann, um welches gewerk es sich handelt. Eine der Kacheln sollte frei bleiben, um die erzeugte Ware bzw. die gelagerten Rohstoffe zu zeigen, ein bisschen wie ein Lager der Grösse 1x1.

Vielleicht ist es gut, solche Arbeitsplätze gleich in 3x3 Grösse zu machen, da wäre ich dir sehr verbunden, wenn du einen solchen Arbeitsplatz mal in beiden Grössen machen könntest, einfach um zu sehen, wie das wirkt.

Aus den extrahierten Grafiken vom Kaiser habe ich gesehen, dass der Kaiser seine Kacheln ein bisschen grösser hat als ich sie hier nehmen möchte, insofern ist das mit 3x3 nicht soo abwegig. Würde ich sehr gern mal ausprobieren.

- Märkte in 1x1 und 2x2 Kacheln Grösse.

- kleine Symbolgrafiken für Waren, die in einem Lager liegen oder transportiert werden. Hier wäre 1-2 Bündel Weizen angesagt, sowie 1-2 Sack Mehl, 1-2 Eimer Wasser, Brot, Baumstämme, Bretter. Grösse so, dass 4 davon auf einem Lagerplatz (ein Kachel) liegen können.

- und falls du dann noch richtig Lust hast, einen Läufer zu bauen... auch wieder so, dass 4 auf eine Kachel passen. Es gibt nur 4 Richtungen, und für später darf so ein Läufer auch animiert sein, muss aber zunächst einmal nicht. Ein Beispiel für so einen Läufer könnte ein Priester sein, oder eine Feuerwache. Oder vielleicht eine Kräuterhexe, also heilkundige alte Frau, ein bisschen schrullig möglicherweise...

ersatzteil
23.01.2008, 17:16
- Einen Bäckereiarbeitsplatz. Generell stelle ich mir die Arbeitsplätze so vor, dass sie von den Wohnhäusern getrennt stehen und eher unter freiem Himmel, so dass man sehen kann, um welches gewerk es sich handelt. Eine der Kacheln sollte frei bleiben, um die erzeugte Ware bzw. die gelagerten Rohstoffe zu zeigen, ein bisschen wie ein Lager der Grösse 1x1.


Hm, unter freiem Himmel ist etwas schwer. Außer man würde so richtig einen Arbeiter rein machen, der in diesem Falle das Brot wirklick backt. So wie bei Sielder 3. Wobei Sielder 3 das auch mehr so gelöst hat, dass die markantesten Arbeitsschritte sichtbar gemacht wurden und der Rest im Gebäudeinneren statt fand.


Vielleicht ist es gut, solche Arbeitsplätze gleich in 3x3 Grösse zu machen, da wäre ich dir sehr verbunden, wenn du einen solchen Arbeitsplatz mal in beiden Grössen machen könntest, einfach um zu sehen, wie das wirkt.


Einfach größer skalieren oder wie meinst du das?


- Märkte in 1x1 und 2x2 Kacheln Grösse.


Da fällt mir irgendwie nichts zu ein. Wie sieht ein so kleiner Markt aus? Besonder die 1x1 Version.


- kleine Symbolgrafiken für Waren, die in einem Lager liegen oder transportiert werden. Hier wäre 1-2 Bündel Weizen angesagt, sowie 1-2 Sack Mehl, 1-2 Eimer Wasser, Brot, Baumstämme, Bretter. Grösse so, dass 4 davon auf einem Lagerplatz (ein Kachel) liegen können.


Hm, Bretter und Baumstämme ist unpassend, wenn 4 davon auf eine Kachel passen sollen. Die haben ja eine mehr längliche Grundform.


- und falls du dann noch richtig Lust hast, einen Läufer zu bauen... auch wieder so, dass 4 auf eine Kachel passen. Es gibt nur 4 Richtungen, und für später darf so ein Läufer auch animiert sein, muss aber zunächst einmal nicht. Ein Beispiel für so einen Läufer könnte ein Priester sein, oder eine Feuerwache. Oder vielleicht eine Kräuterhexe, also heilkundige alte Frau, ein bisschen schrullig möglicherweise...


Mal sehen was sich da machen lässt.

tobing
23.01.2008, 21:53
Hm, unter freiem Himmel ist etwas schwer. Außer man würde so richtig einen Arbeiter rein machen, der in diesem Falle das Brot wirklick backt.

Naja, für den Anfang vielleicht einen Tisch mit einem Klumpen Teig drauf, daneben ein Backofen. Andererseits, eine Hütte mit Backofen dran täte es vermutlich auch...

Einfach größer skalieren oder wie meinst du das?

Nee, nicht einfach grösser. Auf 3x3 ist mehr Platz, also um bei der Hütte zu bleiben: Neben der Hütte stünde dann ein Backofen, und es wäre immer noch mindestens eine Kachel frei für die fertigen Waren.

Da fällt mir irgendwie nichts zu ein. Wie sieht ein so kleiner Markt aus? Besonder die 1x1 Version.

Ich dachte an so Marktbuden, vielleicht mit einem bunten Stoffdach, drunter ein Tisch, auf dem Waren ausliegen. Irgendwas, Gemüse vielleicht, muss man nicht so genau erkennen können. Auf einer 1x1 Kachel steht natürlich nur eine solche Bude, auf 2x2 dann eben 3 davon. Oder so.

Hm, Bretter und Baumstämme ist unpassend, wenn 4 davon auf eine Kachel passen sollen. Die haben ja eine mehr längliche Grundform.

Das stimmt natürlich... in dem Fall würde ich einen kleinen und einen grösseren Stapel auf 2 Kacheln legen, und dasselbe nochmal auf die beiden anderen, damit es wieder die vollen 4 werden.

Im Kaiser ist das so gelöst, dass man für jeden Füllgrad einer Kachel 4 verschiedene Bilder hat, damit hat man gleich auch die maximale Flexibilität. Für die Lager, denn ich brauche irgendein Bildchen, mit dem ich den Transport darstellen kann, also die Ware, die gerade auf einem Weg transportiert wird. Dafür würde aber ein Icon entsprechender Grösse (also 1/4tel Kachel) fast schon ausreichen.

ersatzteil
24.01.2008, 15:56
Im Kaiser ist das so gelöst, dass man für jeden Füllgrad einer Kachel 4 verschiedene Bilder hat, damit hat man gleich auch die maximale Flexibilität. Für die Lager, denn ich brauche irgendein Bildchen, mit dem ich den Transport darstellen kann, also die Ware, die gerade auf einem Weg transportiert wird. Dafür würde aber ein Icon entsprechender Grösse (also 1/4tel Kachel) fast schon ausreichen.

Also wenn du planst, dass man auf eine Lagerkachel jeweils nur ein Produkt lagern kann, dann würde ich es bevorzugen für die 4 Lagerstufen eine Grafik zu erstellen. Das würde deutlich besser aussehen, als wenn dort immer x identische Grafiken nebeneinander liegen. Bei gemischten Waren auf einer Kachel geht das ja leider nicht.

tobing
24.01.2008, 16:14
Also wenn du planst, dass man auf eine Lagerkachel jeweils nur ein Produkt lagern kann, dann würde ich es bevorzugen für die 4 Lagerstufen eine Grafik zu erstellen. Das würde deutlich besser aussehen, als wenn dort immer x identische Grafiken nebeneinander liegen. Bei gemischten Waren auf einer Kachel geht das ja leider nicht.
Genau so. Wie in den alten Spielen eben, immer nur eine Sorte Produkt pro Kachel.

ersatzteil
25.01.2008, 20:36
Wieviel Pixel groß soll ein Mensch sein?

tobing
26.01.2008, 14:39
Wieviel Pixel groß soll ein Mensch sein?
Gute Frage...

Beim Kaiser sind die Figuren ungefähr 50 Pixel hoch, wenn sie einen Helm trägt, kann das mehr werden. So in der Richtung hätte ich es jetzt auch gedacht, obwohl ja meine Kacheln ein bisschen kleiner sind als die vom Kaiser. Die Idee ist, dass auf einer Kachel 4 Leute stehen bzw. aneinander vorbeigehen können. Damit sollten die Figuren höchstens etwa 20 Pixel breit sein, eher nur 16, damit eben zwei nebeneinander gehen können. Ein Mensch ist ungefähr 3 mal so hoch wie breit, von vorne gesehen, also passt 50 ganz gut.

Damit werden die Figuren in Bezug auf die Häuser natürlich zu gross. Macht aber nichts, ich denke mir dabei natürlich was. Schaut man sich die moderneren Spiele an, Caesar IV und SCS etwa, dort sind die Figuren korrekt dargestellt in Bezug auf die Häuser. OK, schön und gut. Das Resultat ist, dass man die Figuren nicht mehr richtig sehen kann, weil sie so klein sind. Aus genau diesem Grunde hat man auch in den alten Städtebauspielen die Figuren zu gross gezeichnet, denn sie sind ja ein zentrales Spielelement und sollen entsprechend etwas darstellen, den Fluss von Waren und Diensten in der Stadt nämlich. Sind die Figuren also zu klein, dann sieht man das nicht mehr richtig. An dieses gewollte Missverhältnis will ich mich eigentlich auch halten.

Was ich aber auch gerne ausprobieren möchte ist, die Häuser nicht alle unbedingt 2x2 gross zu machen, vielleicht sieht es viel interessanter aus, wenn man die Häuser auf eine mindestens 3x3 grosse Grundfläche stellt... und man muss die Häuser ja nicht einmal gleich entsprechend grösser machen.