AI Disclosure
To be direct: I use AI.
But.. “I use AI” can mean anything from “it wrote my whole project” to “it spell-checked a comment,” and those are not the same thing.
I don’t believe AI output is the same as AI slop.
I don’t ship code I haven’t reviewed.
I don’t shy away from AI when it gets me where I’m going faster and more enjoyably.
I recognize there is moral grey area surrounding AI’s impact on civilization.
Know the Goal
Before I start work, I ask what I actually want out of the session. Sometimes what I want is a product: a working thing I need to exist. Sometimes the result is me knowing something I didn’t know yesterday.
Those two goals want different types of help.
Do the Boring Stuff
Some work is tedious, and nobody grows from it. We have only a short time in this universe and I don’t want to spend it setting up boilerplate code, building testing features or doing data entry in my projects. The nameplate test gym is a good example. It’s a walled arena full of labelled zones for distance, elevation, crowds, occlusion and long names, and its only job is to let me stress-test nameplates. The AI built it in seconds with Unreal MCP. It would have taken me a full day, and I would have learned very little about nameplates from placing a hundred grey boxes.
The same goes for creating the item class and filling the data tables with items. I know what I want, the typing is the slow part, and the output is easy to check. So I hand it over and then I review it.
Acquiring Skills
Here I do the hard part by hand and use AI to fill the gaps around it.
When I wanted to learn the UMG side of MVVM, I had Claude write the C++. When I wanted to learn the C++ side, I had Claude build the Blueprints. Same project, same AI, and I swapped which half I did myself. The half I’m trying to learn is mine. The other half is scaffolding that lets me practise the first one without getting stuck on stuff I already know or stuff that isn’t the focus.
It’s also good at finding things in places I’d rather not read. My builds were slow, and Claude read the log and found limiting max parallel actions to 1. Unreal’s build tool limits parallel compile jobs based on free RAM, and mine was short. Now I know why and can deal with it or, at least, explain it.
Some guidelines
- Having knowledge is not the same as developing skills. This one is huge, and as a college instructor I see new programmers suffer while they learn this hard way (no matter how many times I warn them). Having Claude write code for you and reviewing that code is insufficient for learning. Your fingers need to touch the keyboard and you need go through the process of doing. The dangerous part is that reading the generated code really makes you feel like you’ve learned something, but almost always you have not properly synthesized what is going on.
- I own the architecture and the rules. I decide where things live. Keep graph logic to a minimum, keep formatting in the viewmodel, and don’t let the UI know the game rules. AI can fill in the structure, but it doesn’t get to pick it. It shouldn’t really ever make any decisions for me.
- Take small steps Ask for one thing, check that it works, then ask for the next. Big dumps of code are how you end up with something you don’t understand. AI can be a helping hand, or it can be the big rocket that sends Wile E. Coyote crashing into the moon.
- If I can’t explain, it doesn’t go in. I teach for a living, so explaining stuff has become natural. If I can’t explain some code or a decision, I should not ship it.
- Be mindful of how you are using AI. Product goal: lean on it. Learning goal: lean on it less, and aim it at the parts I’m not trying to learn.
Beyond code
I also use AI outside of development context. I had Claude set up this hugo blog, as well as the build pipeline that pushes updates to my website when I push to my repo. In the classroom I use Claude to refresh myself on key concepts before a lecture, to quickly build exercises and games for practicing specific skills, and to analyze trends to see where students are falling behind (among other things).
There’s still a lot of debate about the true value and cost of AI, and my opinion and process fluctuates, but avoiding it will set me behind. I still love the act of coding, and I do it for fun daily, but when producing a valuable result quickly matters it has proven invaluable.