You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

12 KiB

title author
Super(de)construction

Super(de)construction

text adventure game

My text-adventure game was (first and foremost a struggle and) an attempt to dive a little bit into the world of python and deal peacefully with the potential trauma of coding. The first unsuccessful try started by making a map on paper with all the possible rooms, corridors, spaces and the potential inputs of the player. It proved to be a too-ambitious plan though. So this was the time when the super(de)construction game was born! I intended to make a fan fiction text adventure game(!) of the Marxist superstructure theory. There are three basic rooms where the player can navigate: the Base-ment, the Apparatus and the Megaroom. People can grab specific \“objects\” from each room and check their inventory (for example you can have unpaidlabour, church, mostlywhitemen from base-ment, apparatus and megaroom respectively in the same bag!). The game aims to accumulate enough points in order to bring eventually the revolution and win. The fermentation and the radicalization happen only in the base-ment.

Will you be part of the revolutionary class?

import os , time , random

\#   Setting up the current (saved) state

currentRoom = \"base-ment\"

start = True

graduation = False

study = 0

items = {

    \"base-ment\": \[\"unpaidlabor\", \"consiousness\", \"lackoftime\",
\"dipression\", \"commodities\", \"collectivememory\", \"laborforce\",
\"survivalmode\"\],

    \"apparatus\": \[\"game\", \"work\", \"symbols\", \"family\",
\"church\", \"institutionalmemory\", \"army\", \"ideology\"\],

    \"megaroom\": \[\"hegemony\", \"control\", \"power\", \"violence\",
\"accumulationofwealth\", \"property\", \"mostlywhiterichmen\"\]

}

inventory = \[\]

\#   Seperating the text and printing in delay so the content on the
screen is readable and easy to comprehend

def printer (text):

    for t in text:

        print(t, end = \"\", flush= True)

        time.sleep(random.choice(\[0.0001, 0.005, 0.007\]))

    print()

\#   Defining the \"taker\" function and setting it up in each of the
three rooms below

def taker(room):

    if any(x in spliti for x in \[\"get\", \"grab\", \"take\",
\"carry\", \"steal\", \"expropriate\"\]):

        for item in items\[room\]:

            if item in spliti:

                printer(\"You took \" + item)

                inventory.append(item)

                items\[room\].remove(item)

\#   Creating the while-loop

while True:

    if (start == True):

        printer(\"\"\"

        Super(de)construction: The game

       

       

                                       \_\_                            
            \_\_                           \_\_                        
 

                                      /\\ \\                            
          /\\ \\\_\_                       /\\ \\\_\_  \_\_            
       

  \_\_\_\_  \_\_  \_\_  \_\_\_\_\_      \_\_   \_ \_\_  \\\_\\ \\    
\_\_    \_\_\_    \_\_\_     \_\_\_     \_\_\_\_\\ \\ ,\_\\  \_ \_\_  
\_\_  \_\_    \_\_\_\\ \\ ,\_\\/\\\_\\    \_\_\_     \_\_\_    

 /\',\_\_\\/\\ \\/\\ \\/\\ \'\_\_\`\\  /\'\_\_\`\\/\\\`\'\_\_\\/\'\_\`
\\  /\'\_\_\`\\ /\'\_\_\_\\ / \_\_\`\\ /\' \_ \`\\  /\',\_\_\\\\ \\ \\/
/\\\`\'\_\_\\/\\ \\/\\ \\  /\'\_\_\_\\ \\ \\/\\/\\ \\  / \_\_\`\\ /\' \_
\`\\  

/\\\_\_, \`\\ \\ \\\_\\ \\ \\ \\L\\ \\/\\  \_\_/\\ \\ \\//\\ \\L\\ \\/\\
 \_\_//\\ \\\_\_//\\ \\L\\ \\/\\ \\/\\ \\/\\\_\_, \`\\\\ \\ \\\_\\ \\
\\/ \\ \\ \\\_\\ \\/\\ \\\_\_/\\ \\ \\\_\\ \\ \\/\\ \\L\\ \\/\\ \\/\\ \\

\\/\\\_\_\_\_/\\ \\\_\_\_\_/\\ \\ ,\_\_/\\ \\\_\_\_\_\\\\ \\\_\\\\
\\\_\_\_,\_\\ \\\_\_\_\_\\ \\\_\_\_\_\\ \\\_\_\_\_/\\ \\\_\\
\\\_\\/\\\_\_\_\_/ \\ \\\_\_\\\\ \\\_\\  \\ \\\_\_\_\_/\\ \\\_\_\_\_\\\\
\\\_\_\\\\ \\\_\\ \\\_\_\_\_/\\ \\\_\\ \\\_\\

 \\/\_\_\_/  \\/\_\_\_/  \\ \\ \\/  \\/\_\_\_\_/ \\/\_/ \\/\_\_,\_
/\\/\_\_\_\_/\\/\_\_\_\_/\\/\_\_\_/  \\/\_/\\/\_/\\/\_\_\_/   \\/\_\_/
\\/\_/   \\/\_\_\_/  \\/\_\_\_\_/ \\/\_\_/ \\/\_/\\/\_\_\_/
 \\/\_/\\/\_/

                  \\ \\\_\\                                            
                                                                       

                   \\/\_/                                              
                                                                     

        \"\"\")

        printer(\"\"\"

         'Welcome to the super(de)costruction game or How to destroy the
ideological apparatus and capitalism in small steps.

You are a witch in the body of a cultural worker leaving in the poor
south. However, you cannot make a living only by selling your labor
power so you have to use your magic powers to maintain yourself. You can
become invisible in order to expropriate goods from chain supermarkets
and share them with your comrades and girlfriends. That's okay!
Inflation \...

You will have an extraordinary chance to walk a lead bit through an
enormous architectural miracle and why not dismantle the master\'s
house!

Are you readyyy???

        \"\"\")

        start = False

       

    if (graduation == True):

        printer(\"You Win!\")

        exit()

\#   Clearing the screen: \"cls\" for Windows; \"clear\" for macOS      

    i = input()

    #os.system(\"cls\")

    spliti = i.split(\" \")

\#   Creating an inventory

    if \"inventory\" in i:

        printer(\"The truth is that you don\'t own anything. You are
proletarian. You don\'t really have private property. However, in you
current inventory you can find \" + \", \".join(inventory))

   

    if i in \[\"talk\",\"discuss\",\"debate\",\"ask\",\"say\"\]:

        printer(\"Hiiiiiii witch, how can I help you, now that nobody is
watching us?\")

        i = input()

        if i in \[\"revolution\",\"finish\",\"free\", \"freedom\"\]:

            if study \>= 119:

                printer(\"You did so many things! You struggle a lot,
you care, you respect! You are a true witch fighter! Revolution is in
the corner.\")

                graduation = True

            else:

                printer(\"We should keep the hard work. Do not give up
though. Things do change and your contribution is valuable! You have
gained \" + str(study) + \"  points. Shall we go again to the base-ment?
We have to organise stuff! Please don\'t give up. Here is something
small for you!\")

                printer(\"\"\"

                                   

                For it is not the anger of Black Women which is dripping
down over this globe like a diseased liquid. It is not my anger that
launches rockets, spent more than 60,000 dolars second on missiles and
other agents of war and death, slaughters children in cities, stockpiles
nerve gas and chemical bombs, sodomizes our daughters and the earth.
This is not the anger of Black Women which corrodes into blind,
dehumanising power, bent upon the annihilation of us all unless we meet
it with what we have, our power to examine and to redefine the terms
upon which we will live and work; our power to envision and to
reconstruct, anger by painful anger, stone upon heavy stone, a future of
pollinating difference and the earth to support our choices.

                We welcome all women who can meet us, face to face,
beyond objectification and beyond guilt.

                by Audre Lorde

               

                \"\"\")

     

\#   Choices in the base-ment

    if currentRoom == \"base-ment\":

        if i in \[\"look\",\"see\",\"view\",\"explore\"\]:

            printer(\"Oh I\'m in an base-ment, cool. There is little
light here. Soooo many people. TheY do work hard. The seem unhappy and
dipressed\")

            printer(\"You can find here: \" + \",
\".join(items\[\"base-ment\"\]))

                           

        elif i in \[\"exit\",\"walk\",\"run\",\"door\",\"leave\"\]:

            printer(\"You can use this tiny door to exit the base-ment.
To be completely honest, you cannot escape that easily the base-ment.
You wish you could. It can be really suffocating. However you are a
witch, you have class consiousness and you have your caring comrades. So
now let\'s move. \")

            currentRoom = \"apparatus\"

\#   The ECTS condition, or the point-gaining system. Every \"study\"
adds 30 points to the player\'s score. The goal is to reach 120 points
or credits.            

        elif i in \[\"disconstruct\", \"dismantle\", \"poetry\",
\"street\", \"public\", \"library\", \"counter-culture\",\"read\",
\"struggle\", \"collective\", \"solidarity\", \"fight\", \"feminism\",
\"queer\", \"act\", \"expropriate\", \"parasite\", \"organise\",
\"care\", \"reclaim\", \"speak\", \"counterhegemony\", \"escape\",
\"burn\", \"collective\", \"demonstrate\", \"zine\", \"create\",
\"enjoy\", \"disobedience\", \"occupy\", \"protest\", \"manifest\",
\"shout\", \"sing\", \"anarchy\", \"radical\", \"barricade\",
\"putaspell\", \"witchcraft\", \"unlearn\"\]:

            printer(\"You have struggled soo much!\")

            study = study + 30

            printer(\"The revolution seems to be closer. Cracks still
happen and are completely important and vital and powerful. You have
gained \" + str(study) + \" points\")

        else:

            taker(\"base-ment\")

           

\#   Choices in the neutral zone

    elif currentRoom == \"apparatus\":

        if i in \[\"look\",\"see\",\"view\",\"explore\", \"open\"\]:

            printer(\"Vrooom, vroom, vroom. You are now in the apparatus
room! What a contradictory place to be. A wise-structured organised
chaos \... Monumental huge buildings, computers, archives, cameras,
people in uniforms, banks campus and other big buildings, and borders.
Where is the public, though? If you see a little bit closer, it is not
that solid.\")

            printer(\"Oh look in the apparatus you can find: \" + \",
\".join(items\[\"apparatus\"\]))

           

        elif i in \[\"exit\",\"walk\",\"run\",\"door\",\"leave\"\]:

            printer(\"You may use this door to exit the apparatus.\")

            i = input(\"which door? (1 or 2)\")

            if i == \"1\":

                printer(\"You use the door to the base-ment\")

                currentRoom = \"base-ment\"

            elif i == \"2\":

                printer(\"You use the door to the megaroom\")

                currentRoom = \"megaroom\"

        else:

            taker(\"apparatus\")

   

\#   Choices in the megaroom

    elif currentRoom == \"megaroom\":

        if i in \[\"look\",\"see\",\"view\",\"explore\", \"open\"\]:

            printer(\"Oh You are in the megaroom! You can tell that it
is luxurious, monumental structure classical and contemporary in the
same time. You haven't seen something similar before! Wowww. But why are
so little people? Why the are mostly white men? Don't be stressed - they
will not notice you! You enter the mansion as a cleaning lady. You are
invisible to them. However, YOU know how radical our marginal identities
are! \")

            printer(\"Oh look in the megaroom! There is : \" + \",
\".join(items\[\"megaroom\"\]))

           

        elif i in \[\"exit\",\"walk\",\"run\",\"door\",\"leave\"\]:

            printer(\"You use the door to exit the megaroom.\")

            currentRoom = \"apparatus\"

        else:

            taker(\"megaroom\")

```