resistor
First Post
I was reading a textbook on programming language design, and realized that many of the issues it examines as criteria for evaluating a language are similar to the criteria involved in evaluating an RPG system.
Writability: For a programming language, this means how easy for a programmer to express exactly what he wants to happen in that languages. Its parallel in RPG's might be better termed expressiveness, in that it is to what degree the system makes it easy you to describe any given entity in game terms.
Readability: The converse of writability, readability is how easy a programming language is for a human to read and understand. In RPG systems, this is the relative ease with which one can look at a mechanical description and understand what it does.
In both programming languages and RPG systems, writability/readability is somewhat of a tradeoff. A more writable language makes it easier to specify exactly what you mean, but that same capacity for detail usually makes it harder for a reader of the language. The case is almost exactly the same for RPG systems: more detailed mechanical descriptions are almost always harder to read.
The final concept in language design is that of orthogonality. An orthogonal language is composed of a very small number of constructs that can be combined by a very small number of operations, but which can still express complex ideas through large combinations of these smaller base units.
Orthogonality in RPG system design usually means a reduction in special-case rules. The 3e multiclassing system is a fairly orthogonal system: there is a small number of class, and only one operation on them (adding a level of one to existing levels of any others), and yet it is capable of generating remarkably complex characters.
In language design and in RPG systems, orthogonality is a double-edged sword. While when used in moderation it can vastly simplify languages and rules by reducing special-cases, it can also lead to unexpect side-effects. In languages, allowing every construct to respond to every operation may lead to unexpected behavior when someone tries to perform math on a piece of text. In RPG systems, problems (balance issues, unintended side interactions) may occur when new material (new classes, for instance) is added, since the original design never accounted for them.
What do you think of this view on system design?
Writability: For a programming language, this means how easy for a programmer to express exactly what he wants to happen in that languages. Its parallel in RPG's might be better termed expressiveness, in that it is to what degree the system makes it easy you to describe any given entity in game terms.
Readability: The converse of writability, readability is how easy a programming language is for a human to read and understand. In RPG systems, this is the relative ease with which one can look at a mechanical description and understand what it does.
In both programming languages and RPG systems, writability/readability is somewhat of a tradeoff. A more writable language makes it easier to specify exactly what you mean, but that same capacity for detail usually makes it harder for a reader of the language. The case is almost exactly the same for RPG systems: more detailed mechanical descriptions are almost always harder to read.
The final concept in language design is that of orthogonality. An orthogonal language is composed of a very small number of constructs that can be combined by a very small number of operations, but which can still express complex ideas through large combinations of these smaller base units.
Orthogonality in RPG system design usually means a reduction in special-case rules. The 3e multiclassing system is a fairly orthogonal system: there is a small number of class, and only one operation on them (adding a level of one to existing levels of any others), and yet it is capable of generating remarkably complex characters.
In language design and in RPG systems, orthogonality is a double-edged sword. While when used in moderation it can vastly simplify languages and rules by reducing special-cases, it can also lead to unexpect side-effects. In languages, allowing every construct to respond to every operation may lead to unexpected behavior when someone tries to perform math on a piece of text. In RPG systems, problems (balance issues, unintended side interactions) may occur when new material (new classes, for instance) is added, since the original design never accounted for them.
What do you think of this view on system design?