EuaconLabs Blogs Hashed String IDs & Audio
Hashed String IDs & Audio 08.07.2014 - 21:19 0

So, um diesen nicht vorhandenen Blog mit etwas Inhalt zu füllen, hier einmal ein kleiner Einblick, was die Entwicklung von VoxE, meinem längerfristigen Projekt betrifft.

Da ich mich neuerdings immer mehr Richtung Gameplay-Foundation-Systems bewege (d.h. GameObjects / Actors, Szenen-Management, ...) nähere ich mich auch den ersten dazu gehörigen Problemen an. Dazu zählen unter anderem auch sogenannte "einzigartige Bezeichner". Wenn ein Game-Designer beispielsweise im Editor ein Objekt bearbeiten will, wird er dem Objekt lieber einen Namen geben wollen, als sich eine Nummer unter Hunderten, oder gar Tausenden zu merken. Daher habe ich nun das Konzept der sog. "Hashed-String-IDs" übernommen. Verwaltet von einer Singleton-Klasse können nun Hash-Werte von Strings gehashed und gespeichert werden. Dadurch wird versucht, das beste von zwei Seiten herauszugreifen: Zum einen die schnelle Vergleichszeit, die benötigt wird, um zwei Integer-Zahlen miteinander zu vergleichen, zum anderen aber auch der Erhalt der Lesbarkeit (und damit auch der Übersichtlichkeit) der Namen. Außerdem ist geplant, sobald wie möglich die "Lookup-Tabelle", d.h. die Tabelle, welche die Hash-Werte wieder zurück auf Strings mappt, in eine Art "Debug-Speicher" zu verschieben. Das hat zur Folge, dass in einem Debug-Build Zusammenhänge besser untersucht werden können, der erhöhte Speicherbedarf für die Zwischenspeicherung der Strings in der Release-Version allerdings entfällt. Eine andere Lösung wäre natürlich auch, mittels Preprocessor die Lookup-Tabelle in der Release-Version schlichtweg wegzulassen.

 

Außerdem habe ich mich mittlerweile dem Kapitel Audio etwas angenähert. Eine erste Anbindung von OpenAL an VoxE ist geschaff, was jetzt noch fehlt sind Wrapper um die generellen Funktionen (AudioSources, AudioBuffers, (Streaming), ...). Das Schöne an OpenAL ist nunmal seine Plattform-Unabhängigkeit, zumindest für Linux und Windows, und seine Lizensierung (LGPL). Momentan bin ich mir allerdings noch unsicher, wie Audio-Ausgabe auf Android unterstützt werden wird, allerdings werde ich das wahrscheinlich auf einen späteren Zeitpunkt verschieben, voraussichtlich werden allerdings Funktionen des Android NDKs, insbesondere von OpenSL ES, benutzt werden.

 

Das sollte es für die letzten drei Tage gewesen sein. Bei Fragen, Anregungen, oder Kritik könnt ihr euch jederzeit bei mir melden, oder (geht das auf Pewn?) kommentieren. Ich werde versuchen euch Rede und Antwort zu stehen.

-----------------------------------------------------------------------------------------------------------------------------------------------------------

Allgemeines:

Auch wenn ich versuchen möchte, diesen Blog möglichst kontinuerlich mit Inhalt zu füllen, kann es durchaus vorkommen, dass ich auch über längere Zeiträume hinweg nichts von mir hören lasse, da ich selbst auch nicht immer die hierfür benötigte Zeit aufwenden kann.

Ich hoffe, dass dieser erste Einblick den ein oder anderen hier interessiert. Auf Anfrage kann ich eventuell auch eine erste Vorab-Dokumentation veröffentlichen, die einige Teilbereiche des Projektes dokumentiert. Allerdings ist diese Dokumentation noch relativ spärlich in ihren Ausmaßen, weshalb ich sie bisher auch noch nicht veröffentlicht habe. Sollte aber Interesse bestehen, bin ich gerne bereit, dies zu tun.

 

Liebe Grüße,

~ EuadeLuxe / EuaconLabs ~


Grund:
11.07.2014 - 02:36
krazun
In den letzten 60 min online
krazun
Rang 17
Administrator

Projekte: 0
Designs: 2
Blogs: 3
Aktivität:
Aktiv

Sehr schön auf diese Weise tiefere Einblicke in den Entwicklungsprozess der VoxE Engine zu bekommen.

So sieht man auch sehr gut das es voran geht und für mich auch noch sehr interessant aus erster Hand mitzubekommen mit welchen größeren und kleineren Problemen man sich bei der Entwicklung einer Engine so rumschlagen muss ;)

 

Bei Fragen, Anregungen, oder Kritik könnt ihr euch jederzeit bei mir melden, oder (geht das auf Pewn?) kommentieren

Mittlerweile ja ;)

 

krazun
In den letzten 60 min online
krazun
Rang 17
Administrator

Projekte: 0
Designs: 2
Blogs: 3
Aktivität:
Aktiv
Administrator