Wie baue ich einen OC-Turmraum?

Eine Anleitung auf Englisch zum bauen eines Raumes gibt es hier. Eine Deutsche Übersetzung werde ich nicht machen, aber falls es Fragen oder Problem gibt kann man das hier besprechen.

Benötigte Dateien
Am besten baut man den Raum mit dem aktuellen master-Branch vom OC-Repos und auch den aktuellen Turm-Repos. Falls es Bugs gibt dann bitte direkt hier melden, ich versuche die schnellstmöglich zu beheben.

Neue Materialien
Es gibt wie im CR-Turm auch sprengbarer/grabbarer Brick, zum bauen von versteckten Wegen. Diese sind nicht standard im Raum drin, dazu muss man Material.ocg Verzeichnis vom Turm selbst in den Raum reinkopieren. Bitte nur machen wenn es auch benötigt wird.

Hinweis
Wenn was gescriptet werden muss, dann geht das nicht im Scenario-Script vom dem Room*.ocs Szenario. Alle Scripte muss man im Room*.ocd Script schreiben. Diese werden zum fertigen Turm kopiert. Dazu müsste man dann GameCallEx statt GameCall benutzen.

>aber falls es Fragen oder Problem gibt kann man das hier besprechen


bräuchte Hilfe beim Erstellen eines spielbaren Turmszenarios:
-Habe neuesten OC Snapshot "openclonk-snapshot-20180221-3224e2c5cd-win32-amd64-mingw" runtergeladen
-Habe "OCTower-master.zip" von GitHub runtergeladen und im Ordner des OC Snapshots entpackt
-Den Phytonscript "create_tower.py" im Unterordner scripts vom OCTower-master Ordner hab ich gefunden (python-3.6.4 hab ich vorsorglich installiert)
-Ausführen von "D:\Games\openclonk-snapshot-20180221-3224e2c5cd-win32-amd64-mingw\OCTower-master\OCTower-master\scripts\create_tower.py --pack" funktioniert nicht

Wie und wo ist create_tower.py auszuführen, damit das Szenario erstellt wird?

Unabhängig davon ein bisschen Feedback (vlt. hier ein bisschen offtopic, aber trotzdem):

Mir ist aufgefallen, dass RoomTemplate.ocs (zumindest in der Form im zip file ohne ausgeführtem Pythonscript, kA ob das was daran ändert) im Gegensatz zum RoomTemplate beim CR Tower keine SectEmpty oä. enthält, also quasi kein standalone Templateraum ist, der sich selbstständig beim Tod des Clonks resettet- dies fand ich gerade beim Erstellen von CR Turmräumen zum schnellen Testen äußerst hilfreich.

Da ich das Packen wie oben erwähnt nicht erfolgreich hinbekommen habe, habe ich die einzelnen Räume mal außerhalb des Turms angetestet.
Dabei sind mir 2 Punkte aus dem HowTo für die Gestaltung eines CR Turmraums sofort wieder in Erinnerung gekommen:
- Nicht zu lang. Es reicht fuer einen Raum, wenn eine einzige Raetselidee dort drin steckt. Raetsel sollen nicht dadurch schwer werden, dass man 50 offensichtliche Dinge hintereinander tut. Stattdessen reichen ein oder zwei unoffensichtliche Dinge. Dies gilt insbesondere fuer Raeume, in denen man schwierige, akrobatische Dinge tun muss. Nichts ist frustrierender, wenn man erst eine halbe Stunde Wasser umherpumpt und dann am Ende noch einen Flintsprung machen muss. Wenn man den Sprung nicht schafft, darf man das ganze Wasser wieder von vorne pumpen.

- Die Schwierigkeit liegt im Raetsel, nicht in der Ausfuehrung. Wenn man den Weg fuer einen Raum kennt, sollte er im Idealfall relativ einfach auszufuehren sein. Das geht natuerlich nicht immer. Man sollte es als Szenariendsigner aber versuchen, die Ausfuehrung nicht zu schwer zu gestalten. Das gilt besonders dann, wenn sie etwas laenger dauert, weil solche Raeume schnell frustrierend werden ("Ich weiss doch wie es geht, ich habe keine Lust mehr!").

Ich fand die Räume (teilweise) zu lange. Der OC Clonk stirbt ziemlich schnell, und wenn bei einem langen Raum dann noch viele Sterbemöglichkeiten eingebaut sind, ist das frustrierend. Mir ist klar, dass manche Leute das als Challenge betrachten und toll finden, wenn man 20 Skilljumps hintereinander perfekt schaffen muss, aber mMn ist sowas dann eher für Super Meat Boy Fans, aber kein richtiges Rätsel. Lieber kürzere Skilljumps wie z.B. die Außenlevel im CR TdV oder die Anfangs-Flintjumplevel, wo man sofort nach Start des Raums scheitert, aber dann auch keinen mühsam erkämpften Fortschritt verliert. Bei meinen Turmräumen hab ich weitgehend darauf geachtet, dass die schwierigen Stellen am Beginn liegen, damit die Frustration nicht zu hoch wird, und die einfacheren Stellen, wo man weniger scheitern kann im Anschluss kommen. Randrians Turmräume fand ich im CR Turm von der Schwierigkeit z.B. ganz ausgeglichen, und auch spaßiger zu spielen als viele lange Hardcore-Räume, die später in den Turm geschoben wurden und viele Savegames meinerseits benötigt haben, und auch aufgrund ihrer Länge im Multiplayer weniger lustig waren.

>Wie und wo ist create_tower.py auszuführen, damit das Szenario erstellt wird?


Im Moment noch vom Turm-Verzeichnis selbst raus. Also wenn man das repos (OCTower.ocs) im planet hat dann unter Linux:
- cd planet/OCTower.ocs
- ./scripts/create_tower.py
- OCTowerVX.Y landet dann im planet Verzeichnis.

>Mir ist aufgefallen, dass RoomTemplate.ocs (zumindest in der Form im zip file ohne ausgeführtem Pythonscript, kA ob das was daran ändert) im Gegensatz zum RoomTemplate beim CR Tower keine SectEmpty oä. enthält, also quasi kein standalone Templateraum ist, der sich selbstständig beim Tod des Clonks resettet- dies fand ich gerade beim Erstellen von CR Turmräumen zum schnellen Testen äußerst hilfreich.


Ich weiß nicht wie das genau in CR funktioniert aber sobald dein Raum Test-bereit ist kannst du es speichern (Strg+S) und dann per F12 resetten und wieder einen neuen Versuch starten. Das ist zwar nicht ganz genau wie im Turm selbst aber dürft reichen.

>[Restlicher Feedback]


Völlig einverstanden und hoffentlich lesen die Wettbewerbsteilnehmer das auch! In der Tat sind von mir auch einige Räume drin die diese Feedback nicht erfüllen aber die können noch verbessert werden. Ich habe vielleicht auch vor das Feedback-System noch ein bisschen zu erweitern, so dass man angeben kann ob den Raum gefiel und wie schwierig er empfunden wurde. Dann kann man schnell sehen welche Räume schlecht bewertet und schwierig sind und die umgestalten oder ausbauen.

Ok danke. Nachdem ich create_tower.py in OCTower.ocs verschoben und über die Kommandozeile ausgeführt habe, ging es unter Windows.

>Ich weiß nicht wie das genau in CR funktioniert aber sobald dein Raum Test-bereit ist kannst du es speichern (Strg+S) und dann per F12 resetten und wieder einen neuen Versuch starten. Das ist zwar nicht ganz genau wie im Turm selbst aber dürft reichen.


Funktioniert, danke.

Geheime
Mir ist was aufgefallen. Wenn man im Turm ein Rätsel baut wo man z.B. eine Antwort geben muss, wäre diese direkt im Script ablesbar. Für CR gab es ein Hashing-Implementation in C4Script, und OC hat seit heute etwas eigenes.

Wenn man sicher sein möchte kann man jetzt mit Crypto->ComputeHash(str answer) die Antwort “verschlüsseln”. Dann können die Spieler nicht einfach im Script die Antwort nachschauen. Auch der Keypad speichert jetzt seine Code so dass keiner mehr in Objects.c nachlesen kann was der richtige Code ist.

>Falls es Bugs gibt dann bitte direkt hier melden


Hab den Turm jetzt bis zum Lavahüpfraum geschafft. Ein paar kleine Bugs die ein bisschen störend waren:

-Geht man zurück ins Turmeingangs-Level, steht ein neuer Clonk beim Spawn rum. Höchstwahrscheinlich spawnt da ein Clonk für den KI Spieler oä.
-Schlüsselsuche: schleudert man mit Dynamit Materialien auf den Bodenschalter, dann ist die Chance sehr hoch, dass der Schalter kurz nach unten und wieder oben geht, und die Items im Bodenschalter stecken bleiben. Eventuell wäre es sinnvoll, wenn der Schalter beim Objektcheck Items die zu tief im Schalter stecken gleich ein paar Pixel nach oben versetzt.
-Die Lavatiere, die man als Plattformen benutzen soll, sind ziemlich unzuverlässig, was erstarren/bewegen sowie Solidmask betrifft. Hier fände ich folgendes Verhalten sinnvoller: hauptsächlich (in waagrechter Position) vertikal auf und ab bewegen und dabei nicht drehen. Erstarren nur in waagrechter Position. Mit Partikeleffekt, dezentem Farbwechsel oä. den Wechsel zwischen erstarren/bewegen vorher andeuten. Drehen nur bei der Attacke (evtl. auch beim horizontalen Positionswechsel), danach aber wieder waagrecht drehen, damit auch verlässliche Solidmaskplattformen vorhanden sind.

Feedback zum Turm ist besser im Miniblog-Thread, ich dachte hier eher an Bugs die beim Turmraum bauen auftreten. Die erste beide Bugs werde ich fixen. Das mit dem Lavakerl wurde auch schon woanders angesprochen und steht auf mein langzeit Todo, ist aber etwas aufwendiger. Der Raum sollte aber auch schwierig sein.