This is my final project for 2023 ITP Winter Show, a generative artwork, a recreation of movie "Arrival". Here users can talk to the alien behind the screen like what they do in the movie. AI translation is accompanied.
- Get an OpenAI API KEY. Here's their homepage: https://openai.com/blog/openai-api Here's a good tutotial if you don't know where to start: https://www.youtube.com/watch?v=nafDyRsVnXU Tips: you'll need a payment method for OpenAI to use that. Each 100 reply costs about 3 cents. 1 dollar would be defenately enough.
- Get an IDE (VSCode Recommended) https://code.visualstudio.com/
- In VSCode extension, find "Live Server" and add it.
- If you don't plan to use VSCode or Live Server, pay attention to the "Go Live" step. Clicking the html file then opening it in a browser is the substitute.
- Download Node.js https://nodejs.org/en
- Download the whole package through Code -> Download ZIP.
- Unzip.
- Use your IDE, open the unziped folder.
- Open the terminal of your IDE. If you're a MacOS & VSCode user, press " ` + shift + control ".
- Type "npm install", then press enter (Windows) / return (MacOS).
- Type "node server.js", then press enter (Windows) / return (MacOS).
- Create a file named ".env". Paste: "OPENAI_API_KEY=", and fill your own OpenAI API KEY behind "=". (This file is going to be offline, so feel safe to do it!)
- Click "Go Live" at the buttom. (If you don't plan to use VSCode or Live Server, click the html file then open it in a browser) And if everything's well, you should be now starting with the project.
- Type your own question below, press enter (Windows) / return (MacOS) to ask.
- Or, click own the three questions prepared. They also refresh.
- The answer is given in the center of the screen. It comes with an AI translation below.
- Using p5js (https://p5js.org/) to generate the artistic circle language. Check the pure version with only the visual part: https://openprocessing.org/sketch/2121872
- Using "perlin noise" and "randomGaussian" function to create and randomness of the circle.
- Adjust the parameters for multiple(enormous) times.
- Using OpenAI ChatGPT to prepare the conversation.
[5]About:
- This is the ORIGINAL fantastic movie! https://en.wikipedia.org/wiki/Arrival_(film)
- This project is one of my generative artworks. You can also take a look at at https://openprocessing.org/user/402229?view=sketches&o=28
- This project should NEVER be used to make any profit.
- Never commit
.envto git. This repo now includes.gitignoreand.env.example. - Put keys only in local
.env:OPENAI_API_KEY=...DEEPSEEK_API_KEY=...
- If a key is ever exposed, rotate it immediately in provider dashboard.
- Before push, run:
git status --shortgit diff -- .envgit diff --cached
npm install- Copy env template:
cp .env.example .env - Fill your real keys in
.env. - Start server:
PORT=3001 node server.js - Open:
http://localhost:3001(do not usefile://).


