And how do I allow the player to pick up points along the way?
You can use a $points story variable to track this, you can also use a story variable to track if the Reader correctly answered the riddle.
The following example consists of X Passages in your story.
1. Use a <<set>> macro to initialise your $points story variable within a special passage named StoryInit.
You should also initialise the story variable being used to track if the Reader answered the riddle correctly, I will be using a Boolean variable named $knewRiddle to do that. This variable will equal true is the answer is correct and false if it is not, by default we assume it is not.
<<set $points to 0>>
<<set $knewRiddle to false>>
2. Use Links within the Passage containing the riddle to offer potential answers.
You can use a Link With Setter to handle the selection of the correct answer to the riddle.
Three eyes have I, all in a row; when the red one opens, all freeze.
[[A. Wrong Answer 1|Next Passage]]
[[B. Traffic light|Next Passage][$knewRiddle to true]]
[[C. Wrong Answer 2|Next Passage]]
3. Check if the Reader knew the riddle's answer in the Next Passage.
You can use an <<if>> macro to check the current value of the $knewRiddle story variable and a <<set>> macro to increment then $points story variable if the Reader answered correctly, and a related <<else>> macro to display a message if they answered incorrectly.
You correctly answered the riddle!
<<set $points += 1>>
It seems that you don't know the answer to that riddle!