For games that are strongly story-driven, the cutscene can be nearly ultimate. For me, to implement, they are ultimately annoying. I've never had much success implementing them; it always feels awkward.
In VtV the cutscenes were just pages of white text on a black screen, not too interesting but probably fit the game.
To me the essence of the cutscene is that the player isn't in control anymore; they are a passive participant. If a game were all cutscenes, well then it wouldn't really be a game. But if you are desperately avoiding them, then the game may seem awkward at times, because you aren't using a tool that should be available to you and is sometimes (to me) the most obvious way to tell a story.
So I've got the initial tutorial area and one of the things I'm trying to teach the player is how to equip clothing. To that end, they are going to want to put on their hat. My idea is that when the player (Sam) goes outside, he will remark that he feels naked to be outside without his cowboy hat. This is a bit artificial, to be sure, but I think it's acceptable.
The best way, it seems to me, to accomplish this is a cutscene that is triggered when the player first steps on a certain area. But immediately there are so many problems! For instance:
1- How do we detect that this cutscene should be activated? Of course there will have to be some code. My best idea is to have a global drone (AI module) which scans some kind of cutscene database and activates them as needed. I can use the existing place system, so that I can do some in-game editing to create a place (or places) where the cutscene happens, and then walk the player around using the cutscene itself. And that's my simplest idea.
2- How do we show the character (who is a silent protagonist) talking to himself? I don't have a system in place to really address this. For instance, the UIs are all centered around talking to other people, and interacting with other objects. There is no UI for just simple talking. I need to create a UI for the tutorial hints, so maybe I will be able to re-use this one?
3- How do I easily test them? For the most part they are going to play only once, and set a flag so they know not to load. I guess I can add some kind of "debug" flag to the cutscene database that will make them happen over and over again. But this seems tedious.
There are more problems, to be sure. But I guess I have a starting place. I'll need an AI module to detect and activate them, some kind of generic dialog box that can just describe your thoughts or what's happening without necessarily allowing you to interact (as the normal dialog boxes do), and I'll have to keep in mind to create a system that makes them not too painful to test.