Autor Thema: Abenteuer im GameDev  (Gelesen 8481 mal)

Cone Arex

  • Moderator
  • alter Tentakel
  • *****
  • Beiträge: 2323
  • Geschlecht: Männlich
  • Skandal-Entwickler und Idiot
    • Profil anzeigen
    • Conequest
Abenteuer im GameDev
« am: 27. August 2017, 05:40:34 »
Dieser Thread ist für Leute, die einfach nur in wenigen Sätzen beschreiben, was sie gerade oder in letzter Zeit an ihren Projekten gemacht haben, auf welche Probleme sie gestoßen sind und wie sie sie behoben haben oder einfach nur allgemeine Gedanken zum Thema loswerden wollen. Oder man kann sich einfach mal so richtig schön über Unzulänglichkeiten von Engines auskotzen. You decide. Quasi ein "Mini-Blog für alle". Vorrangig für MMM, aber nicht nur.

Ich fange mal an:
Letztes Wochende habe ich angefangen, Meteorhead 8 auszumisten und zu refactorn. (Fragt nicht, warum ich es schon wieder prokrastiniere am Hamstermann oder Britnard zu arbeiten.) Meinen anfänglichen Drang, mir eine TARDIS zu bauen, in der Zeit zurückzureisen, den Kopf meines 15-jährigen Ichs zu packen und mit voller Wucht gegen die Tischkante zu knallen habe ich inzwischen überwunden.
Das ganze alte GUI-Code ist inzwischen beseitigt und durch den 3.4er Code ersetzt worden, Characters, Views und Inventory wurden ausgemistet und organisiert, die ersten Räume wurden auf die neue Funktionssyntax umgestellt. Der Mädchenklo-Raum hat mir dagegen fast den letzten Nerv geraubt. Genauer ging es um die Sound-Effekte der geöffneten Wasserhähne.
PlayAmbiantSound() gibt es ja schon seit Jahren nicht mehr, also musste es weg. Aus irgendeinen hirnrissigen Grund gibt es dafür aber keinen adäquaten Ersatz. (Es gibt tatsächlich etwas, das früher einfacher war als jetzt? Ist nicht wahr.) Einen Extrabefehl gibt es nicht mehr, stattdessen hat die normale Play()-Methode einen zusätzlichen Parameter, mit dem festgelegt wird ob ein Sound nur einmal abgespielt oder immer wiederholt wird. Gestoppt wird das Ganze dann mit einem argumentlosen Stop(). Soweit so gut. Die Probleme beginnen dann, wenn ein Sound mehrmals gleichzeitig abgespielt werden muss (es gibt drei Wasserhähne, die gleichzeitig laufen können). Mann kann einen Sound mehrmals abspielen lassen, aber nicht einzeln stoppen. Stop() stopped immer alle Instanzen einer Audio-Dateien. Außerdem ist es nicht mehr möglich, einen Ursprung des Sound mit Raum festzulegen. Das muss über die AudioChannels gemacht werden.
Also müssen nun die tollen neuen AudioChannels herhalten. Drei AudioChannels deklarieren (für jeden Hahn einen), in den entsprechenden Funktionen einem Sound zuweisen (wird dann automatisch abgespielt) und anschließend in einer zusätzlichen Methode die Raumkoordinaten zuweisen. Läuft alles. Und gestoppt wird leider auch immer alles. Egal welchen AudioChannel ich stoppe, es werden immer alle drei Instanzen des Sounds gestoppt. Ein Blick in die Dokumentation bringt des Rätsels Lösung:
Zitat
Stops the sound that is currently playing on this audio channel.
Na besten Dank auch. Der Ton wird gestoppt, nicht der Channel. May I ask why?

Der einzige Workaround der mir dazu einfällt, ist die entsprechende Sound-Datei einfach mehrmals zu importieren. Ja, wirklich! Um einen Ton gleichzeitig mehrmals abzuspielen, muss die Datei mehrmach vorhanden sein. Good job, AGS. Immerhin funktioniert es. Bis man den Raum nochmal betritt.
Wird der Raum verlassen, werden die Channels gestoppt. Betritt man den Raum erneut, wird überprüft ob die Wasser-Objects sichtbar sind und wenn ja, werden einfach die entsprechenden AudioChannels wird gestartet. Wer dachte, so einfach sei, irrt. Aus irgendeinem Grund wird einer der drei Sounds gestoppt, wenn man sich etwas im Raum bewegt. Welcher das ist, hängt von der Reihenfolge ab, in der sie gestartet wurden. Warum das so ist? Keine Ahnung. Meine einzige Idee ist, dass der Schritt-Sound die auf den Views von Spielcharakter liegt einen der Audio-Kanäle überschreibt. Tatsächlich tritt das Problem erst auf, sobald sich der Spieler im Raum bewegt und nicht, wenn er einfach in der Startposition stehen bleibt. Nach einigem Debuggen lässt sich feststellen, dass der Schritt-Sound wohl immer auf Channel 3 läuft, welcher sonst von einem der Wassergeräusche belegt ist. WAS IST DAS BITTE FÜR EIN KÄSE? Laut Doku hat AGS 8 Audio-Kanäle. Warum wird immer einer der drei überschrieben, die ohnehin schon belegt sind? Umgangen wird das Problem jetzt, indem die Wassergeräusche eine höhere Priorität bekommen (High statt Normal). Soweit funktioniert jetzt alles.
« Letzte Änderung: 27. August 2017, 05:41:02 von Cone Arex »


Folge mir auf X und itch.io

Kiwa

  • volljähriger Tentakel
  • *****
  • Beiträge: 779
  • Geschlecht: Männlich
    • Profil anzeigen
Re: Abenteuer im GameDev
« Antwort #1 am: 28. August 2017, 12:55:31 »
Nette Idee einen solchen Thread aufzumachen. Oh mann was könnte ich da alles erzählen......... ;)  ::) aber jetzt nicht :P

Hier noch ein Gedanke zu deinem Sound-Problem, wie wäre es wenn du diesen Sachverhalt in einem lupenreinen Englisch im AGS Forum postest:
http://www.adventuregamestudio.co.uk/forums/

Und wenn das Rätsel gelöst ist postest du es hier in einem lupenreinem deutsch - bin nämlich mit meinem Englisch lernen noch nicht viel weiter  :-X
Das Leben ist ein Adventure. Aber ohne Komplettlösung.

Für fast alles gibt es eine logische Erklärung. Für alles andere ein Placebo.

Kinkilla

  • volljähriger Tentakel
  • *****
  • Beiträge: 845
  • Geschlecht: Männlich
  • Nicht zu verwechseln mit einem Chinchilla!
    • Profil anzeigen
Re: Abenteuer im GameDev
« Antwort #2 am: 28. August 2017, 14:06:57 »
Nette Idee -auch Bedürfnis auszukotzen  :P
Ich leide auch an der GameDevs Krankheit Prokastination... Im Grunde muss ich nur aus 2 komplette CharSprite-Sheet einzelne Grafiken ausschneiden und in AGS importieren, anschließen Views erstellen... määh warum zum Teufel kann man nicht mehrere Grafiken mit den gleichen Prinzip gleichzeitig importieren... und dann noch einmal drüberschauen ob alles fertig ist -dann wäre ich fertig. Das wäre die Arbeit eines freien Wochenendes, aber meistens beschäftige ich mich mit anderes  >:D
Wenn man jemals was in einem gescheiten IDE programmiert hat will man nie wieder was in AGS schreiben, der Debug in AGS ist pure Verzweiflung und Bücher an Kopf geklatscht :-X

Cone Arex

  • Moderator
  • alter Tentakel
  • *****
  • Beiträge: 2323
  • Geschlecht: Männlich
  • Skandal-Entwickler und Idiot
    • Profil anzeigen
    • Conequest
Re: Abenteuer im GameDev
« Antwort #3 am: 29. August 2017, 02:47:37 »
Zitat
Hier noch ein Gedanke zu deinem Sound-Problem, wie wäre es wenn du diesen Sachverhalt in einem lupenreinen Englisch im AGS Forum postest:
Das wäre tatsächlich eine Überlegung wert.

Zitat
warum zum Teufel kann man nicht mehrere Grafiken mit den gleichen Prinzip gleichzeitig importieren...
Das geht mit Tiled Sprite Import. Allerdings müssen dafür alle Sprites ohne Zwischenraum nebeneinander liegen. Und bei MMM hatten wir bislang bei den Spritesheets immer einen weißen Zwischenraum zwischen den Sprites gelassen. Und blöd wie wir sind, haben wir das bei unseren eigenen Grafiken auch immer so gemacht, anstatt mal nachzudenken.

Zitat
Wenn man jemals was in einem gescheiten IDE programmiert hat will man nie wieder was in AGS schreiben
Nicht nur die IDE, auch AGSScript selbst ist Käse. Du kannst dir gar nicht vorstellen, wie oft ich schon über die Grenzen und Einschränkungen dieser Sprache geflucht habe. Das wir JETZT ERST mit 3.4 Sprachkonstrukte wie for, break, continue oder switch-case bekommen haben, spricht Bände.
« Letzte Änderung: 29. August 2017, 02:50:30 von Cone Arex »


Folge mir auf X und itch.io

Kinkilla

  • volljähriger Tentakel
  • *****
  • Beiträge: 845
  • Geschlecht: Männlich
  • Nicht zu verwechseln mit einem Chinchilla!
    • Profil anzeigen
Re: Abenteuer im GameDev
« Antwort #4 am: 29. August 2017, 12:59:25 »
Zitat
Nicht nur die IDE, auch AGSScript selbst ist Käse. Du kannst dir gar nicht vorstellen, wie oft ich schon über die Grenzen und Einschränkungen dieser Sprache geflucht habe. Das wir JETZT ERST mit 3.4 Sprachkonstrukte wie for, break, continue oder switch-case bekommen haben, spricht Bände.
Hätte ich darüber meinen ganzen Frust geschrieben (@AGSScript) wär das viel zu viel für einen Post.

Kinkilla

  • volljähriger Tentakel
  • *****
  • Beiträge: 845
  • Geschlecht: Männlich
  • Nicht zu verwechseln mit einem Chinchilla!
    • Profil anzeigen
Re: Abenteuer im GameDev
« Antwort #5 am: 26. Februar 2018, 17:31:01 »
Die Zeit ist reif! Ich werde mal über meine Projekte sprechen.

Ich muss tatsächlich zugeben, dass ich an meinem aktuellen Projekt in der letzten Zeit so gut wie nichts mehr gemacht habe.
Leider kann ich mit Sicherheit sagen, mein Projekt wie ich es planen wollte, wird so nicht mehr erscheinen. Ich befinde mich momentan (auf Hinsicht meiner Episode) in einer regelrechten Krise... :-\

Bevor ich jetzt zu meinen zukünftlichen Projekte komme, sollte ich erstmal etwas über meine Episode sprechen:
Das Spiel bleibt vielleicht manchen noch in Erinnerung. Es handelt sich um mein erstes angekündigtes Projekt. (siehe http://www.maniac-mansion-mania.de/forum/index.php?topic=2188.0
Dieses wurde aber niemals fertiggestellt... Dazu muss ich natürlich sagen, dass ich damals noch recht jung war (IMO zu jung um ein solches Projekt zu planen)
Der Thread ist mir auch relativ peinlich (jedermans erster Beitrag halt :P) Hab in deswegen für mein Gewissen kommentiert. (besser als mit  ":-X" auszutauschen)
Die Schwachstelle war: Das ganze Projekt war irgendwie zusammengeschustert, hatte kein Konzept und irgendwann ist mir auch alles über dem Kopf gewachsen!
Naja, also dachte ich mir jetzt: Ich werde für die Vollständigkeit mein Spiel doch mal fertigstellen. Das klappte allerdings auch wieder nicht so wie ich es mir vorgestellt hatte.
Das Spiel wäre extrem linear geworden und die Übergänge zwischen den Kapiteln wären abrupt. Ich habe daher immerwieder versucht das Spiel "umzukonzeptieren". Ohne Erfolg...

Ich habe mich eine Zeit lang abgelenk- *hust* Nein! Ich gebs zu. Einfach nur Prokrastination.
Immerhin war ich sonst produktiv, ich habe eine neue Programmiersprache gelernt (Python) und damit u.a. ein Skript geschrieben dass einem in einen bestimmten Ordner, alle Subordner löscht, welche AGS Daten enthalten. (für meine 1000 Test-AGS-Projekte und sämtliche ekelhafte Kopien.)

Nach langem Kopfzerbrechen mit der Frage: "Was nu?", habe ich mich endgültig entschieden.
Ich kenne mich... ich werde es nämlich nicht verkraften können irgendwo eine offene Baustelle zu haben, deswegen habe ich ENDLICH eine Möglichkeit gefunden für weiter Ideen Zeit zu finden und mit den abrupten Übergängen klarzukommen.
Mein Spiel wird (fast) so erscheinen wie ich mir es vorgestellt habe (nämlich mit meinem IMO gut durchdachten Anfangs- und End-Kapitel)
Nur dass es nicht als eine Episode erscheinen wird sondern als mehrteilige MMMMM Serie. Damit sind mir die Übergänge fast egal und habe außerdem neue Ideen gefunden.

Kiwa

  • volljähriger Tentakel
  • *****
  • Beiträge: 779
  • Geschlecht: Männlich
    • Profil anzeigen
Re: Abenteuer im GameDev
« Antwort #6 am: 26. Februar 2018, 19:23:29 »
Mein Spiel wird (fast) so erscheinen wie ich mir es vorgestellt habe (nämlich mit meinem IMO gut durchdachten Anfangs- und End-Kapitel)
Nur dass es nicht als eine Episode erscheinen wird sondern als mehrteilige MMMMM Serie. Damit sind mir die Übergänge fast egal und habe außerdem neue Ideen gefunden.

Das nenne ich mal eine kreative Idee. Dann kannst du bestimmt einige MMMMM-Epis daraus machen, den wenn die ganze Epi schon so groß ist das sie dir über den Kopf gewachsen ist dann wird sie bestimmt sehr lang sein. Das werden dann viele Mini-Epis. Das ist auch gut.

Und wo ich hier gerade schon schreibe noch was zu meiner Epi-Baustelle:

Ich hab ne Mega-Epi angefangen (in zwei Grafikstilen(Standard und NES)) und musste dann feststellen das manche Aktionen im NES Stil nicht so gut wirken bzw. komisch wirken. Das hängt damit zusammen das NES ganz andere Proportionen hat. Das macht sich aber erst bemerkbar wenn man eine richtige Epi erstellt. Ich will hier jetzt kein Beispiel bringen weil ich nichts aus der Epi verraten möchte.
Aber das nervt mich. Anfangs hatte ich (wohl im Größenwahn) überlegt sogar noch einen dritten Grafikstil einzubauen (C-64).
Und natürlich wieder alles sehr dynamisch mit mehreren Lösungswegen. Ganz viele Mini-Epis draus zu machen ist für mich aber keine Option.
Bin eher am überlegen wie man die Epi elegant etwas kürzer gestallten kann. Mal sehen wie es weiter geht......  :cl
Das Leben ist ein Adventure. Aber ohne Komplettlösung.

Für fast alles gibt es eine logische Erklärung. Für alles andere ein Placebo.

Kinkilla

  • volljähriger Tentakel
  • *****
  • Beiträge: 845
  • Geschlecht: Männlich
  • Nicht zu verwechseln mit einem Chinchilla!
    • Profil anzeigen
Re: Abenteuer im GameDev
« Antwort #7 am: 04. März 2018, 18:13:36 »
Naja, wär eine super Idee gewesen. Geht allerdings erneut nicht so wie ich wollte. :-\
Ich habe im Laufe der Zeit bemerkt, dass ich garnicht mal so schlecht im tatsächlichen entwickeln eines Spieles bin, das geht meistens recht flott. Aber das Durchdenken und Planen ... puh ... schwere Sache.
Jetzt habe ich aber die endgültige Entscheidung getroffen: Ich mache aus meinem Spiel einen Zweiteiler und durchplane das Handlungsgerüst und die Rätsel.
Generell noch eine Information die du angesprochen hast: Die Episode ist mir damals über den Kopf gewachsen. Jetzt will ich sie sowieso nicht mehr so umfangreich machen, sodass daraus ein Mammutsprojekt wird. Trotzdem nachdem ich jetzt ENDLICH ;D ein passables Drehbuch (mit Rätseln) geschrieben habe, ist mir aufgefallen dass das Spiel für ein Teil eins doch recht umfangreich ist (~40 Aktionen). Aber das positive ist, das Drehbuch gefällt mir, ist umsetztbar und die Entwicklung läuft wieder. 8)

Jetzt noch mal zu deinem Projekt :)

Auf jeden Fall bin ich schon sehr gespannt auf dein Spiel. Der Grafikstil der NES ist sicherlich mal eine gesunde Abwechslung.
Zu deinem Problem: Da die Leute sicherlich dein Spiel dann 2x spielen werden, hast du dir schon mal überlegt nur den NES Weg etwas zu verkürzen?

Kiwa

  • volljähriger Tentakel
  • *****
  • Beiträge: 779
  • Geschlecht: Männlich
    • Profil anzeigen
Re: Abenteuer im GameDev
« Antwort #8 am: 08. März 2018, 19:17:42 »
Auf jeden Fall bin ich schon sehr gespannt auf dein Spiel. Der Grafikstil der NES ist sicherlich mal eine gesunde Abwechslung.

Danke für die Ermunterung.

Zu deinem Problem: Da die Leute sicherlich dein Spiel dann 2x spielen werden, hast du dir schon mal überlegt nur den NES Weg etwas zu verkürzen?

Ob das Spiel dann wirklich 2 mal gespielt wird ist eine gute Frage. Und wenn dann der Spieler nur die kurze Version spielt, hat man sich viel Arbeit für nix gemacht. Ich hatte gedacht das der Spielverlauf in beiden Grafikstilen gleich ist. Da es wieder einen dynamischen Spielverlauf gibt und mehr als nur einen Lösungsweg macht ein erneutes spielen mit anderem Grafikstil durchaus sinn. Aber der NES Stil gefällt auch nicht jedem.
Wenn man sich deiner Annahme (2 mal spielen) sicher sein könnte, könnte man das durchaus so machen. Wobei das erstellen der Grafiken für den NES Stil nicht mal das Problem ist weil die so einfach sind das die neuen Räume schnell zusammengepixelt sind. Aufwendiger ist das alles in AGS doppelt angelegt werden muss weil die Grafiken (Standard vs. NES) unterschiedlich groß sind. Alle Walkable Areas, WalkBehinds, Baselines, Hotspots usw. müssen neu erstellt werden.
Und noch einen Schönheitsfehler habe ich drin:
Der Grafikstil der Schrift ist in NES immer noch der Standard Stil. Das GUI habe ich problemlos umgepixelt so das es mehr nach NES aussieht, es sind aber immer noch 9 Verben und das kann ruhig so bleiben. Aber die Grafik der Sprach-Schrift wirkt bei NES in der Standard Optik unpassend. Mal schauen was zu dem Thema im Tech-Forum steht, ich glaube als das C-64 SP gebaut wurde war das mal ein Thema. Ansonsten muss ich dazu mal einen Thread aufmachen :cl
« Letzte Änderung: 08. März 2018, 19:38:27 von Kiwa »
Das Leben ist ein Adventure. Aber ohne Komplettlösung.

Für fast alles gibt es eine logische Erklärung. Für alles andere ein Placebo.

Cmdr

  • volljähriger Tentakel
  • *****
  • Beiträge: 743
    • Profil anzeigen
Re: Abenteuer im GameDev
« Antwort #9 am: 09. März 2018, 23:25:55 »
Puh, du baust das Spiel in beiden Stilen, also quasi doppelt und dazu noch alternative Lösungswege und hohe Komplexität?
Da hast du ja ja einiges vorgenommen.  :o
Mein Tipp: Belasse es ausschließlich beim NES-Stil. Vielleicht mag den nicht jeder, kann gut sein. Aber es ist auf jeden Fall mal etwas neues und erfrischendes!

Wenn du es doch bei 2 Stilen belassen willst: Warum koppelst du die alternativen Lösungswege nicht an die Stile?
Also im MMD-Stil löst man das Spiel mit dem 1. Lösungsweg, im NES-Stil mit dem 2.
Das würde auf jeden Fall hinreichend motivieren, das Spiel zweimal (und auch mit beiden Stilen) zu spielen.
Im Prinzip hast du so auch 2 Spiele in einem.  ;D

Cone Arex

  • Moderator
  • alter Tentakel
  • *****
  • Beiträge: 2323
  • Geschlecht: Männlich
  • Skandal-Entwickler und Idiot
    • Profil anzeigen
    • Conequest
Re: Abenteuer im GameDev
« Antwort #10 am: 15. März 2018, 18:56:43 »
Mich mal wieder beim Hamstermann so verrannt, das ich am liebsten wieder umwerfen und von neuem beginnen würde.


Folge mir auf X und itch.io

Kinkilla

  • volljähriger Tentakel
  • *****
  • Beiträge: 845
  • Geschlecht: Männlich
  • Nicht zu verwechseln mit einem Chinchilla!
    • Profil anzeigen
Re: Abenteuer im GameDev
« Antwort #11 am: 15. März 2018, 19:32:50 »
Inwiefern?
Aber Kopf hoch, das denke ich mir schon jedes mal wenn ich AGS öffne. :P

Cone Arex

  • Moderator
  • alter Tentakel
  • *****
  • Beiträge: 2323
  • Geschlecht: Männlich
  • Skandal-Entwickler und Idiot
    • Profil anzeigen
    • Conequest
Re: Abenteuer im GameDev
« Antwort #12 am: 16. März 2018, 14:06:36 »
Ich habe mal wieder nicht hinreichend vorgeplant und dokumentiert.


Folge mir auf X und itch.io

Kinkilla

  • volljähriger Tentakel
  • *****
  • Beiträge: 845
  • Geschlecht: Männlich
  • Nicht zu verwechseln mit einem Chinchilla!
    • Profil anzeigen
Re: Abenteuer im GameDev
« Antwort #13 am: 17. März 2018, 16:40:57 »
Kann dich da echt verstehen.
Wenn ich manchmal keine Lust auf meine sadistischen Buchführung und Storyboard Planung habe programmiere ich mal einfach los bis ich merke: Shit, das geht ja so garnicht.
Egal wie nervig es ist: Strukturierung, Planung und Aufzeichnung der Entwicklung ist das A und O.

Kinkilla

  • volljähriger Tentakel
  • *****
  • Beiträge: 845
  • Geschlecht: Männlich
  • Nicht zu verwechseln mit einem Chinchilla!
    • Profil anzeigen
Re: Abenteuer im GameDev
« Antwort #14 am: 18. März 2018, 17:53:10 »
Heute habe ich ~500 Zeilen Code niedergeschrieben mit hunderten erfundenen character.Say(""); 2 Chars eingefügt und zum laufen gebracht und mehrere Grafiken mit Farbverläufen erstellt.
Ich hätte gerne einen Grog! 8)