I just realised that there isn’t any reason to limit the characters system to the portrait widget.
Obviously, as this engine was initially made to be similar to Disco Elysium, it had this concept of a fixed portrait window next to dialogue. Now that this engine can be used for more types of games, I think it would be nice to be able to use the characters system in other ways.
Right now we have a list of characters with poses, and one of them will appear in the portrait window based on who’s talking. But some other games show multiple characters on the screen in different ways:
An evolution of the portrait system I’m thinking of would be to add some simple instruction like
hide_character. Something like:
show_character alice angry 300 200 // Makes the character alice appear with pose angry at x 300 and y 200
talk bob idle "Oh hi Alice, why do you look angry?"
This way all those characters defined in the characters file can be reused at will outside of the restrictions of the portrait widget