Pixelo789

Archiving Thinking With Arrows

This is a blog post that I didn't want to write. However, with leadership issues in upstream Luanti, I have come to the decision to archive my one and only Luanti game, Thinking With Arrows:

Thinking With Arrows on Codeberg

Why?

The reason is simple: Luanti will not ban LLM usage for development of the engine, and they are disrespectful about it.

Here is the timeline that led to this decision. (Note that dates are in my local timezone.)

On the 27th of March, a PR is opened in open-slopware to add the Luanti engine:

small-hack/open-slopware#221 (not accessible due to vacation time)

Since I was (and still am) very active in open-slopware, I discover this and express my disappointment.

On the 5th of April, an issue is opened in the Luanti engine repository to discuss LLM usage:

"Discussion: Policy for AI-assisted contributions" (luanti-org/luanti#17088)

I become aware of this on the 6th of April, mention it in the PR, and merging the PR gets put on hold until the above issue gets resolved.

On the 11th of April, one of the maintainers mentions an LLM-generated PR, and I start keeping my eyes on it:

luanti-org/luanti#17095 (LLM-generated, as shown by commit "co-author" and by explicit disclosure)

On the 12th of April, I finally decide to comment on the issue, first by suggesting the usage of Loupe's LLM policy, then by countering arguments of "LLMs are here to stay", then finally by countering several arguments made in the discussion, including one from a core maintainer saying they don't care about ethics. This ultimately ends up failing, and I call for backup in the open-slopware PR.

Loupe's LLM policy for reference

On the 24th of April, I make the reasonable assumption that Luanti will eventually go through with a permissive LLM policy, and I do a thorough search of the codebase for open-slopware. The PR is merged on the 30th of April.

On the 15th of May (the day before this post was published), I check in on Luanti, and discover that the above LLM-generated PR was merged, with only one of the two required approvals, and without anyone mentioning it. I find this extremely disrespectful. The one thing that you absolutely do not do while talking about an LLM policy is merge LLM-generated code. It's like having peace negotiations with a country, only for you to go and kill their leader.

This is the final straw. I can no longer, in good conscience, continue to be a part of this community.

I am going to tag a release, but after that, development will cease until the following happens:

At this point, I doubt that will occur.

Alternatively, an anti-LLM fork of Luanti is created and becomes actively developed. However, since Luanti is such a big codebase, I doubt that will occur either.

Edit: archived now.

---

To anyone coming from Thinking With Arrows and wondering why I am so against LLMs, open-slopware provides a very good explanation:

The open-slopware "Why not LLMs" section

You can also look at my "AI" policy:

"AI" Usage Policy