Forum



Xaser am 26.08.2010 14:40 #5769


Zuerst: Ins Launchpad schauen nuetzt nix, ich hab den Code mit der Loesung noch nich hochgeladen :-D.

Ich dachte mir, ich stell hier mal fuer alle, die genauso gerne Raetsel machen wie ich, eines rein.
Das Raetsel dreht sich um den Schattierungsblock in den WLD-Dateien (SWD-Dateien) von Siedler 2.
Da Siedler 2 vorberechnete Schattierung benutzt, setzt der Editor bestimmte Werte in diesen Block, die das Spiel benutzt um heller/dunkler darzustellen.

Folgendes Hexagon soll das Hexagon aus dem Siedler 2 Editor repraesentieren.
Jeder der Punkte repraesentiert wiederrum einen Punkt auf der Map.
(Damit ist ein Vertex gemeint, der viele Informationen wie "Bauinformation",
"Schattierung", "Textur" und so weiter enthaelt.)

//              X=7     X=8     X=9

//          X=10    X=1     X=2     X=11

//     X=12    X=3     X=0     X=4     X=13

//          X=14    X=5     X=6     X=15

//              X=16    X=17    X=18

Die Schattierungsinformationen habe ich jetzt mal auf dieses Hexagon uebertragen.
Wir gehen davon aus, dass NUR der Punkt in der Mitte (oben X=0) jeweils einmal erhoeht wird
und schauen uns nun an, was dadurch mit den Schattierungsdaten passiert.

Im Normalzustand (nicht erhoeht) sieht es so aus:

//              0x40     0x40     0x40

//          0x40    0x40     0x40     0x40

//     0x40    0x40     0x40     0x40     0x40

//          0x40    0x40     0x40     0x40

//              0x40     0x40     0x40

Jeder Punkt beinhaltet die Hex-Zahl 0x40. Was diese bedeutet ist fuer das Raetsel "unbekannt"
bzw. nicht "relevant", es ist eine Art Lichtwert.


Nach dem der mittlere Punkt 1x erhoeht wurde, sieht es folgendermassen aus:

//              0x40     0x40     0x40

//          0x40    0x40     0x40     0x37

//     0x40    0x40     0x49     0x3A     0x3D

//          0x40    0x49     0x40     0x40

//              0x40     0x40     0x40

Einige der Zahlen haben sich veraendert, nur nach welchem Muster?


Nach 2x erhoehen sieht es so aus:

//              0x40     0x40     0x40

//          0x40    0x40     0x40     0x2E

//     0x40    0x40     0x52     0x34     0x3A

//          0x40    0x52     0x40     0x40

//              0x40     0x40     0x40


Nach 3x erhoehen so:

//              0x40     0x40     0x40

//          0x40    0x40     0x40     0x25

//     0x40    0x40     0x5B     0x2E     0x37

//          0x40    0x5B     0x40     0x40

//              0x40     0x40     0x40


Nach 4x erhoehen:

//              0x40     0x40     0x40

//          0x40    0x40     0x40     0x1C

//     0x40    0x40     0x64     0x28     0x34

//          0x40    0x64     0x40     0x40

//              0x40     0x40     0x40


Nach 5x erhoehen:

//              0x40     0x40     0x40

//          0x40    0x40     0x40     0x13

//     0x40    0x40     0x6D     0x22     0x31

//          0x40    0x6D     0x40     0x40

//              0x40     0x40     0x40


Nach der 5. Erhoehung (also 6., 7. usw) veraendern sich die Zahlen zwar weiter jedoch nur,
weil die Punkte herum automatisch miterhoeht werden, das Muster setzt sich dann also an
den Randpunkten fort. Fuer uns sind nur diese 5 Stufen interessant, da sie voellig autonom
von den Punkten herum ablaufen.

Nun lautet die Frage:
Nach welcher Formel kann ich fuer einen beliebigen Punkt auf der Map die "Schatteninformation" ausrechnen?

Falls ich was undeutlich erklaert hab, einfach fragen :-).


Xaser am 26.08.2010 16:51 #5772


Hier noch ein Hexagon mit verschiedenen Hoehen und den dazugehoerigen Schatteninformationen,
damit kann man das Ergebnis ueberpruefen bzw. kann man es zur Loesungsfindung heranziehen.

Zuerst die Hoehendaten (0x0A ist eben):

//              0x17     0x17     0x17

//          0x17    0x1C     0x1C     0x1B

//     0x17    0x19     0x18     0x17     0x18

//          0x18    0x14     0x15     0x13

//              0x18     0x14     0x12


Hier die Schatteninformationen (Minimum ist 0x00, Maximum ist 0x80):

//              0x7C     0x22     0x00

//          0x80    0x7C     0x3D     0x25

//     0x80    0x80     0x61     0x73     0x4F

//          0x80    0x52     0x34     0x55

//              0x80     0x3D     0x00


FloSoft am 26.08.2010 16:58 #5773

Großmeister
also im prinzip erstmal folgendes:

es wird immer der links vorne, dann die 2 rechts daneben und der rechts rechtsvorne geändert, also
x0, x5 x4 x13 x11

x0 und x5 sind vom wert her immer gleich

d.h:

x0/x5: 0x40 0x49 0x52 0x5B 0x64 0x6d => + 0x09
x4:    0x40 0x3A 0x34 0x2E 0x28 0x22 => - 0x06
x13:   0x40 0x3D 0x3A 0x37 0x34 0x31 => - 0x03
x11:   0x40 0x37 0x2E 0x25 0x1C 0x13 => - 0x09

Das interessante wäre nun noch, wie die werte kombiniert werden, also ob das noch stimmt.

---
mfg
Flo


Editiert von FloSoft am 26.08.2010 16:59

Xaser am 26.08.2010 17:02 #5774


Faengt schonmal gut an :-). Mal schauen, wie's weitergeht :-).


FloSoft am 26.08.2010 17:09 #5775

Großmeister
mach doch am besten mal ne karte: flach, dann einmal ein hoch, dann einmal 2 nebeneinander 1 hoch, etc und füll die fläche damit, dann weißt schon mal wies für eine stufe geht, danach kombiniert man mehrere stufen

---
mfg
Flo



Xaser am 26.08.2010 17:11 #5776


Aehm, vielleicht hab ich mich nich deutlich ausgedrueckt :-D, das hier ist nur als Raetsel fuer die anderen Gedacht, geloest hab ich's schon, ist schon alles implementiert. Ich dachte nur, koennte vielleicht interessant werden ein paar Leute raetseln zu lassen :-).


Xaser am 28.08.2010 17:29 #5789


War wohl doch ne beknackte Idee, hat warscheinlich keiner Lust drauf :-D


Spike am 28.08.2010 21:30 #5792

Im Ruhestand
Naja ich habe heute nacht von deinem Rätsel geträumt xD

Da wurde immer der punkt und die vorne rechts einen schritt danach erhoben, und die restlichen umliegenden je alle 2 schritte :D

das muss nun stimmen, habs geträumt xD

---



Xaser am 29.08.2010 13:41 #5796


:-D, naja die Schwierigkeit (und das fand ich an dem Raetsel besonders interessant) ist hier vor allem, dass man erstmal wie FloSoft es oben schon getan hat, rausfinden muss, wie sich die umliegenden Punkte veraendern, wenn ein zentraler Punkt in der Mitte veraendert wird. Danach wirds aber nochmal etwas schwieriger, da man ja wissen will, wie man an einem beliebigen und festen Punkt, der weder erhoeht, noch vertieft wird, errechnet, welchen Schattenwert er hat.


Spike am 29.08.2010 17:01 #5797

Im Ruhestand
achso, ich hatte nur vom land erhöhen wann welcher punkt höher wird geträumt xD

---



Xaser am 29.08.2010 17:12 #5798


Na das waer zu einfach gewesen :-D.

Da faellt mir was anderes ein: Warum ist eigentlich das Kaestchen mit dem Satz:

"Aktivieren Sie dieses Kästchen, um über weitere Antworten per Mail informiert zu werden."

vorausgefuellt? Ich vergess immer das anzuklicken, haette aber gern jedes Mal ne Benachrichtigung, wenn einer Antwortet.


FloSoft am 30.08.2010 17:27 #5813

Großmeister
es sollte reichen, wenn du 1x abonniert bist, aber ist wohl unter umständen noch ein bug im forum
will eh mal einbauen das man im profil einstellen kann "automatisch benachrichtigen"

---
mfg
Flo



Xaser am 30.08.2010 17:29 #5814


ja hast recht, beim ersten beitrag einen haken rein und dann funzt es. allerdings waer's toll, wenn das schon beim ersten beitrag vorselektiert waere :-). aber sooo wichtig is es auch nich :-).


Shen Long am 31.08.2010 20:22 #5836


NEIN nicht vorselektieren!!!! ICH HASSE DAS.
Lieber im Profil auswählbar machen, und nur dann wenn man unbedingt will selbst einstellen lassen. (also Default-wert: AUS!)

---
mfg Shen Long
Tuxer mit Leib und Seele
__________________________
"Linux will nicht die Weltherrschaft, aber schön wärs schon." Linus Torvalds
PS: Sorry for my bad English


Shen Long am 31.08.2010 20:22 #5837


Achja... Ich kann übrigens nicht editieren.

---
mfg Shen Long
Tuxer mit Leib und Seele
__________________________
"Linux will nicht die Weltherrschaft, aber schön wärs schon." Linus Torvalds
PS: Sorry for my bad English


Xaser am 31.08.2010 20:26 #5838


LoL, is ja gut, beruhig Dich :-D. Die Idee mit der Profileinstellung ist denk ich auch die beste, das wird am ehesten allen gerecht.
Editieren geht nicht fuer "normale" User, die Funktion soll ja irgendwann mal noch kommen ;-).....hab ich so gehoert :-D.




Feel free to post in English!

Antwort schreiben

Username:
Security code:
Text:

   
  Convert smilies like :), ;) etc. into small graphics?
  Convert WWW-addresses into clickable links?
  Soll Boardcode in ihrer Nachricht aktiviert werden?