Vampiric text-based adventure game
Don't ask if the user wants to play the first time
If the user started your game, then of course they want to play it, otherwise they wouldn't have started it to begin with. So don't ask and go to the intro immediately. If they started your game in error, they can always quit it by closing the window, pressing control-C or something like that.
You will overflow the stack, eventually
For every action that does not end the game, you just call another function, but you don't return from a function. This means your call stack will grow indefinitely. With the gigabytes of RAM we have in our computers nowadays, you might not notice this mistake, but on the eight-bitters of the previous century, your game would run out of memory very quickly because of this.
Generally, you want to have a main loop that handles the input, and that advances the state based on your input. For example, you could write it like so:
def intro():
    print('You wake up...')
    ...
    choice = input('&gt;&gt;&gt; ')
    if choice in answer_A:
        print(&quot;...&quot;);
        return &quot;game_over&quot;
    elif choice in answer_B:
        return &quot;castle&quot;
    ...

def main_loop():
    state = &quot;intro&quot;

    while state != &quot;end&quot;:
        if state == &quot;intro&quot;:
            state = intro()
        elif state == &quot;castle&quot;:
            state = option_castle()
        ...
        elif state == &quot;game_over&quot;:
            again = input('Do you want to play again? Y or N  ')
            if again in yes:
                state = &quot;intro&quot;

main_loop()

The above is just an illustration of the idea. To do it properly, you would probably use an enum for the state, and possibly have a map of states to functions so you can simplify the whole loop. For example:
from enum import Enum

class State(Enum):
    INTRO = 1
    CASTLE = 2
    ...
    GAME_OVER = -1
    END = -2

def intro():
    ...

def option_castle():
    ...

def game_over():
    print('Game over.')
    again = input('Do you want to play again? Y or N  ')
    if again in yes:
        return State.INTRO
    else
        return State.QUIT

scenarios = {
    State.INTRO: intro,
    State.CASTLE: option_castle,
    ...
    State.GAME_OVER: game_over,
}

def main_loop():
    state = State.INTRO

    while state != State.END:
        state = scenarios[state]()

main_loop();

Consider not sleeping before showing possible choices
The calls to time.sleep(1) are not needed for the game, and just make it so the player has to wait unncessarily before being able to read the choices. I would just avoid this.
The game is quite rude
It might seem funny to you, but if I was a player, and accidentally typed in the wrong character, and got told that I was an idiot, my appreciation of the game would drop significantly. Also, being told that garlic doesn't work because that's just a story book thing is very annoying, since the whole concept of vampires comes from a story book to begin with.