ich spiele aktuell mit dem Gedanken ein altes CR Projekt in OC wiederzubeleben.
Da es aber einige Design-Entscheidungen in OC gibt, die mir so gar nicht zusagen (Steuerung, 3D-Objekte) wollte ich mal abklpofen welchen Aufwand es machen würde altes CR Design umzusetzen.
Klar ist, dass alle Objekte und Skripts komplett überarbeitet oder neu gemacht werden müssen.
Wie ich erfreut festgestellt habe gab/gibt es schon Bemühungen in diese Richtung (Open Clonk Classic), darauf könnte ich aufbauen.
Steuerung: Wenn ich die OC Doku richtig verstehe sollte es möglich sein die reine Tastatur-Steuerung von CR 1:1 umzusetzen. Scheinbar war das schon in Open Clonk Classic 0.2 umgesetzt, wurde aber in der 0.3 wieder umgeschmissen. Da frag ich mich warum, gab es da Probleme? (Wichtig wären zB Dinge wie: Tasten-Combos, graben/werfen mit Tastatur, Menü-Aufruf (s.u.))
Menüs: Ersetzen des 'E'-Menüs durch ein selbst designtes Inventar, welches per Tastatur bedient wird.
Clonks: Den klassischen 2D Clonk in OC importieren, hat das schon jemand versucht? Klar, die Grafik wäre sehr klein, aber gibt es abgesehen davon zu erwartende Probleme (zB beim Klettern, Collisions)?
Sonstige Meinungen und Erfahrungen zu dem Thema würde ich natürlich auch gerne hören.
Danke für eure Hilfe.
>Scheinbar war das schon in Open Clonk Classic 0.2 umgesetzt, wurde aber in der 0.3 wieder umgeschmissen. Da frag ich mich warum, gab es da Probleme?
Ich finde dazu nur das hier, aber vielleicht kann Marky selbst dazu mehr sagen:
Zitat aus dem Link: "Jetzt würde ich die Steuerung von OC möglichst beibehalten, da das Steuerungskonzept deutlich besser als früher ist."
>Clonks: Den klassischen 2D Clonk in OC importieren, hat das schon jemand versucht? Klar, die Grafik wäre sehr klein, aber gibt es abgesehen davon zu erwartende Probleme (zB beim Klettern, Collisions)?
Das sollte prinzipiell gehen - kann natürlich sein, dass du einige Sachen, die früher in der Engine waren (z.B. das Hinknien nach dem Hochklettern) dann nochmal in Skript umsetzen musst.
>Menüs: Ersetzen des 'E'-Menüs durch ein selbst designtes Inventar, welches per Tastatur bedient wird.
Du kannst das Menü natürlich immer selbst skripten und mit Ingameobjekten machen. Eine Tastatursteuerung der neuen Skriptmenüs (mit denen auch das E-Menü gemacht wurde), steht auf der ToDo, ist aber noch nicht fertig oder angefangen
PS: immer cool natürlich neuen Content für OC zu sehen :)
Bin durchaus motiviert da Zeit reinzustecken, die neuen (grafischen) Möglichkeiten sind toll und könnten auch Gamplay-mäßig neue Möglichkeiten eröffnen. (Eine gesperrte Zoom-Funktion, die ert durch ein Lupen-Item entsperrt wird um kleine Notizen zu entziffern zB?)
>Klingt schon mal ganz gut, sollte also prinzipiell alles funktionieren, die Frage ist nur der Aufwand.
Ja - OC ist generell deutlich erweiterbarer als CR.
Aber wenn dich die Steuerung in OC nicht zuuuu sehr anpisst, ist es vielleicht deutlich weniger Aufwand, die interessanten Konzepte aus deinem alten CR-Projekt ins aktuelle OC zu portieren?
>(Eine gesperrte Zoom-Funktion, die ert durch ein Lupen-Item entsperrt wird um kleine Notizen zu entziffern zB?)
Wird dann halt mit kleinen Sprites schwierig, wenn die unscharf werden wenn man nah dran ist
>Wie ich erfreut festgestellt habe gab/gibt es schon Bemühungen in diese Richtung (Open Clonk Classic), darauf könnte ich aufbauen.
Deshalb ist es denke ich sehr ratsam sich dieses Projekt anzuschließen, wenn das großenteils deine Ideen entspricht.
>Clonks: Den klassischen 2D Clonk in OC importieren, hat das schon jemand versucht?
Gab es im frühen Verlauf der Entwicklung schonmal
https://github.com/openclonk/openclonk/blob/67bab6723d04fef8fee20c564e2d88ced517e344/planet/Objects.c4d/Clonk.c4d/Graphics.3.png
https://github.com/openclonk/openclonk/blob/67bab6723d04fef8fee20c564e2d88ced517e344/planet/Objects.c4d/Clonk.c4d/Overlay.3.png
Ordner:
https://github.com/openclonk/openclonk/tree/67bab6723d04fef8fee20c564e2d88ced517e344/planet/Objects.c4d/Clonk.c4d
Ist natürlich ein Sprite und funktioniert damit nicht mit Cell-Shading u.Ä. Wenn man Beleuchtung haben wollte, müsste man dann noch ne Normalmap dazu machen
Prinzipiell ist das das gleiche Modell, welches auch in Clonk Rage zum rendern verwendet wurde, nur habe ich etwas die Geometrie aufgeräumt:
https://cdn.discordapp.com/attachments/868176023852810300/943869594131652648/unknown.png (links neu, rechts alt)
Insbesondere kannst du auf keine Inhalte aus unseren Objekten (Objects.ocd) zurückgreifen, da diese natürlich mit der OC-Steuerung entwickelt wurden. Frage aber gerne nach, wenn du auf Probleme stößt. Einige wenige Handgriffe sind notwendig, um eine ähnliche Umgebung wie in CR zu erschaffen. Es gibt jedenfalls keine generellen Probleme damit, sondern nur das "Problem", dass du dir alles selber zurechtscripten musst und das viel Arbeit ist.
>Steuerung: Wenn ich die OC Doku richtig verstehe sollte es möglich sein die reine Tastatur-Steuerung von CR 1:1 umzusetzen. Scheinbar war das schon in Open Clonk Classic 0.2 umgesetzt, wurde aber in der 0.3 wieder umgeschmissen. Da frag ich mich warum, gab es da Probleme? (Wichtig wären zB Dinge wie: Tasten-Combos, graben/werfen mit Tastatur, Menü-Aufruf (s.u.))
Komplett umgesetzt war es nicht. Sven2 hat mir damals ein Classic-Szenario gezeigt, in dem die alte Steuerung umgesetzt war, also einfach mal nach meinen Posts hier suchen. Meine Probleme waren einmal, dass sich die Maussteuerung nicht so verhielt, wie ich es erwartet hatte, und dass ich wirklich ALLES bzgl. der Tasten/Benutzung hätte neu umsetzen müssen, wobei der Steurungs-Code mMn recht schwer bzgl. der Auswirkungen im Spiel verständlich ist (z.B. scheitere ich aktuell noch daran, eine Quick-Use-Taste einzubauen, die sich genauso wie eine gedrückte linke Maustaste verhält. Zusatztasten wie z.B. das Kaufmenü in Verteidigungsszenarien sind aber recht einfach.)
Bzgl. der Änderung von 0.2 auf 0.3: Es war dann halt einfacher mit der Steuerung näher an OC zu bleiben, und weil wie gesagt die Bedienung sich durchaus verbessert hatte.
Die Frage ist, was du ungefähr machen möchtest, und ob dir OC Classic dabei wirklich behilflich ist.Mein Fokus ist dabei, das Feeling von CR einzufangen, aber nicht alles genauso zu machen.
Eure Argumente sind gut, vermutlich wär es ein Rückschritt aus Nostalgie die alte Steuerung umsetzen zu wollen.
Vermutlich eröffnet eine schlaue Combo aus Tastatur und Maussteuerung mehr Möglichkeiten.
Wichtig ist ein gutes Kombo-System. Das muss viele verschiedene Aktionen abbilden können. Mit Numpad-Steuerung waren Aktionen wie 'Stop-Links-Wurf' oder 'Stop-Stop-Graben' umgesetzt. Dafür müsste ich auf jeden Fall Q und E neu belegen, falls mir nicht noch eine gute (Maus-)Alternative einfällt. Denn ob eine gemischte Combo aus Maus- und Tastatur-Eingaben flüssig/intuitiv funktioniert will ich bezweifeln.
Ich hatte eine Taste, die in den Kombomodus geht (z.B. Linksklick mit einem Item; oder halt jede andere Taste). Und dann hatte ich nur die Richtungstasten benutzt: WASD
Mit einer Ebene kann man 4 Zauber hinterlegen. Mit zwei Ebenen schon 16 (4^2) und mit drei Ebenen schon 64 (4^3). In meinem Fall hatten auch schon die 16 gereicht.
Außerdem hatte ich das Gefühl, dass die Kombos leichter zu merken und benutzen waren als wenn noch Werfen und Graben (wie in CR) drin waren. Insbesondere wenn man jedem Kombo eine fixe Tiefe gibt (also IMMER 2 oder 3 Tasten und die letzte löst dann einfach den Zauber aus)
Warum hast du nicht ComboIsSequence für Kombos benutzt? Die Doku liest sich, als wäre das genau für solche Fälle gemacht.
Es gibt ein paar Grundzauber, aber man kann relativ leicht neue Zauber hinzufügen und muss nur irgendwo im Skript das Kombo hinterlegen.
Man könnte natürlich auch alle möglichen 64 Kombinationen in der PlayerControls.txt hinterlegen und dann schauen ob es einen Zauber für die Kombination gibt, aber das wär' wohl sogar mehr Aufwand.
Ah. Und ich wollte natürlich auch, dass man bei jedem Teil des Kombos schon sieht, was für Zauber hinter der nächsten Taste liegen (so wie im CR Kombomenü). Dazu brauchte ich ja eh die einzelnen Tastendrücke
Es gibt keine Doku zum hinzufügen neuer Clonk-Animationen in Blender.
Der Vorgang zum exportieren der Models ist kompliziert und fehleranfällig.
Die Scriptsteuerung der Animationen ist im Gegensatz zu früher, wo meistens ein ActMap Eintrag gereicht hat, viel schwerer zu durchschauen.
Das ganze ist einfach zu komplex und steht vom Aufwand her in keinem Verhältnis zum gewünschten Ergebnis. :(
Ich werd jetzt versuchen den 3D Clonk zum 2D Clonk umschreiben.
Wollte euch das einfach mal als Rückmeldung aus ContentDev-Sicht geben. Wenn ihr auf mehr Content hofft solltet ihr das zugänglicher gestalten finde ich.
Gerade wenn man nicht neu Riggen/Animieren muss, sollte das garnicht sooo aufwändig sein
Wenn ich jetzt halt ein Projekt hab, in dem ein Clonk mit vielen neuen Fähigkeiten im Mittelpunkt steht, dann bleibt mir gar keine andere Wahl als mit dem Clonk anzufangen.
Und da bin ich jetzt halt gegen eine Wand aus Problemen gelaufen.
Die Situation mit dem Clonk-Model ist schon ziemlich bescheiden. Und für mich als Content-Creator frustrierend, auch wenn ihr da vielleicht gar nix dafür könnt.
Ich will euch deswegen auch nicht runtermachen, ist ja alles Ehrenamt.
Tatsache ist halt: Aktuell muss man als Entwickler vieeel Motivation und Zeit mitbringen, um mit dem groß beworbenen 3D-Feature klar zu kommen. Das kann nicht in eurem Interesse sein, schürt eher vorhandene Vorbehalte und erschwert neue Inhalte.
Dafür ist es leichter, wenn man nur die Textur ändern oder einen Hut raufklatschen will!
Ist halt ein bisschen schade, dass so etwas simples wie das neu-exportieren von dem Modell nicht wirklich möglich ist, weil keiner weiß, wie's geht (?)
Was wir im Team aber aktuell machen ist schlicht mit Platzhaltern zu arbeiten. Das ist auch garnicht soo tragisch, sieht halt nicht ultra prikelnd aus, aber wenn das Gameplay stimmt sieht man eh drüber hinweg. Und wenn du damit die Leute umhaust findest du auch viel einfacher jemanden, der dir das Modell und Grafiken dann sauber bastelt.
Ich werd jetzt erst mal an meinem 2D Clonk weiterarbeiten, erste Versuche waren schon ganz vielversprechend. Bin eh ein Fan von Pixel-Art und Comic-Look, daher nicht so schlimm wie es sich vielleicht angehört hat.
Aber ich hab gedacht ich sprechs mal an.
>Und wenn du damit die Leute umhaust findest du auch viel einfacher jemanden, der dir das Modell und Grafiken dann sauber bastelt.
Bestes Beispiel: Siehe Sayned, der für Knüppeln die Champ Icons und die fehlenden Artworks für die Fähigkeiten angefertigt hat. https://forum.openclonk.org/topic_show.pl?pid=32787#pid32787
>Die Scriptsteuerung der Animationen ist im Gegensatz zu früher, wo meistens ein ActMap Eintrag gereicht hat, viel schwerer zu durchschauen.
Grundsätzlich kann die ActMap ja mit 3D Animationen umgehen. Aber leider immer nur eine diskret abspielen und sie nicht überblenden, was im OC Clonk stark verwendet wird. Wenn man darauf verzichtet, kann man aber auch 3D über die ActMap animieren.
Edit: Achja, und FlipDir sieht doof aus, weil auch die Schatten geflippt werden. :L
Ich habe mir in letzter Zeit hierzu schon ein paar Gedanken gemacht und probiere mal ein paar Sachen aus, wenn ich Zeit dazu finde.
Und gut, das mit dem Überblenden hat es eben komplizierter gemacht als eine einfach ActMap. Weil der Clonk jetzt eben z.B. Laufen und Bogenschießen gleichzeitig kann und dazu noch ab und an mit den Augen blinzeln. Das kann eben nicht mehr in einer einfachen ActMap abgebildet werden. Aber du hast natürlich recht, wir könnten uns Mühe geben den Einstieg trotzdem etwas einfacher zu machen, und vielleicht in paar nette Tutorials dazu schreiben.
Respekt vor jedem, der mit dem Clonk-Model in Blender arbeitet. Nach 2 Stunden hat man da noch nicht alles gesehn.
Habe leider noch Null Erfahrung was Ogre und Co angeht =/
Dann heißt das jetzt wohl Dokus lesen ^^ Ich fang von 0 an.
Clonk Doku:Meshes
OGRE Doku:Scripts
OGRE pass Parameters
OC Thread zum Thema Shaders
Hab ich was vergessen? Falls ihr noch nützliche Ressourcen oder Tipps habt zum Thema 'wie baue ich meinen eigenen Shader ein', immer her damit :)
Und das hier ist Markys git account - da finden sich zumindestens
https://github.com/gitMarky/Classic.ocf
und https://github.com/gitMarky/Resources_Classic.ocf
Keine Ahnung was da drin ist - und bevor du was benutzt solltest du ihn natürlich fragen
Hier ist ein Beispiel, wo Shader per Script gesetzt werden:
https://github.com/openclonk/openclonk/blob/10ab981b6fa3215157bd1c4c3e65c1f783635564/planet/Objects.ocd/Environment.ocd/Ambience.ocd/Script.c#L588
Und hier ist noch ein alter Thread zum Thema Material und Shader. Auch keine Ahnung ob's hilft :)
http://forum.openclonk.org/topic_show.pl?pid=29356#pid29356
Für vernünftiges Cel-Shading muss ich irgendwie die Surface-Normals von Objekten auslesen können. Dann die Winkel zwischen Normals und Lichtquellen berechnen und in 3 Stufen die Textur-Beleuchtung regeln.
Also wenn ein Licht die Surface im 70°-90° Winkel trifft 150% Lichtstärke, 20°-70° = 80%, 1°-20° = 10% (Werte sind Beispiele). Das ergibt dann harte Abstufungen anstatt weiche Übergänge.
So weit mein Verständniss nach 24h Doku-lesen. :)
Funktioniert das theoretisch so wie ich mir das vorstelle und gibt es eine Surface-Normal-Variable die ich auslesen kann? Die Doku lässt in der Hinsicht (interne Variablen) leider zu wünschen übrig.
Die Normalen werden im ObjectShader passend berechnet.
Siehe hier.
--debug-opengl
(als Kommandozeilenargument), was noch zusätzliche Informationen ausgibt. Da weiß ich aber nicht genau ob das für die Shaderentwicklung hilft>Die Shader werden außerdem zur Laufzeit automatisch neu geladen. Der beste Weg ist also mit dem ursprünglichen Shader zu starten und erst dann Änderungen zu machen
Um das nochmal klarer zu sagen: Du kannst einfach ein Spiel im Entwicklermodus starten und dann in der (entpackten) Graphis.ocg an den Shadern rumbasteln und siehst dann direkt im Spiel was die Änderungen machen ohne nochmal neu starten zu müssen
Was ich noch nicht kapiert hab: Wie kann ich die weichen Standard-Schatten bearbeiten/deaktivieren? Habe das bis jetzt nur überlagert.
Nächster Schritt dann: Versuch das 'Inverted Backface Culling' einzubauen für die schwarzen Kanten.
Nein wird nicht wie knüppeln, aber vom Look her geht das schon in die Richtung.
Edit: Natürlich fehlen jetzt alle Schatten^^
Zur Zeit gibts nur einen "Schwarz-weiss"-Shader, z.B. fuer Intros, die in der Vergangenheit spielen sollen. Aber mehr Shader fuer etwas Vielfalt waeren schon cool.
Powered by mwForum 2.29.7 © 1999-2015 Markus Wichitill