Python text-based game New to Python, learned a couple things. I'm trying to make a text based game and was told to come here for a review. Any tips would be appreciated to improve my code. I would like to expand this the more I learn.

import time
import random

def  game():
    #intro text
    print('******************************')
    print('     Welcome to the game!')
    print('*******************************')

    time.sleep(1)

    print('You awaken in a cave, unable to see. Darkness surrounds you.')
    time.sleep(1)
    print('\nSuddenly a small flickering light is seen in the distance.')
    time.sleep(1)
    print('\nyou get on your feet and decide wether you should head towards the light or wait where you are and hope help finds its way.')

#first question
def firstquestion():
    while True:
        print('\nDo you get up and see what could be the source of this light? \nOr do you wait?')
        Answer = input()
        if Answer == 'get up' or Answer == 'I get up':
            print('You begin to walk towards the light.')
            break
        elif Answer == 'wait':
            print('you wait, no one comes and you die...')
            break
        else:
            print('try again...')
#second question
def secondquestion():
    while True:
        print('\nThe light turns out to be a torch. Do you take this torch? enter y / n. ')
        Answer = input()
        if Answer == 'y':
            print('good choice, you pick up the torch and walk the out of the cave.')
            break
        elif Answer == 'n':
            print('well now your blind and dead...')
            break
        else:
            print('try again...')

game()
firstquestion()
secondquestion()
print()
As @l0b0 pointed out, you probably messed up your indents upon copying. Assuming they work:

First, looking at your question() functions, you can see a pattern, they prompt the user with a question. The user then has only two choices (binary like). If the user fails to enter a valid answer, they get prompted again. So why not create a function that gets passed the question and the binary answers? This also allows for easier expansion down the line like so:

def binary_question(question, answers):
    while True:
        print(question)
        Answer = input()
        if Answer in answers:
            print(answers[Answer])
            break
        else:
            print('try again...')


Questions = [
    '\nDo you get up and see what could be the source of this light? \nOr do you wait?',
    '\nThe light turns out to be a torch. Do you take this torch? enter y / n.',
]

Answers = [
    {
        'get up': 'You begin to walk towards the light.',
        'I get up': 'You begin to walk towards the light.',
        'wait': 'you wait, no one comes and you die...',
    },
    {
        'y': 'good choice, you pick up the torch and walk the out of the cave.',
        'n': 'well now your blind and dead...',
    },
]

game()
for que, ans in zip(Questions, Answers):
    binary_question(que, ans)


If you are not familiar with dictionaries or zip() look them up.

Second, you can allow for more choices by changing the user input strings to lower case and populating your Answers list to be only lower case. That way the user can enter "I get up" or "i get up", or "I GET UP", etc, and still get a valid response. Like so:

def binary_question(question, answers):
    while True:
        print(question)
        Answer = input()
        Answer = Answer.lower()
        if Answer in answers:
            print(answers[Answer])
            break
        else:
            print('try again...')


Questions = [
    '\nDo you get up and see what could be the source of this light? \nOr do you wait?',
    '\nThe light turns out to be a torch. Do you take this torch? enter y / n.',
]

Answers = [
    {
        'get up': 'You begin to walk towards the light.',
        'i get up': 'You begin to walk towards the light.',
        'wait': 'you wait, no one comes and you die...',
    },
    {
        'y': 'good choice, you pick up the torch and walk the out of the cave.',
        'n': 'well now your blind and dead...',
    },
]

game()
for que, ans in zip(Questions, Answers):
    binary_question(que, ans)


As you can see, we made use of str.lower() function and wrote lowercase only answers in our Answers dict.

Third, I just realized that if the player dies in question one, question two still gets asked. You need a return value to your main loop so you can break in case you are dead:

def binary_question(question, answers):
    while True:
        print(question)
        Answer = input()
        Answer = Answer.lower()
        if Answer in answers:
            print(answers[Answer][0])
            return answers[Answer][1]
        print('try again...')


Questions = [
    '\nDo you get up and see what could be the source of this light? \nOr do you wait?',
    '\nThe light turns out to be a torch. Do you take this torch? enter y / n.',
]

# can use named tuples here to make code more readable
# read about it if interested.
Answers = [
    {
        'get up': ('You begin to walk towards the light.', True),
        'i get up': ('You begin to walk towards the light.', True),
        'wait': ('you wait, no one comes and you die...', False),
    },
    {
        'y': ('good choice, you pick up the torch and walk the out of the cave.', True),
        'n': ('well now your blind and dead...', False),
    },
]

game()
for que, ans in zip(Questions, Answers):
    alive = binary_question(que, ans)
    if not alive:
        break


The new boolean values in Answers[] signify if that answer kills the player. In this case, True = alive and False = dead.