OpenD6 TTRPG DSL -- Spell Definitions

Date Tags DSL / OpenD6

The OpenD6 Table-Top Role-Playing Game (TTRPG) has a complicated bit of accounting around the definition for magical spells and invocations. For me, the accounting suggested a need for software tools. This -- in turn -- forced me to invent a Domain-Specific Language (DSL) to work with OpenD6 spells.

I like the OpenD6 …

more ...


The eval() Conundrum and Python-as-DSL

Many people will proclaim that the eval() function is reprentnatly evil.

Feel free to skip the two rants.

BLUF

The eval() function is relatively easy to work with.

Important

Limit the globals to the fewest possible names.

Eval() Rant

A too-common claim is that we can't use eval() because an …

more ...

Domain-Specific Language

Generally, I try to frown on Domain-Specific Languages. Often, a tidy set of related functions, or a group of class definitions with a few decorators can create something that's every bit as expressive as a DSL in native Python syntax.

There are a few cases where a DSL can be …

more ...