Charaktere auf schaukelndem Untergrund

Das Board für Schwierigkeiten beim Adventure-Machen und zum Melden von Bugs
Post Reply
Baelavay
PaC-DK God
Posts: 1168
Joined: 04 Jun 2006, 19:24
Contact:

Charaktere auf schaukelndem Untergrund

Post: # 74247Post Baelavay
13 Aug 2009, 23:24

In Schimans Projektthread zu Gatio wurde es angesprochen, dass Charaktere auf einem Schiff stehen, das sich auf und ab bewegt.
http://board.adventure-creator.com/view ... 4244#74244

Ich habe mich gefragt, wie man das am besten umsetzt, habe mich jetzt aber entschieden, das lieber hier reinzusetzen, weil ich weiß, wie nervig es ist, wenn der Projektthread mit Offtopic voll gemüllt wird.
Lachi wrote:(...) Vielleicht wäre es ja machbar, daß sich das Schiff leicht auf und ab bewegt - das käme bestimmt gut rüber; wenn auch zugegebener maßen etwas schwieriger umzusetzten.
Schiman wrote:(...) Hm... wäre machbar, aber ich halte das eher für störend.. andererseits ist es einen Versuch wert. Mal sehen.
An der Stelle würde mich interessieren, wie du das Schaukeln des Schiffs umsetzen würdest. Würdest du linkchar() benutzen, um den Charakter ans Schiffsobjekt zu hängen und dann das Objekt mit moveobj() bewegen? Oder wäre es nicht besser, die Raumkamera-Position mit setpos() im Raum-Loop zu bewegen? Aber dann müsste der Charakter unlinked sein, sodass man das Inventar nicht mehr sehen würde :?

Also nur mal kurz interessehalber, kann ja sein dass noch jemand anders mal über ein ähnliches Vorhaben stolpert.

Lachi
An Adventure Creator
Posts: 316
Joined: 07 Aug 2008, 22:32

Wellengang

Post: # 74252Post Lachi
14 Aug 2009, 05:40

Beim Klabautermann!
Ich habe einen Lösungsansatz ausgetüftelt. Ist aber meiner Meinung nach nur bedingt brauchbar. Aber seht selbst:
http://www.file-upload.net/download-182 ... t.adz.html
(downloaden und im PAC importieren)
Vielleicht kommt ja jemand anderes auf eine bessere/brauchbarere/einfachere Lösung...
So, erstmal genug Seemannsgarn - meine Kajüte ruft.
[img]http://img269.imageshack.us/img269/4060/enjoylachibalken.png[/img]

Schiman
PaC-DK God
Posts: 1177
Joined: 20 Dec 2006, 21:48
Contact:

Post: # 74253Post Schiman
14 Aug 2009, 08:28

lol^^, Indy in einer Nussschale auf stürmischer See :D.

Mal zur Technik:
Der Effekt sieht schon extrem gut aus und solange die Hotspots groß genug sind, stört auch das Geschaukel nicht.
Aber so wie du das umgesetzt hast Lachi, ist es wohl kaum bei mir möglich.
Du bewegst ja JEDES Objekt von dem Schiff einzeln. Das wäre bei etwa 130 Objekten und Charakteren zusammen etwas schwierig^^ (ich übertreibe jetzt bewusst :wink: ). Außerdem viel zu aufwendig das für jeden Raum zu machen, schließlich habe ich z.B. sieben Ebenen auf meinem Schiff.

Ich dachte da auch eher an setpos. Allerdings ist das Problem mit dem Inventar nicht trivial.
Da fällt mir spontan nur diese Lösung ein:
Der Hauptcharakter ist nicht im Fokus, damit man setpos verwenden kann (ist ja klar). Wie man trotzdem den sichtbaren Bildschirmbereich immer über dem Char zentriert, ist denke ich klar. Einfach die setpos-Funktion abhängig von der Char-Position machen.
Das Inventar ist nur dann zu sehen, wenn man einen Char im Fokus hat.

Es gibt zwei Möglichkeiten, dieses Problem zu umgehen.
1.: In dem Moment, indem das Inventar aufgerufen wird (z.B. über Taskbar, oder subroom), wird der Char einfach in den Focus gesetzt. Dann hört zwar für diese Dauer das Geschaukel auf, aber ich denke das lässt sich verschmerzen.

2.: Man schreibt ein eigenes Inventar^^. Dazu einfach das Inventar des Char mit if_hasitem() nach allen Items überprüfen und daraus dann das eigene Inventar basteln. Natürlich dürfen dabei die Items nicht doppelt im Inventar vorkommen, weil man das nicht abfragen kann. Andererseits.... das lässt sich mit Löschen der Items aus dem Inventar doch abfragen, ist aber nervig.
Oder man verwendet überhaupt kein Inventar, sondern nur Variablen für die einzelnen Items. Das wäre noch einfacher.

Ich finde beide Lösungen nicht so prall, würde aber natürlich zu ersterer tendieren. Die zweite ist einfach zu absurd^^.

Ok... ich hoffe jemand ist aus meinem kryptischen Geschreibe schlau geworden^^.

Lachi
An Adventure Creator
Posts: 316
Joined: 07 Aug 2008, 22:32

Post: # 74259Post Lachi
14 Aug 2009, 12:15

@Schiman:
War mir schon klar, das es für aufwändige Szenen unnötig kompliziert ist.
An deiner Stelle würde ich die normalen Spielabschnitte auch nicht "durchschaukeln". Somal ein Schiff in der Größe - will man es jetzt mal realistischer betrachten - wohl eher weniger Wellengang hat.

Aber eine kurze Zwischensequenz von der totalen deines Schiffes, wie es hin und herschaukelt mit Unwetter und Gedöns wird wohl auch einen guten atmosphärischen Dienst erweisen.

Eine anderer Ansatz wäre eine Abwandlung des Jiggle-Befehls, bei dem man die Wackelrichtung und die Geschwindigkeit einstellen kann. Zumal dieser aber auch nur bei Nahansichten taugen würde, da ja dann alles mitwackelt.
Aber das wäre wohl eher ein Fall für Zimond...
[img]http://img269.imageshack.us/img269/4060/enjoylachibalken.png[/img]

Lachi
An Adventure Creator
Posts: 316
Joined: 07 Aug 2008, 22:32

Kaptain Iglo

Post: # 74263Post Lachi
14 Aug 2009, 16:35

Ich habe mal eine Alternative probiert, in der ein 2. unsichtbarer Charakter genutz wurde, der sich ein paar Walkmappunke darunter parallel zum ersten bewegt. Durch ein Loop wir dann immer alle 0,3sek bei Scrollspeed 1 hin und hergewechselt. Die Raumgröße habe ich von 240 auf 250Pixel vergrößert. Das optische Ergebniß ist aber recht dürftig, da sich einmal das ganze Bild bewegt und zudem die Auf und Abbewegungen etwas ruppig aussehen.
:pcprob:
[img]http://img269.imageshack.us/img269/4060/enjoylachibalken.png[/img]

Schiman
PaC-DK God
Posts: 1177
Joined: 20 Dec 2006, 21:48
Contact:

Post: # 74264Post Schiman
14 Aug 2009, 17:32

Lachi wrote:Aber eine kurze Zwischensequenz von der totalen deines Schiffes, wie es hin und herschaukelt mit Unwetter und Gedöns wird wohl auch einen guten atmosphärischen Dienst erweisen.
Ich weiß nicht, wie ihr alle auf Unwetter, Regen und Gedöns kommt^^. Ich hatte eigentlich strahlend blauen Himmel geplant :), da gibt es sowieso keinen Wellengang.

Man wird das Schiff schon in Gänze sehen, aber das nur in Zwischensequenzen natürlich.

@Lachi: Ich habe deinen zweiten Lösungsansatz nicht so ganz kapiert. Kannste das nochmal erläutern, bzw. eine adz hochladen?

parkiii
An Adventure Creator
Posts: 276
Joined: 30 Jun 2009, 13:58
Location: Austria

Post: # 74265Post parkiii
14 Aug 2009, 20:53

ich vermute, er hat einen unsichtbaren charakter platziert und den alle 0,3 sekunden durch setfocus anvisiert, sodass eine auf- und abbewegung entsteht.

bei nur 1 unsichtbaren char sieht das natürlich ruppig aus, da müsste man schon mehrere nehmen, damit das ganze flüssiger aussieht.

bitte um korrektur, falls ich mich irren sollte.

Lachi
An Adventure Creator
Posts: 316
Joined: 07 Aug 2008, 22:32

Post: # 74266Post Lachi
14 Aug 2009, 20:54

Parkiiiiiii hat recht; aber hier nochmal etwas ausführlicher (und verwirrender?!?!):

http://www.file-upload.net/download-182 ... k.adz.html
Habe einen Zweiten unsichtbaren Charakter (temp) erstellt der steht in einem separaten Walkmapbereich weiter unten (Walkmap anschauen). Alle 0,3 Sekunden wird mit Setfocus der Char gewechselt. Dabei scrollt das Bild leicht nach oben bzw unten. Wichtig ist hierbei, daß der Raum etwas höher eingestellt wird als ein Bildschirm (hier zB 320x250 statt 320x240 => 10 Pixel Scrollbereich) und der temp-Char immer genügend Abstand hat. So weit zum Grundprinzip. Damit du es auch weitestgehend im richtigen Spiel verwenden kannst müßten die beiden Chars bei jedem Umswitchen die Inventory-Gegenstände tauschen und evtl die relative Raumposition der Chars zueinander. Vor allem bei Spielebschnitten, die breiter als ein Schirm sind sollte darauf geachtet werden, daß der temp-Char immer unterhalb und parallel zum Helden mitläuft -> so wird ein seitliches Scrollen/Wackeln vermieden.

Alle Klarheiten beseitigt?

PS: Bei meinem 25ms TFT schliert das ja teilweise schon heftig - wenn das noch lange soweiter geht, dann werde ich noch seekrank ^^
[img]http://img269.imageshack.us/img269/4060/enjoylachibalken.png[/img]

Post Reply