The premise: NYU Shanghai has collapsed many years ago, in year 2019. You have come to visit the ruins of the university, which is now overgrown with plants and mushrooms. To hear the story of NYU Shanghai, you must plant a mushroom, and wait for it to grow. When the mushroom becomes fully sized, you can experience the story of NYU Shanghai.
Guillermo and I are both quite terrible at scripting so we wanted a premise that was more heavily focused on the visuals. So, we began by creating mushroom assets with the incredible free software MagicaVoxel. With this simple tool, we were able to easily create the environment, as well as the post-mushroom visuals, in a consistent design scheme.
We wrote a script (dialogue) read by beloved professor Clay Shirky. The script:
Clay: Welcome to the Interactive Media Arts floor. IMA was the former creative hub of NYU Shanghai.
IMA was founded as an sister program of the ITP graduate program in NYC. Its primary focus was integrating technology with the arts. IMA was born in 2013 alongside NYU Shanghai’s first-ever class. At the beginning, IMA only had 4 students
(transform 4 to 300)
A department of 4 students quickly grew, with over 300 students taking IMA classes in 2017. In these years, the link between art and technology was shown to be a vital aspect of professional development.
For example this project, developed by one of the very greatest of all IMA students ever, Marjorie Wang, bridged Virtual Reality with Artificial Intelligence. This project was adopted by Google to enhance the interview process.
In 2017 the lab for Augmented and Virtual reality was created. This lab has become the place to explore and develop technological advancements in AR and VR, without boundaries or guidelines, as a place for self expression and innovation.
At the peak of IMA’s success the unimaginable happened, the great technological apocalypse descended from heaven and destroyed all electronics. Due to the diseased soul of society and its reliance on technology, in 2019, NYU Shanghai collapsed and vanished.
How the script works: Christian, you already know this but I’m very proud that I scripted everything so I will explain my beautiful C# script. Big thanks to Sean G. Kelly for being there for me, for emotional support and scripting support. Keep in mind that I’m terrible at scripting so there may be unnecessary lines.
With my script, I wanted the player to be able to plant mushrooms. After a certain amount of time, the mushrooms would “grow large enough” and a mushroom house instantiates alongside a Clay 3D model and AudioClip.
To do this, I created public Transforms for every gameObject and AudioClip I wanted to instantiate in certain times. Then, I set booleans for each instantiates. This would allow me to only instantiate one object so there wouldn’t be infinite clones of each object trying to instantiate at each time I set. Then, I created mytime, which is the timer that begins after the player plants the first mushroom. Mytime is += Time.deltaTime. Then, for each time I wanted to instantiate, I set “mytime” greater or equal to the time, and set the instantiate to false. Then, I would instantiate my Transform or AudioClip, and then set the instantiate to true so only one object would be instantiated.
For some mysterious reason, I was unable to destroy the objects, so I just created animations for the objects and set the last two keyframes as non-active.
For the splashscreen, I created three GUI canvases, with a series of 2D images created using MagicaVoxel, to make animated GUIs. I created a 1 voxel tall plane and replaced different colors with each new frame.