String Categories

Some major categories of string usage.

Currently in no particular order:  

Display Strings

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

string that describes how data, including other strings, will appear on screen. alternatives: hard coded string / data composition

Player Input

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

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

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

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


debug strings for use during development. examples: timing, trace outs, etc.


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

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

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.