This sounds like an “I have an idea but don’t know where to start.”
there are a few ways to go about this depending on what you have currently, and other goals.
if this is a request for "I have an idea but don’t know where to start” try to break it down into smaller steps.
interact with NPCs (get input from player, somehow get the NPC, and trigger InteractEvent())
NPC moves to designated location (Moving other actors)
GameMode tracks how many NPCs have arrived (collision volumes testing for overlap, either testing for type or tag)
NPC talks briefly (dialog systems are very open ended, and should not be prescriptive)
cutscene is triggered (cutscenes and what they mean are very open ended from turning off player input and playing animations, to triggering a video file)
Game design is not hard because most of the individual tasks just are not hard, and are fine once broken down into steps (it is just one big problem, that needs to be broken down into smaller problems to solve)
Game design IS hard because any given choice has about 20 to 50 sub-questions that need to be considered, or else you will end up finding all the ends on a plate full of spaghetti.
To be honest, I don’t have any of that set up yet. I’ve mostly been focusing on setting up the player movement and working on the level layout.
This is a project where narrative is really important, so I’m trying to build something like a very directed, linear “corridor” A linear game where narrative is very important .
This NPC system is basically my first real level idea, and I’m not sure where to start.
Your breakdown helps a lot, I’ll try to approach it step by step like you said.