|
|
|
|
---
|
|
|
|
|
title: Super(de)construction
|
|
|
|
|
author:
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 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 was proved
|
|
|
|
|
to be a too ambitious plan though. So this was the time when the
|
|
|
|
|
super(de)construction game was born! My intention was 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 aim of the game is 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\")
|
|
|
|
|
|
|
|
|
|
```
|