It's based on unification, like a Prolog. It does backtracking, like a Prolog. It has something akin to Prolog "cuts". It's equally not Markdown. What it is, is the sensibilities of Prolog (for parsing words into player intent - actions) and for implementing a world model, and for inferring facts from other facts ... and also the text-foremost sensibility of Markdown.
I love it. I've put considerable effort into building tools around it, and to building up a library of extensions.
Backtracking and unification do not make a languge Prolog. What makes Prolog, Prolog. is that programs are sets of definite clauses, executed by proving Horn goals with SLD-Resolution.
There is so much confusion about that and I blame textbooks like Structure and Interpretation of Computer Programs and hackers like Gerald Sussman who have taught generations of programming students that Prolog is about backtracking with unification. It isn't and I've had many awkward conversations with folks who know about logic programming and Prolog from SICP and other similar texts until I realised that we are talking about completely different things.
If I remember correctly SICP doesn't even mention SLD-Resolution, or Resolution at all and most people I've spoken to who have learned about Prolog and "logic programming" from SICP have not even heard the words "SLD-Resolution". It's like a Prolog from a parallel universe based on dictionaries and partial unification with LISP variables.
As to Dialog in particular- it's a Domain Specific Language for writing IF games. Ver cool but not Prolog.
I love it. I've put considerable effort into building tools around it, and to building up a library of extensions.