First of all, I'd like to say that this is my first post here. I'm kind of new to the world of game developing, but I've been coding in C++ for years and am kind of familiar with the basic concepts of how to draw things on screen, how to handle movements, create maps and the likes of it.
I've read quite a few tutorials on how to create simple 2D games, but none of them could help me on my quest to create an RPG.
Basically what I don't know is, how can I implement the story in my game? It's not a matter of what lines of code I should use, it's more like a problem with the basic concepts.
I used to fiddle around a lot with RPG Maker an eternity ago and I'm familiar with the concept of events, but switching to C++ makes it kind of hard for me. I want to be able to put, say, random quests given from NPCs (for example, a carpenter might ask the player to go chop some trees and bring him wood every now and then, or the town guard might ask help for an upcoming monster invasion), give the player something to do other than the main quests. Now, hard-coding every event in the game seems the easy (and lazy) way to do everything, but there're obviously better ways. I'm fairly sure there's a nice and clean solution for this problem, but I just can't find it by myself.
Thanks in advance for any help you can give me!