Saturday, September 9, 2017


Because of fairy tales such as The Ridiculous Wishes or The Monkey's Paw, the value of making a wish in the Dungeons & Dragons game setting has always been subject to a thematic taint. It is unclear, from the style of a particular DM's play, whether or not the existence of the wish is a game feature or an opportunity to produce a spontaneous morality play, with the DM as moralist. Thus players have been required to produce exact words of uncompromising perfection when stating a wish, as an effort to restrain the DM from twisting the intended meaning of the wish and thus punishing the player for daring to use this ridiculously dangerous stab-yourself-in-the-chest ability.

D&D is not a morality play or story and the rules that apply to wishes must restrict the DM as much as the player. The DM cannot be allowed to use his or her discretion. Everyone using a wish should have a clear and reasonable idea of its effect and limitations, enabling them to employ this magic without fear of arbitrary consequence.

1 comment:

Tim said...

The application of formal logic here is very fitting, given that mathematical languages are so much more precise than natural ones.
You've essentially developed a wish programming language where the wish may:
1. produce an output that conforms to specifications (i.e. all "wish functions" must statically declare their output, as point 2 upholds)
2. have a static type, where a type is a single non-generic adjective and noun
3. can only affect the scope in which they are "called"
4. cannot change the programming language semantically
I'm likely misusing some of these terms, but the point is that through these laws you're on your way towards constructing a simple programming language. It would be fun to see if it's possible to devise a sort of genie/program in which you input a wish string and which outputs if the string is "grantable" or malformed based on these laws.
Given that rules 3 and 4 require contextual elements, it could be difficult as you'd have to represent existing world information in some way, however....