Wednesday, April 08, 2026

Vibe Coding in Claude

 I've been messing around with vibe coding in Claude in Godot, Python and Javascript. Some observations:

1. This is a fantastic resource for someone who hasn't really coded since RAM was measured in KB and cell phones were bricks you could defend yourself with in a street fight. 

2. However, Claude does not get it right the 1st time. I had to do about as much debugging as I would normally have done for a chunk of code that size. Fortunately, you can tell Claude what the bug is and Claude will identify the error.

3. Claude's code is not elegant -- it does kludgy things like put a "goto" at the end of every branch of an if/elseif/else structure rather than just putting one goto after the structure. Yecch.

4. These are tiny stretches of code. I don't know how well Claude would handle a bigger coding project. But a programmer could probably use it to generate bits and pieces of code more quickly.

5. Technology has rarely reduced the amount of work. It has increased the productivity of that work. Since the arrival of personal computers, there aren't fewer people in offices, there are more. Programming itself has gone through multiple iterations of automation. Assembly language was a way to automate machine language. Programming languages were a way to automate assembly language. Scripting (in various environments such as game engines) is a way to automate programming. I suspect we won't need fewer programmers, we'll just have more complex software for the same price.

Wednesday, March 04, 2026

I'm giving a talk!

 



I'm giving a talk tomorrow at Cinesite in Montreal about "What Game Devs Should Know about Narrative." (You can still buy a ticket! 5 places left.) We're going to play a round of Ludonarrative Resonance. As I've mentioned before, this is a game where you draw cards for Player Character, Situation, Goal and Mechanic, and you have to make up a story that works within those parameters.

Tomorrow's cards are:

Player character

  • An apologetic Englishman
  • A beginning witch
  • A misunderstood monster
  • An addicted detective
  • An escaped android
  • A sulky teenager
  • A new vampire
  • An orphan girl
Situation
  • A building with a secret
  • Zombie apocalypse
  • A decayed city in a faithless empire
  • Paris in the 1920s, sort of
  • Alien invasion
  • A forgotten town
  • Renaissance Florence
  • Civil war
Goal
  • Escape
  • Break the cycle
  • Bring your beloved back
  • Bring back the Old Gods
  • Infiltrate the Organization
  • Get home in time
  • Reveal the Truth
  • Crush your enemies, see them driven before you, etc.
Mechanic
  • Deck Builder
  • Time Loop
  • Romance Sim
  • City Builder
  • Rhythm
  • Shmup
  • Metroidvania
  • Roguelike
  • Soulslike
  • Crafting

I did this a while ago with a large group, and one person kinda monopolized the conversation, so this time I'm making teams of four, and each team can pitch their idea.

Additional rules are: 

  • you can interpret the words on your card however you like
  • if you absolutely hate your combination of cards, you may throw out ONE card and replace it with something better that you made up.

What do you think? What cards am I missing?

Friday, January 16, 2026

I didn't come here for an argument

 I was listening to Julius Kuschke's Narrascope 2019 talk about interactive dialogue systems, and it occurred to me that we don't see enough dialogue systems where you get at least one of the options almost as soon as the other person starts talking. Because, let's face it, people do not listen very well. Sometimes they're just waiting until the other person stops talking so they can say what they planned to say all along, and some don't wait. 

Firewatch gives you dialogue options before your dispatcher is done talking. But the conversations are fairly slow and thoughtful. It's not really the cut and slash of repartee.

Obviously, this sort of system requires a bit more programming (gasp!) and the conversations have to be designed more carefully. But it does eliminate those dreadful pauses that kill the momentum in most conversations with NPCs. 

I'd love to see a dialogue system where individual responses pop onscreen as the NPC's dialogue triggers them, so your "yeah yeah yeah whatever here's what I want" response might pop up immediately, while an emotional response to the NPC's heartbreaking dilemma might require listening to their whole speech. 

What would be superfun would be the occasional dialogue option that the NPC interrupts, but that's probably too much to ask.