User:Louisa: Difference between revisions
Line 73: | Line 73: | ||
<br><br> | <br><br> | ||
Text Adventure Chatbot in Python<br> | Text Adventure Chatbot in Python<br> | ||
<p style="width: | <p style="width: 90ch;"> | ||
In the first prototyping classes, we got introduced to Python and its functions around tagging and producing text with [https://www.nltk.org/ NLTK]. | In the first prototyping classes, we got introduced to Python and its functions around tagging and producing text with [https://www.nltk.org/ NLTK]. | ||
It immediately reminded me of programming text adventures in C# and I was curious to work with user input. | It immediately reminded me of programming text adventures in C# and I was curious to work with user input. |
Revision as of 16:37, 11 April 2021
☣
I am working with themes around gaming and the effect of new technologies on the player's perception of reality. By analysing gameplay methods and implementing them into RL settings, I am creating scenarios in which the viewer turns into the protagonist of an interactive fictional narrative.
my shitty website
Thesis on Interactive Fiction:
http://louisateichmann.com/01.html
☣ present
☣ issues
issue #13
https://pzwiki.wdka.nl/mediadesign/Category:WordsfortheFuture
MY WORD FOR THE FUTURE IS RESURGENCE
Word | Authors | PDF (small) |
---|---|---|
LIQUID | Rachel Armstrong, Andrea Božic & Julia Willms (TILT) | link |
OTHERNESS | Daniel L. Everett, Sarah Moeremans | link link link |
PRACTICAL VISION | Moses Kilolo (Jalada), Klara van Duijkeren & Vincent Schipper (The Future) | link link link |
ECO-SWARAJ | Ashish Kothari, Rodrigo Sobarzo | link link |
HOPE | Gurur Ertem, Ogutu Muraya | link |
TENSE | Simon(e) van Saarloos, Eilit Marom & Anna Massoni & Elpida Orfanidou & Adina Secretan & Simone Truong | link link |
UNDECIDABILITY | Silvia Bottiroli, Jozef Wouters | link |
RESURGENCE | Isabelle Stengers, Ola Macijewska | link |
!? | Nina Power, Michiel Vandevelde | link |
ATATA | Natalia Chavez Lopez, Hilda Moucharrafieh | link |
During this first trimester, my focus was on building a structure which allowed for a non-linear navigation of an essay, which derived from my previous research on text adventures. Throughout this process, I started prototyping 3D environments with the help of the three.js library and overlaying it with an interactive multiple choice style interface. The initial idea was for the digital environment to adjust according to the path the player takes by navigating through the given options. The big challenge was to find a way to make this process meaningful not only for web but also print and making it suit the content of the essay 'Resurgence' by Isabelle Stengers. Deeply inspired by the lecture of David Maroto on "choose your own adventure" books, I decided to follow a similar structure for my republication and started with the print version first before translating it into its interactive web counterpart.
process
Text Adventure Chatbot in Python
In the first prototyping classes, we got introduced to Python and its functions around tagging and producing text with NLTK. It immediately reminded me of programming text adventures in C# and I was curious to work with user input.
YouTube Tutorials:
https://youtu.be/DEcFCn2ubSg
https://youtu.be/ypNFNr72Xe8
https://youtu.be/dVjs6HI9MCs
from flask import Flask
app = Flask(__name__)
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run()
import time
import sys
a = 0.2
b = 2
def inventoryWipe():
file = open("inventory.txt", "w")
file.close()
inventoryWipe()
print(" _________")
print(" / ======= .")
print(" / __________. ")
print(" | ___________ |")
print(" | | words | |")
print(" | | for | |")
print(" | |_the_____| |________________________")
print(" \=____________/ future )")
print(" / =========== \ /")
print("/ ::::::::::::: \ =D-'")
print("(________________)")
s = '"Hello Traveler"'
for character in s:
sys.stdout.write(character)
sys.stdout.flush()
time.sleep(a)
time.sleep(b)
print()
print('Enter your name:')
name = input()
count = 0
def select_element():
global count
print('Hello, ' + name + ". Welcome to ***Earthrise***. Are you ready to set sail to the land of the future? If yes, pick one of these elements to start: water, fire, wind")
time.sleep(b)
while True:
print('Type your choice below, ' + name + '!')
element = input()
if element.lower().strip() == "water":
print('Great work, ' + name + ', Captain Atata picked you up with his ferry! Where should we go from here? (north/west)')
count = count + 1
print(count)
elif element.lower().strip() == "fire":
print('Great work, ' + name + ', You find yourself at the foot of an active volcano. Where do we go from here? (north/west)')
count = count + 1
elif element.lower().strip() == "wind":
print('You lift off the earth into the skies now, ' + name + ', you are floating. Where do we go from here? (north/west)')
count = count + 1
else:
print("this spell has no power here.")
direction = input()
if direction.lower().strip() == "west" and count == 1:
print("You are walking along a " + element + " stream until you see a big book.")
elif direction.lower().strip() == "north":
print("You find yourself in a dense forest. By your feet you see a magic elixier and a whistle. You only have space for one, which one do you pick? (elixier/whistle)")
count = count + 1
else:
print("this spell has no power here.")
object = input()
if object.lower().strip() == "elixier" and count == 2:
print("You don't understand what to use it for yet, so you keep on walking.")
elif direction.lower().strip() == "whistle":
print("You try to make sounds with it, until you finally succeed. You hear the whistle sound being echoed from far. (follow)")
else:
print("this spell has no power here.")
select_element()
File:JupyterLab - Mozilla Firefox 2020-11-16 09-32-50 Trim.mp4
Essays to annotate: ?!, Undecidability, Resurgence, Liquid
with Nami, Clara, Kendal
?! PDF PAD NEW PAD
Undecidability PDF PAD
Resurgence PDF PAD
Liquid PDF PAD
issue #14
IRL ENERGY >>> MOBILE ONLY
During the second trimester, I was looking to find ways of mapping a digital game to real locations in the city. Not only as an escape from the screen and isolation, but also as a way of allowing people to experience their environment in a more liberated way. Instead of going from A to B, I wanted to encourage people to stop and look closely. To facilitate this behaviour, I started researching the practice of geocaching to be able to translate the game mechanics into a more visually stimulating mobile game. My interest in asynchronous social interaction and intimacy manifested itself through site specific narration of the environment around Duan's Seafood Service in den Haag (one of the five locations of the final publication), before the players would stand in the same spot a few days later.
process
Visual inspiration https://www.youtube.com/watch?v=-HhRKtdhs6M
Tutorial on how to make early 2000s lowpoly video game objects
https://www.youtube.com/watch?v=m3Wf-EegBgg
https://pad.xpub.nl/p/project-plan-SI-Louisa
Geocaching game meets early 2000s video game meets text adventure with scene illustrations???
An in browser online game built up of static images that replicate real places in the city in a Half-Life type of style. Hovering, animated keys in locations represent clue inside of geocache. Coordinate is displayed when arriving at replicated online scene.
Players need to be moving through the city to be able to unlock the next level in the game, which leads to another replicated geo scene.
The geocaches will hold codewords for online game and logbook.
READING NOTES: https://pad.xpub.nl/p/reading_notes_%2314_Situationist_times
issue #15
☣ prototyping
python
21-9-20 Python Syntax workshop notes
Notebook, integrated development environment like processing, see immediate changes.
Too seamless?
Notebook = best of both worlds. New way of publishing ideas/code/discourse around code. Used to visualise data. Other servers apart from xpub server to use. Possible to run offline. Multiple ways of using program. Python running on the background.
->lab interface with split screen.
console: also used for terminal, typing commands, back and forth dialog. Typed commands interpreted as python code. read->eval->print= interactive mode of language. Reading what you wrote, process and spit result back.
notebook: fusion of console with more of a publishing idea. Possible to type "regular" text. Different modes: code/markdown, markdown is normal text but can be edited with special characters to make cursive for example. Also possible to move different blocks around to built a mix of text and code. Creating hyperdocuments.
literate programming
literateprogramming.com/knutweb.pdf
styling markdown
The House of Dust
repetitive structure: "A house of .." makes it feel more like a poem. Looping similar to code. producing unpredictability.
Variables
random function is a paradox since computers are naturally predictable so more like "pseudo-random".
Parsing
"reading carefully", program breaking apart the different types of input.
TRY 1
generated poems
In a world of distance,
I find myself in hollow frameworks.
Surrounded by my tangled memories,
all I can see now is void.
In a world of comfort,
I find myself in hollow frameworks.
Surrounded by my tangled memories,
all I can see now is fractions.
In a world of distance,
I find myself in blinding noise.
Surrounded by my nightly terrors,
all I can see now is void.
In a world of distress,
I find myself in darkened space.
Surrounded by the echos of passing sounds,
all I can see now is void.
In a world of comfort,
I find myself in hollow frameworks.
Surrounded by the echos of passing sounds,
all I can see now is void.
In a world of distress,
I find myself in darkened space.
Surrounded by my tangled memories,
all I can see now is fractions.
In a world of comfort,
I find myself in blinding noise.
Surrounded by my tangled memories,
all I can see now is a new light.
In a world of distance,
I find myself in hollow frameworks.
Surrounded by the echos of passing sounds,
all I can see now is a new light.
In a world of comfort,
I find myself in hollow frameworks.
Surrounded by the echos of passing sounds,
all I can see now is void.
TRY 2
I want to learn how to make the python code an .exe file. https://www.youtube.com/watch?v=UZX5kH72Yx4
Mainly because I want to have the option of giving input like you would use a chatbot to add a level of interactivity.
TRY 3
Turns out i'm an idiot and all i needed was the input() function. I am now trying to code a text adventure from scratch to possibly use for a non-linear reading experience of the words for the future issues:
YouTube Tutorial on python text adventure:
https://youtu.be/DEcFCn2ubSg
https://youtu.be/ypNFNr72Xe8
https://youtu.be/dVjs6HI9MCs
projects
1 Euro Cinema online
Climb the Firewall
https://pad.xpub.nl/p/Ultra-Stream
☣ past
theory
Overwriting Reality (BA Thesis)
☣ thinking about
learning interests
theory
gamified user-profiling
I am interested in the techniques of gamified user-profiling used by companies to target users online with personalised ads/content.
coding
three.js
I am learning three.js in order to be able to create accessible 3D environments inside the browser. https://hub.xpub.nl/sandbot/words-for-the-future/RESURGENCE/ascii.html
set-up/techniques
automated escape room
I would like to connect a computer game with sensors and buttons in a real space which affect the stage of the game and vice versa.
multi-user dungeon
My goal is to make a multi-user online game which can be extended and changed by other users in real time.