A special case is Alan 3, which I've reviewed a while ago, and which has enough built in functionality that you can in principle do just fine using just the raw language. However, it does have a standard library made by Anssi Raisanen, which is impressively rich as such things go.

Then why did I choose to make my own instead?

Why, because I could! Just kidding. But seriously, the task seemed much less daunting than it would have been in any other authoring system. In fact I only thought it feasible at all due to not having to code a parser, as one is built into the interpreter. Designing the library also helped my learning process a lot. But the main reason was that the existing library is based on a philosophy I just couldn't agree with. Namely, authors are expected to customize it for each and every game. And that means about twelve thousand lines of code to understand
and maintain with each new project.

Now, I can see why it was designed this way -- certain peculiarities in the language make the approach tempting. And if you're making an epic on the scale of Worlds Apart for example, the overhead may not be that big. Besides, a large proportion of those twelve thousand lines, possibly as much as half, are comments, and the author's understanding of Alan helped me more than once when I was at a loss to figure out how this or that feature is supposed to work.

And yet, I decided that for a small project such as Catch That Cat, it was better to make something of matching size. It wouldn't have been the first time, either: the game started out as the demo of another authoring system, written in Javascript, and that was my main source of inspiration.

What They Say

"Alan definitely met my expectations. I was able to create two pretty large, complex games with no prior programming experience."

Byron Campbell