Hi, I started working on my 1st (2D) RPG (using C++ and SFML). In the past, I've only worked on platformers or what I call fixed-view (i.e. Asteroids, Pac-man, Pong). I'm wondering how you integrate quests, characters, etc. into the game? So far the best idea I've come up with is to have a directory for quests and keep all quests or quest lines in separate files.
Maybe a .xml file that would contain a tree of quests that could refer to other quests like
<questline name="L1">
<quest name="Q1">
...
<unlock>L1:Q2</unlock>
</quest>
<quest name="Q2">
...
But what about the NPCs? I want them to be there whether the quest is active or not, I want quests to have the ability to kill them, change their location, dialogues etc. Basically, I want the implementation to be as flexible as possible so I don't cock-block myself later. Any input would be appreciated (ideas, projects on GitHub I could snoop on, books that aren't too expensive, anything really...)