In light of all the current buzz about AI, I wanted to make a short statement about it, if only because some of you might wonder about the extent to which I’m using AI while building the game and writing this blog.

What am I using AI for?

  • I am using AI to check the grammar of my texts.
  • I am using AI to help me find bugs or issues in my code.
  • I am using AI to help me find potential optimizations in my code.
  • I am using AI to generate small fragments of auto-completed code (e.g., small loops).
  • I am using AI to generate scripts 1.
  • I am using AI to help me reason about complex problems.

What am I not using AI for?

  • I am not using AI to write entire paragraphs of text.
  • I am not using AI to write entire sections of code.
  • I am not using AI to generate any creative content 2.

Why?

I think that AI (LLMs in particular) is a great invention but also one that is broadly misunderstood. Like with any advanced technology, some understanding is required to be able to properly judge it, and LLMs are not easy to understand on a technical level.

Let me make a one-time exception to my rule of not writing entire paragraphs of text and ask Copilot to write a short explanation of how LLMs work:

At a basic level, LLMs are just a very powerful autocomplete system. They are trained on a large amount of data and learn to predict the next word in a sentence based on the previous words. This is why they can generate coherent and fluent text, but it also means that they don’t have any understanding of the world or the meaning of the words they are generating.

One particular problem with this is that users are often presented with output that sounds very confident and convincing while it may be completely wrong. If the user then corrects the LLM, it often accepts the correction without any question, even if the correction is actually wrong. The LLM simply has no means of properly judging the quality of its output.

If you’re not an expert in a particular topic, it can be very difficult to judge the quality of the output and you might end up trusting it too much.

I do think that AI can be very helpful, however. But more often, it has sent me onto the wrong track, so I have to be careful about when to employ it; otherwise, I lose more time than I gain. But admittedly, it has helped me find a few very nasty bugs in my code over time, so there’s definitely some value in it.

Finally, let’s talk about AI-generated creative content. While I was impressed at first, I now often have strong uncanny feelings whenever I see AI-generated content. I’m not sure where this is going, but I think human creativity cannot and should not be replaced by AI, unless it wasn’t creative in the first place. This leaves the question of what creativity actually is, but that’s a topic for another day.

  1. Examples of scripts are: build scripts, deployment scripts, and configuration files. 

  2. Examples of creative content are: graphics, music, narrative, and level design.