Some major categories of string usage.
Currently in no particular order:
Display Strings Link to heading
unicode, or other swappable, multi-language friendly strings that appear on screen. alternatives: none known, but how these strings are stored and referenced can be key to making a game easy to translate.
Format Strings Link to heading
string that describes how data, including other strings, will appear on screen. alternatives: hard coded string / data composition
Player Input Link to heading
strings defined by the person playing the game, typically winds up being a display string at some later point. examples: run-time configuration (consoles), names of user characters, names of servers, passwords, chat, etc. characteristics: changes infrequently, often kept for long durations, sometimes saved as part of user data. may or may not be unicode.
Object Names Link to heading
designer or artist defined names, used for labeling, searching, identity tests examples: names for placed objects, npcs, special weapons, etc. characteristics: typically changes only during edit cycles, often offline. may be used for NameConventionMashing alternatives: guid, but often some nice/pretty name that designers can remember needs to enhance the guide
Named Variables Link to heading
a variation on object names, artist or designer defined names used for labeling properties or variables in scripting. characteristics: while potentially convertible to non-string based representations often the string name is kept for debugging or logging.
Type Selection Link to heading
predefined names, usually exposed by a programmer, used for type-type comparison. examples: inventory item class types, internal dialog or window class names, user commands. alternatives: unique ids, enums, type classes
Logging Link to heading
debug strings for use during development. examples: timing, trace outs, etc.
Errors Link to heading
often not differentiated from logging strings even though some percentage may become display strings. examples: asserts or other hard coded error detection alternatives: centralized error codes ( enums or #defines )
File Names and Paths Link to heading
location or names of files on disk. may be used as part of app configuration, NameConventionMashing, or search.
-
configuration example:
-
D:\games\gamename\data
-
C:\gamename\data
-
naming convention mashing:
-
ui\theme\evil\window.png
-
ui\theme\good\window.png
-
load time search:
-
data\weapon\biggun\*.wav
Data File Parsing Link to heading
some data files ( xml, ini, yaml, etc. ) are based on text. parsing needs may include:
-
parsing of value:
-
“true”, “false”, “atoi”, “atof”, etc.
-
mapping data to data:
-
esp. searching for pieces of assets, ex: mesh names, material names, locater names, etc.
-
name based selection:
-
finding type, object, or variable names.