I’m trying to make a lil visual novel to practice, I’ve got most things figured out but I have no idea how to make characters change expression depending on what they are saying. I’ve experimenting on my side for a while but I still can’t get it to work. If anyone has any tips or ideas, it would be greatly appreciated!
If you are only planning on practicing a bit, maybe you could implement a simple state machine as a rudimentary engine for your visual novel scenes. This state machine could then update the displayed dialog text or the displayed character image respectively.
I’m not sure if you are familiar with state-machines, but they can solve various simple problems, like character animation states in a game or – as a real world example – the state of a dish washer or a soda machine (see image below).
Adding onto what @kraasch suggested, here are text-based resources provided both from GDQuest as well as the referenced Game Programming Patterns ebook noted in the official Godot Docs on Finite State Machine software design patterns, which may be of interest to you for your purposes for development of your visual novel game with NPC animations for dialogue: