Lokalisierung

Internationalisierung von Videospielen: Best Practices für eine lokalisierungsfreundliche Architektur

Die Internationalisierung von Videospielen ist der Prozess, der eine reibungslose Spielelokalisierung ermöglicht. Damit die Lokalisierung erfolgreich ist, sollten Sie ein internationalisiertes Produkt haben, bevor Sie mit dem eigentlichen Lokalisierungsprozess beginnen.

Spieleentwickler machen den typischen Fehler, anzunehmen, dass Lokalisierung "nur" eine Übersetzung ist. Sie bereiten sich nicht auf die Lokalisierung in der Anfangsphase der Planung vor und warten darauf, das Spiel in seiner Muttersprache vollständig zu entwickeln.

Die Lokalisierung von Videospielen wird einfacher sein, wenn Sie die Best Practices zur Internationalisierung von Videospielen von Anfang an befolgen.

Was ist die Internationalisierung von Videospielen und warum sollten Sie die besten Praktiken befolgen?

Die Internationalisierung von Videospielen ist der Prozess, der Ihr Spiel auf die Lokalisierung "vorbereitet". Die Internationalisierung Ihres Spiels ermöglicht es dem Code, der Architektur und der Benutzeroberfläche, Spielinhalte in mehreren Sprachen zu verarbeiten und darzustellen.

Der Hauptzweck der Internationalisierung von Videospielen besteht darin, die Existenz einer Komponente in der Codebasis zu eliminieren, die sich durch die "locale" unterscheidet.

Die Spieler erwarten, dass die lokalisierte Benutzeroberfläche genauso interaktiv ist und das Spiel genauso ansprechend wie das Original. Um das gleiche interaktive und ansprechende Erlebnis zu erreichen, sollten Spieleprogrammierer in der Anfangsphase des Spieldesigns und der Spieleentwicklung Best Practices anwenden.

Welche sind die besten Praktiken für die Internationalisierung von Videospielen?

Wenn Sie ein Spieleentwickler sind, der an dem Design arbeitet, ist es gut, sich über die besten Praktiken zur Internationalisierung von Videospielen zu informieren. Sie sollten empfohlene Methoden zur Entwicklung von Videospielen verwenden. Best Practices zur Internationalisierung von Videospielen lassen sich in zwei Kategorien einteilen:

  • Lokalisierungsfreundliche Architektur: Beschäftigt sich mit Dateistruktur, Organisation von Assets, Zeichenkodierung, Speicherproblemen, Namenskonventionen.
  • Lokalisierungsfreundliche Programmierung: Behandelt die für Entwickler empfohlenen Programmierpraktiken (UI, Regional Settings, Text).

Internationalisierung von Videospielen
Dieser Artikel behandelt Best Practices, die empfohlen werden für lokalisierungsfreundliche Architektur. Die Internationalisierungspraktiken von Videospielen für Programmiermethoden verdienen ihren vollen Fokus in einem separaten Beitrag.

Lokalisierungsfreundliche Architektur

Das Entwerfen einer lokalisierungsfreundlichen Struktur wird Ihrem Spiel helfen, einfach, schnell und präzise lokalisiert zu werden. Damit Ihre Spielarchitektur lokalisierungsfreundlich ist, sollten Sie Ihre:

  1. Dateistruktur
  2. Spiel Assets
    • Text Assets
    • Kunstvermögen
    • Voice-Over
  3. Speicher
  4. Namenskonventionen

1. Dateistruktur internationalisieren

Es ist üblich, alle lokalisierbaren Spielinhalte aus dem Spielcode zu externalisieren und in separaten sprachspezifischen Ordnern zu organisieren. Dies ermöglicht eine einfache Übergabe von lokalisierbaren Inhalten an Ihren LSP (Language Service Provider), und die übersetzten Inhalte können problemlos in Ihr Spiel integriert werden. Dies ist eine wichtige Internationalisierungspraxis für Videospiele, die einfach und doch leistungsstark ist.

Das Beispiel zeigt hier eine exemplarische Verzeichnisstruktur für die Organisation Ihres Spielcodes und Ihrer Assets zur Vorbereitung auf Spiele-Lokalisierung. Ihr Entwicklungsrahmen kann spezifische Verzeichnisstrukturen für die Internationalisierung von Videospielen bereitstellen. Weitere Informationen finden Sie in der Dokumentation der jeweiligen Firma.
Videospiel Internationalisierung Dateistruktur
Der Codeordner ("Game Code") enthält alle Ihre Code-Dateien, mit denen es möglich sein sollte, einen lokalisierten Master des Spiels zu erstellen. Der Ordner mit den Assets ("Game Assets") enthält alle Texte, Grafiken, Audio- und Videosequenzen sowie andere zu lokalisierende Assets.

2. Internationalisierung von Spielressourcen

Internationalisierung von Videospielbeständen
Textressourcen, Kunstressourcen und Voice-over sind die kritischen Komponenten Ihres Spiels, die den Anforderungen der Internationalisierung gerecht werden sollen.

2.1 Internationalisierung von Text Assets

Ihr In-Game-Text und UI-Text sind die primären Lokalisierungsziele. Im Idealfall sollten Sie alle lokalisierbaren Texte (In-Game-Text, UI-Text, Konsolen-Fehlermeldungen usw.) in verschiedenen Dateien auslagern, getrennt vom eigentlichen Spiel-Code. Sie sollten auch daran denken, alle Installer-Strings für die PC-Version an einem zentralen Ort zu organisieren.

Die Verwendung externer Stringtabellen zum Speichern von lokalisierbarem Text erleichtert die Organisation und Integration von Übersetzungen. Sie können es noch einfacher machen, Änderungen an den Zeichenketten während der Entwicklung zu verfolgen, indem Sie für jede Zeichenkette eindeutige Zeichenketten-IDs verwenden.

2.1.1.1 Zeichenketten-Tabellen definieren

Der einfachste und gebräuchlichste Ansatz ist es, den gesamten Text in einer Klartextdatei (für die Ausgangssprache) zu speichern. Diese Textdatei kann problemlos zur Lokalisierung übergeben werden, und die übersetzte Version kann für die Zielsprache wieder in Ihr Spiel integriert werden. Wenn Sie reine Textdateien verwenden, halten Sie sich an die lokalisierungsfreundliche Kodierung wie UTF-8 oder ähnliches.

Beispiel-Textdateien
Unabhängig davon, wie Sie Ihre Zeichenketten speichern, werden Sie es sehr nützlich finden, jedem Text eine eindeutige Zeichenkettenkennung zuzuweisen und mit dieser Zeichenkettenkennung auf den Text in Ihrem Code zu verweisen.

Beispiel Externe Textdatei (enthält den gesamten Originaltext für eine Mission namens MissionDDD)

de-US/Text/Assets/MissionDD/Strings.txt 

DDSTRING_T1 Hi Jisto! Gutes tun?
DDSTRING_T2 Ja, mir geht es gut.
DDSTRING_T3 Auf Wiedersehen! Wir sehen uns später.

Beispiel einer japanischen (übersetzten) Version dieser Datei

ja-JP/Text/Assets/MissionDD/Strings.txt

DDSTRING_T1 こんにちはレイチェル!よくやっている?
DDSTRING_T2 ええ、私は大丈夫です。
DDSTRING_T3 さようなら!じゃあまたね。

2.1.2 Haben Sie Ihr Spiel bereits entwickelt?

Wenn Sie Ihr Spiel bereits entwickelt haben, ohne über die Lokalisierung nachzudenken, dann verwenden Sie ein Tool, um alle Texte aus den Spieldateien zu extrahieren. Verschieben Sie sie in eine Stringtabelle und weisen Sie jedem "Text" eine eindeutige "Kennung" zu. Der Identifikator ersetzt jedes Auftreten des Textes im Spielcode.

2.1.3 Entwickelst du ein Spiel mit viel Text?

Für Spiele mit einer enormen Textmenge, wie z.B. ein großes Rollenspiel oder Adventure-Spiele, können Sie eine Datenbank verwenden. Im Idealfall sollte die Datenbank Folgendes enthalten:

  • IDs
  • Text
  • Notizen (mit einem Kontext des Textes)
  • Die Reihenfolge des Textes
  • Maximale Stringlänge
  • Lokalisierte Einträge für den gesamten Text (wenn verfügbar)
2.1.4 Verwendung von Zeichenketten-Tabellen im Code

Ihre Spiel-Engine lädt die Stringtabelle in den Speicher. Hash-Tabellen sind eine häufig verwendete Datenstruktur. Wenn Sie Ihr Spiel in C++ entwickeln, verwenden Sie den STL Map Container. Kapseln Sie die Stringtabelle in eine Klasse, die alle Texte enthält, und definieren Sie eine statische Methode, die den Bezeichner akzeptiert und den übersetzten Text zurückgibt.

Im folgenden Beispiel, GameDDStringTable ist die Klasse, die die Stringtabelle kapselt. Die API getDDString(StringID) ist es, den lokalisierten Text für die Zeichenketten-IDs aufzurufen und zu erhalten (bevor sie im Code verwendet werden).

Code ohne Internationalisierung

DDCHARACTER1.Talk(Hi Jisto! Gutes tun?);
DDCHARACTER2.Talk(Yeah, mir geht es gut.);
DDCHARACTER3.Talk(Bye! Bis später.);

Internationalisierter Code

DDCHARACTER1.Talk(GameDDStringTable::getDDString("DDSTRING_T1")));
DDCHARACTER2.Talk(GameDDStringTable::getDDString("DDSTRING_T2")));
DDCHARACTER3.Talk(GameDDStringTable::getDDString("DDSTRING_T3")));

2.1.5 Erhaltung der Lesbarkeit

Einer der Nachteile der Externalisierung des gesamten Textes im Spiel ist, dass Sie beim Betrachten Ihres Codes feststellen werden, dass er an Lesbarkeit verloren hat. Daher können weitere Skriptänderungen etwas schwierig werden.

Zum Beispiel, DDCHARACTER1.Talk(GameDDStringTable::getDDString("DDSTRING_T1")); ist nicht lesbar, da der eigentliche Text, den der Charakter spricht, nicht vorhanden ist.

Einige Spieleentwicklungsteams versuchen, dieses Problem zu lösen, indem sie den Originaltext (und eine eindeutige Zeichenketten-ID) im Code beibehalten. Sie folgen einer vordefinierten und eindeutigen Syntax, wie im folgenden Beispiel gezeigt.

DDCHARACTER1.Talk(GameDDStringTable::getDDString("DDSTRING_T1|Hi Jisto, wie geht es dir?")));
DDCHARACTER2.Talk(GameDDStringTable::getDDString("DDSTRING_T2|Yeah, I am okay.")));
DDCHARACTER3.Talk(GameDDStringTable::getDDString("DDSTRING_T3|Bye! Bis später."))));

Im obigen Beispiel beinhalten die Skripte sowohl die Texte als auch den Identifikator im Format
“STRING ID | original text”.


Die statische Methode getDDString() liest die ID (links neben dem Rohrzeichen) und gibt den übersetzten Text zurück. Wenn der übersetzte Text nicht gefunden wird, wird der Originaltext (rechts neben dem Rohrzeichen) zurückgegeben.

Dieser Ansatz macht Ihr Skript lesbar. Auch in Ermangelung einer Stringtabelle wird das Spiel nicht scheitern, weil es eine Option zum Zurückziehen gibt. Es wird der Originaltext auf der rechten Seite des Rohrzeichens angezeigt.

2.1.4 Hinweise zur Übersetzung

Wenn Sie den Übersetzungsprozess weiter rationalisieren möchten, sollten Sie ausreichende Informationen über alle lokalisierbaren Zeichenketten bereitstellen. Diese können Sie in Form von Kommentaren in Ihren externen Stringtabellen angeben. Sie können sie auch als separate Hinweise in einem bestimmten Dokumentationsordner bereitstellen. Dies ist eine sehr empfehlenswerte Best Practice zur Internationalisierung von Videospielen.

Notizen helfen den Übersetzern zu verstehen:

  • Die Reihenfolge des Textes
  • Kontext des Textes im Spiel
  • Die maximale Länge der Zeichenkette (nach der Übersetzung), die der Motor noch unterstützt.
  • Alle anderen Zeichenkettenregeln, die für Ihr Spiel gelten.

Internationalisierung von Videospielen - Entwickler-Checkliste für Text Assets
Internationalisierung von Videospielen - Checkliste für Text Assets

2.2 Internationalisierung von Kunstwerten

Reduzieren Sie den Zeitaufwand für die Lokalisierung von Kunstobjekten, indem Sie die Textmenge, die in Ihrer Kunst erscheint, minimieren. Wenn Sie Text in Ihrer Grafik verwenden, befolgen Sie diese Best Practices:

2.2.1 Separate Ebene für Text

Definieren Sie in der Bilddatei den Text in einer separaten Ebene. Solche mehrschichtigen Kunstdateien sind einfach zu lokalisieren, da Sie die Übersetzungen schnell integrieren können.

2.2.2.2 Text programmgesteuert rendern (Laufzeit)

Ein weiterer Ansatz besteht darin, den Text im Bild mit Hilfe von Schriften (programmgesteuert) darzustellen. Externalisieren Sie den gesamten Text, der in den Kunstwerken erscheint, in einer separaten Textdatei, die leicht lokalisiert werden kann. Ihre Spiele-Engine kann dann den entsprechenden Text ziehen und ihn zur Laufzeit bei Bedarf auf den Bildern anzeigen.

2.2.3 Organisieren von Asset-Ordnern

Sie sollten alle lokalisierbaren Kunstwerke in geeigneten Ordnern platzieren, wie in den vorangegangenen Abschnitten beschrieben.

2.2.4 Hinweise zur Übersetzung

Wie bei Textobjekten wäre es sinnvoll, Notizen zur Übersetzung beizufügen.

Internationalisierung von Videospielen - Entwickler-Checkliste für Kunstwerke
Internationalisierung von Videospielen - Checkliste für Kunstwerke

2.3 Voiceover internationalisieren

Das Spiel-Audio kann in drei Spuren unterteilt werden: Voice over (VO), Soundeffekte und Musik. Es ist ratsam, alle VO-Spuren getrennt von den beiden anderen Spuren zu speichern, da dies eine einfache Lokalisierung ermöglicht. Wenn Sie alle Ihre VO-Dateien logisch organisieren, werden Sie es sehr einfach finden, das lokalisierte VO in Ihr Spiel zu integrieren.

Ein Ansatz besteht darin, Ihre VO-Sounddateien mit Hilfe der Zeichenkettenkennung zu benennen (die für den Text in Ihrer Stringtabelle vergeben wird). In unserem obigen Beispiel könnten die Voiceover-Dateien string_t1.mp3, string_t2.mp3 und string_t3.mp3 heißen. Der Vorteil dieses Ansatzes ist, dass Sie so kodieren können, dass der Voiceover für die Zeichenkette (die auf dem Bildschirm angezeigt wird) abgeholt und abgespielt wird.

Ihr Skript ist die Grundlage für die VO-Produktion. Daher müssen Sie das Skript sehr früh in der Spieleentwicklung fertigstellen und so viele technische Aspekte wie möglich (z.B. Länge, Mono/Stereo, etc.) sowie eine genaue Definition des Kontextes berücksichtigen.

Der Lokalisierungsanbieter sollte in der Lage sein, den Ablauf Ihrer Geschichte zu verstehen, indem er Ihr Skript liest. Die Internationalisierung von Videospielen für Voiceover hilft Ihnen, den ursprünglichen Geschmack in Ihrem lokalisierten Spiel zu bewahren.

Untertitelungssystem

Wenn möglich, implementieren Sie ein geeignetes Untertitelungssystem für Ihr Spiel. Sie können so gestalten, dass Untertitel zusammen mit dem Inhalt der abgespielten VO-Dateien auf dem Bildschirm erscheinen oder die VO-Aufnahme durch Untertitelung ersetzen. Denken Sie daran, alle untertitelten Texte in die lokalisierbaren Textdateien aufzunehmen (und stellen Sie sicher, dass Sie sie für die Übersetzung verfolgen).

Internationalisierung von Videospielen - Entwickler-Checkliste für Voiceover
Internationalisierung von Videospielen - Checkliste für Voiceover Assets

3. Speicher internationalisieren

Beim Laden der Stringtabellendatei können Sie alle Texte im Speicher behalten, da diese für die meisten Spiele im Durchschnitt nicht mehr als ein oder zwei MBs betragen sollten. Es ist wahrscheinlicher, dass Sie auf Speicherprobleme stoßen, wenn Ihre Zielplattform nur über begrenzten Speicherplatz verfügt. In diesem Fall kannst du den spezifischen Satz von Texten nach Bedarf für jedes Level des Spiels laden und entladen, etc.

Wenn Sie Ihr Spiel auf Englisch entwickeln und Ihre Lokalisierungszielsprache Japanisch oder andere asiatische Sprachen ist, kann es schwierig sein, ihre Schriftarten in den Speicher zu integrieren. Sie können dies beheben, indem Sie die Glyphen, die im jeweiligen Teil des Spiels erscheinen, bei Bedarf in den Speicher laden.

Wenn Sie Ihr Spiel in einer asiatischen Sprache entwickeln (mit Doppelbyte-Zeichensätzen), werden Sie feststellen, dass die Zeichenketten für Englisch und wenige andere europäische Sprachen mehr Speicherplatz in Anspruch nehmen können.

Zum Beispiel verbraucht Englisch etwa 1,5 Zeichen mehr als Japanisch und Deutsch verwendet doppelt so viele Buchstaben wie Japanisch. Um diese Probleme zu überwinden und Speicherüberläufe zu vermeiden, ist es am besten, sich an eine Kodierung (z.B. UTF-8) zu halten, die europäische Zeichen als einzelne Bytes speichert.

Solche Best Practices zur Internationalisierung von Videospielen für das Gedächtnis stellen sicher, dass Ihr Spiel in allen Sprachen gut funktioniert.

4. Namenskonventionen

Sie sollten alle lokalisierungsspezifischen Ordner und Dateien so benennen, dass es einfach ist, die Sprache bzw. Region, die sie repräsentieren, zu interpretieren. Sprachen haben auch Varianten, die auf den Regionen basieren. Daher ist es ratsam, einen 2-Buchstaben-Code für die Sprache mit einem 2-Buchstaben-Code für das Land zu kombinieren. Beispielnamen sind en-US (American English), ja-JP (Japanese), zh-CN (Simplified Chinese), zh-TW (Traditional Chinese), etc.

Es ist eine gute Praxis, die sich an die weltweit anerkannten ISO-Normen hält.

Es wäre einfach, den Inhalt der Dateien zu verstehen, wenn man sie logisch so benennen würde, dass die Namen die Mission, den Charakter usw. beschreiben. Beispiel: UI.txt, Mission1.txt, Mission2.txt, etc.

Alle oben genannten Best Practices zur Internationalisierung von Videospielen für die Architektur zielen darauf ab, Ihnen zu helfen, Ihr Spiel so zu gestalten, dass es leicht zu lokalisieren ist. Internationalisierungs-Best-Practices für die Spieleprogrammierung sind ebenso notwendig, um Ihre Lokalisierungsziele zu erreichen.

Wenn Sie den Grundstein für die Lokalisierung in den allerersten Phasen der Architektur legen, werden Sie feststellen, dass die Lokalisierung nicht schwer sein muss. Ihr Spiel wird in allen lokalisierten Versionen gleichermaßen funktionieren und die Spieler werden nicht erkennen können, dass es nicht ursprünglich für ihre Sprache entwickelt wurde.

Brauchen Sie Hilfe, um die Internationalisierung oder Lokalisierung Ihres Videospiels in Gang zu bringen? Kontaktieren Sie uns noch heute für ein kostenloses Angebot.

Vinu Saseedaran Renish

Content Creator

Vinu ist Tech Enthusiast und Content Writer bei DayDigital, angetrieben von ihrer Leidenschaft für Technologie und Schreiben. Als Diplom-Informatiker und Red Hat-Alumnus ist sie inspiriert von ihrer Neigung, etwas Neues zu lernen, Anfänger zu sein, neue Erkenntnisse zu gewinnen und jeden Tag zu wachsen. Du kannst dich mit ihr auf ihrem Twitter-Handle @VinuSRenish verbinden.

Vorheriger Artikel
Die 5 wichtigsten Herausforderungen bei der Cloud-Akzeptanz durch Cloud-Anwender
Nächster Artikel
Cloud-Beratung: Können Cloud-Experten Ihnen helfen, Ihre Cloud-Transformation zu beschleunigen?
Ähnliche Artikel
ethisches Hacking, um die Sicherheitsschwachstelle zu testen.
Allgemeines

Mit Ethical Hacking die IT-Sicherheit verbessern.....

Informationssicherheit ist das Gebot der Stunde! Es ist wichtiger denn je, Ihre digitalen Assets zu schützen. Ist ethisches Hacking Ihre Lösung? Ihre Netzwerkserver, E-Mails, Websites und Anwendungen sind anfällig für einen bösartigen Angriff aus allen Teilen der Welt. Es gibt viele.....

0
Internationalisierung der mobilen Apps
Lokalisierung

6 Tipps für die Lokalisierung mobiler Apps, die Ihnen helfen.....

Die Lokalisierung mobiler Anwendungen ist ein Muss, wenn Sie ein globales Publikum erreichen und Ihre Nutzerzahl erhöhen wollen. Um in einen internationalen Markt einzusteigen, sollten Sie über die Lokalisierung nachdenken, bevor Sie weitere Marketinginitiativen planen. Der Marktplatz ist wirklich global in den Bereichen......

0
unser-post -->
Ähnliche Artikel
ethisches Hacking, um die Sicherheitsschwachstelle zu testen.
Allgemeines

Mit Ethical Hacking die IT-Sicherheit verbessern.....

Informationssicherheit ist das Gebot der Stunde! Es ist wichtiger denn je, Ihre digitalen Assets zu schützen. Ist ethisches Hacking Ihre Lösung? Ihre Netzwerkserver, E-Mails, Websites und Anwendungen sind anfällig für einen bösartigen Angriff aus allen Teilen der Welt. Es gibt viele.....

Internationalisierung der mobilen Apps
Lokalisierung

6 Tipps für die Lokalisierung mobiler Anwendungen, die....

Die Lokalisierung mobiler Anwendungen ist ein Muss, wenn Sie ein globales Publikum erreichen und Ihre Nutzerzahl erhöhen wollen. Um in einen internationalen Markt einzusteigen, sollten Sie über die Lokalisierung nachdenken, bevor Sie weitere Marketinginitiativen planen. Der Marktplatz ist wirklich global in den Bereichen......

wordpress theme powered by jazzsurf.com