Ladezeiten sehr lang - viele Sounddateien als include file

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Ladezeiten sehr lang - viele Sounddateien als include file

    Hallo zusammen, ich habe derzeit folgende Sorgen:

    ich areite an einem Adventuregame der klassischen Art und möchte gerne Sprachausgabe mit einbauen. Dafür werden ca. 4000 Sounddateien benötigt. Derzeit sind es etwa 500. Diese habe ich alle samt als include file eingebunden, wo sie im Ordner datafiles abgelegt werden.

    Jedes Mal, wenn ich den GMStudio neu starte und mein Projekt aufrufe benöigt er eine Zeit von ca. 5 - 10 Minuten, bis ich weiter arbeiten kann. Diese Zeit hängt mit den Includefiles zusammen. Ich verstehe nicht, wieso es so lange dauert und frage mich, wie es sein wird, wenn alle 4000 Sounddaten als Include file eingebunden sind.

    Gibt es eventuell ganz andere Alternativen bezüglich der Soundnutzung? Mache ich vielleicht einen grundlegenden Fehler?
  • Das sind schon sehr viele Sounddateien.

    Durch die Sandbox Beschränkung des GM:Studios is es auch nich so einfach externe Sounds zu laden. Früher gab es den Befehl sound_add () mit dem man Externe Sounddateien aus einem Verzeichnis in GM zur Laufzeit laden konnte und abspielen konnte. Ohne Included Files.

    Dieser Befehl is aber Obsolent. Könntest es aber vll (falls es nur unter Windows laufen soll) über eine DLL lösen. Dann könntest du die Sounds in das Verzeichnis deines Spiels packen und zur Laufzeit deines Spiels erst abspielen ohne sie zuvor in GM zu inkludieren (gibts das wort? :D )

    Bei "Profi" Spielen mit sovielen Audiodateien werden diese zu einer einzigen Datei zusammengepackt und eben von Spiel aus wieder zerpflückt.
  • @Atomicmaster ich hatte früher für @Allakon mal eine Funktion wie sound_add für wav dateien gemacht.

    Wundert mich jetzt auch, dass das so lange dauert ^^
    Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
    Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

    Willst du mit mir auf Discord Chatten/Quatschen?
    Meine Husi's Tutorial Reihe
  • @ Husi012 Jepp! Bin auch super zufrieden mit der Funktion. Sie funktioniert perfekt. Ohne Verzögerung. :thumbup:

    Aber unabhängig von dieser Funktion, die ja nur während des Spieles selbst läuft, braucht der GMStudio beim Laden des Projektes diese lange Zeit.
    Hmm... ich weiß leider nicht, wie man die Sounds in eine einzige Datei zusammenpacken kann, bzw. wie ich mit GMS diese im Laufe des Spieles auspacken, bzw. einzeln darauf zugreifen kann.

    Die Sounds sind ja nicht in das Spiel eingeladen, sondern nur als Include File eingebunden!
  • Ich weiß nicht ob es an der Größe oder der Anzahl liegt.
    Du kannst die Größe auf eine Datei schrumpfen, indem du dir beispielsweise ein kleines Programm machen, dass die Dateien in Buffern lädt und diese zusammenfügt. Dabei dann natürlich auch Angaben der Größe mitgeben, damit du die Datei später splitten kannst.
    Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
    Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

    Willst du mit mir auf Discord Chatten/Quatschen?
    Meine Husi's Tutorial Reihe
  • Ich fürchte das geht nicht, denn der Programmcode wird ja erst NACH dem Laden des Projektes ausgeführt.
    Früher konnte man ja (im GM6) Dateien in einen beliebigen Ordner legen und später im Programm darauf zugreifen. In GMS müssen aber alle Dateien in einen bestimmten Ordner (datafiles) untergrebracht sein. Das Programm kann jedoch erst auf diese zugreifen, wenn die Datei als Include File eingebunden wurde. Einfach nur eine Datei in den Ordner datafiles zu verschieben geht nicht.
    Ich nehme mal an, es liegt einfach an der Menge dieser Files. Nicht an der Größe.
  • Das geht schon. Game Maker Spiele legen ihre daten unter folgendem Verzeichnis ab (Versteckt im Normalfall):

    C:\WindowsBenutzerName\appdata\local\DeinSpielname

    Dort kannst du ein Verzeichnis erstellen und in GM mit

    working_directory + "Sounds\sound005.wav"

    (Als beispiel) drauf zu greifen.

    docs.yoyogames.com/source/dadi…ng/working_directory.html

    Aber eben nur innerhalb dieses Verzeichnisses. Du müsstest also beim erstellen des Spiels einen eigenen Installer wählen der die Sounddateien mit kopiert usw.
    Willst du auf andere Verzeichnise zugreifen musst du das über eine DLL lösen.
  • @Atomicmaster einfacher ist dieser Pfad: %localappdata%\Projektname

    @Allakon du würdest das dann natürlich mit einem zusätzlichen Programm zusammenfügen.
    Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
    Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

    Willst du mit mir auf Discord Chatten/Quatschen?
    Meine Husi's Tutorial Reihe
  • Schau dir mal die Audio Groups an. Dort kannst du bestimmte Gruppen von Audiodateien beliebig laden oder wieder entladen. Dafür musst du die Sounddateien direkt in den Soundtab laden.
    Der Vorteil ist das du das ogg Vorbis Format benutzen kannst. Diese sind um ein vielfaches kleiner als die unkomprimierte Wave-Dateien, weswegen sie nicht so lange zum laden brauchen. Zudem werden diese nativ unterstützt. Wave-Dateien benutzt man normalerweise in Spielen, wenn überhaupt, für kleinere Soundeffekte und nicht für Dialoge oder Ähnliches.

  • Vielen Dank für eure vielen Tipps. In Sachen DLLs muss ich mich aber erstmal hineinlesen. Kennt jemand vielleicht ein gutes Tutorial dazu?
    Ich werde im übrigen alle Eure Vorschläge der Reihe nach ausprobieren. Schon zur Übung, um neues zu lernen.

    Sorry wegen meiner späten Antwort -_-