Navigate in Space – Yihan Meng (Ellie) – Young

In this documentation, I would like to introduce my process of making my final project ā€œNavigate in Spaceā€ by analyzing the following parts: designing, fabricating and improving. I would also talk about how this project has motivated me in my learning journey and strengthened my capability in this course.

At the start point of determining the content of my final project, I made the decision to code a game, which could allow more entertaining elements and show my understanding of ā€œinteractionā€. I first designed my game on a piece of scratch paper, following my idea of making something concerning the topic of ā€œspaceā€ with a significant implication. I consider it as the most important stage of producing my project since some of the core ideas and key steps were designed at this point. Firstly, I decided that I would like my users to interact with my project as if they were actually controlling a spaceship. This thought inspired me in designing and completing some of the most attractive parts in my project, such as attaching the 3D-print model to the joystick and designing a first-person perspective view to get players better involved. For the physical part, I chose to make a box using MakerCase with a hole to place joystick since it could both be more realistic for me to produce and easier for players to get started with. I thought about replacing the joystick with some other more interesting sensors like infrared sensors or distance sensors. However, I gave them up due to two reason — the first one was that due to the complexity of those sensors, I kept meeting difficulties when dealing with them and it lagged me behind my original plan. The second reason was that considering the actual control method of planes, using complex sensors actually reduce playersā€™ feeling of ā€œdrivingā€ a spaceship. In comparison, the joystick served a better purpose.

After all the ideas were settled, I started to produce my project by coding and making physical objects at the same time. The physical part was easier for me to complete since I already had a picture of what it would be like and there were not many problems coming up except that 3D-print took much longer time than I had expected. The coding part, however, was a huge problem for me. Without previous experience in programming, I found it hard to realize my ideas on the game. For instance, two major problems that I spent a lot of time working on was the sense of the stone ā€œapproachingā€ and how to turn the stone into a boom the instance it ā€œhitsā€ the spaceship. But the toughest one was definitely the continuous appearance of the stone, on which I spent more than 10 hours simply just working on adjusting the figure and to get it disappeared at the proper time. During my producing procedure, the recitation for peer review and user-testing helped me a lot in improving my project, especially the latter. During the user-testing session, I got a lot of feedback that helped me form a better idea on how to conduct the background story in a more player-friendly way by reducing the words that need to be read but adding a video that set up the background scene. Besides, my friendsā€™ opinions on my project also gave me some hints. My idea of printing a globe that could be lit when the ā€œnew habitable planetā€ is found was inspired by one of my friendā€™s particular interest on the appearance of the new planet and his desire to see some physical change to further approve his success. According to the result in my live demo in presentation and the IMA Show, these measures all worked extremely effective.

 

My goals of the final project were to make a game that allows people to have a sense of controlling a spaceship, navigating in the space while at the same time complete a mission. From my perspective, my project aligns perfectly with my definition of ā€œinteractionā€. By involving the background of resources running out, I intend to raise peopleā€™s awareness in protecting the environment, which concerns ideological morality; the project repetitively give back information to motivate the player to continue the process of ā€œexploringā€; also, by moving the background image and stones to the opposite direction as the user controls, it gives visual signals that could be sensed by the user, thus creating a seemingly first-person perspective game. Judging from the result in IMA Show, it could be concluded that My audience is highly engaged with my project, however, since achieving the final goal — arriving at the new planet is unexpectedly difficult for the players, it somehow could reduce their interest and motivation in continuously playing and interacting with the project. If I have more time, I would make adjustments to the speed of the stonesā€™ approaching and consider adding more stones at the same time. Also, I will work more on the ā€œnavigatorā€ window in the corner to add to the aesthetics of the project. More importantly, I would also consider adding a button(or pedal) to ā€œspeed upā€ and another to slow down so that the experience could feel more real and interesting. Through this individual final project, my coding skills are improved greatly with more understanding of how the language works. I also learned to make overall planning and make use of my time more effectively. Just like my midterm project, I realize how accessibility is important for the users and moreover, how hard it is to design a game(even just a simple one). My understanding of ā€œvisualizeā€ is expanded through producing my final project and it greatly contributes to my other learning process like analyzing the works on cartography. My original thought on this game-like project was more than just a simple game. Just as I stated in my presentation, the university is the most mysterious thing people are working on and it is important to get more people, especially the next generation, interested in our research on the space. Such system of ā€œexperiencing the universeā€, if combined with new technologies like VR, it could serve as a tool to educate young kids about the charm of the universe and inspire them to explore the secrets of it. The result in IMA Show that a lot of kids showed great interest in playing this game over and over again could prove this point. It could also be applied to the research area in many cases like determining the relative location of stars. It could help us form a better relationship with the universe and further our understanding of it.

Image:

Video:

Code(Processing):<script src=”https://gist.github.com/Ellie-1809/3edc2bc5969e827a7e3fa35bcf650a82.js”></script>

Code(Arduino):<script src=”https://gist.github.com/Ellie-1809/cfdc1cabfd9614bba079105d969dcb7e.js”></script>

Recitation 11: Objected Oriented Programming by Ellie Meng

Exercise:

Process: Since there was no time left to do our own coding in the recitation, I finish this code after class individually. As final approaching and many of my friends getting upset with all the dues piled up, I decided to make a pressure-releasing program that is simple but fun. I came up with the idea of drawing happy faces instantly because I’ve seen less and less smiling this week. So I started by drawing a happy face.

To make the smiling face seem more vivid and outstanding, I painted it red and drew a black sad face in comparison.

I planned to apply the new things I’ve learned in Object Oriented Programming workshop to make it interactive, I first decided to draw 100 black sad faces on the background and then use mousePressed() to add red smiling faces.

The only challenging problem I’ve encountered during the process was the application of curve() function. It was a really tricky one and making the curve in black face change the position while the position of the face changing randomly was a tough task. But fortunately, I got everything done myself by trying a few more times.

According to my own experience and some of my friends’ opinion after they played with this exercise, it could magically release us from tense studying for a moment and help reduce our pressure(though it could not change the fact that all work still need to be done).

Image:

Video:

Code:<script src=”https://gist.github.com/Ellie-1809/5bb6e5379c606c290f1c67fc67f0c339.js”></script>

Recitation 10: Media Controller by Ellie Meng

This recitation, we worked on using Arduino components to control media. I chose potentiometers to monitor the length, width, and angle of inclination.
Components: Arduino UNO, breadboard, 3 potentiometers, jumping cables
Steps: 1. Connect the circuit; 2. Open codes for Arduino and test; 3. If step 2 succeeds, modify the codes for Processing and test.
Process: I first built the circuit on Breadboard and made sure the values could be properly read. Then I refer to in-class exercises on multiple values for communication between Arduino and Processing. I forgot to use sensorValues[] to state the values in Processing at first and it caused me failing several times. After I sought for help and corrected it, I started processing on to next step. I checked the reference on image() function and tried to map the values. I got them correct but I failed on writing the rotate() code part. With Youngā€™s help I figured it out and Iā€™ve learned one important thing — check the order of different lines of codes when something goes wrong. Also, pushMatrix() and popMatrix() should always go with the translation of x, y, and rotate(). After I finish monitoring the video, I draw a rectangle beneath so that it could be fun to fit the real-time video into the rectangle and see oneā€™s one face stretched. If Iā€™ve got more time, maybe I could also add a line of text saying ā€œfit yourself in the rectangleā€ to make it clearer.
Reflection: Just as I thought when I determined my definition of ā€œinteractionā€, the vision — what we see are getting more and more important these days. Healthy people live depending mostly on eyes to gain the information. Similarly, computer scientists, today devoted themselves to researching on the ā€œvisionā€ of machines. In my exercise in this weekā€™s recitation, I used real-time video as my media being monitored. The camera is the basic part that is needed to develop a vision for a computer. Though I got it involved in my exercise, I only made very basic use of it — reflecting. With modern high-tech, it could be used in many more ways. But still, even only with the basic function, it could perfectly serve my purpose of building something entertaining. Just as the article ā€œComputer Vision for Artists and Designers: Pedagogic Tools and Techniques for Novice Programmersā€ stated, computer vision is one of the most significant potential development of modern computer technology and it could help human beings in many things. I know there is some simple function relating to computer vision in Processing Library like facial recognition, and I suppose that they could be made of good use in my future exercises and the final project.
Diagram:
Picture:
Video:

Codes: <script src=”https://gist.github.com/Ellie-1809/ad010908f10b7d7fab02bc75558a5d4b.js”></script>

Recitation 9: Final Project Process

In this recitation, we shared our ideas on the final project and listened to others opinions on that.
First, I’m going to talk about my opinions on my partnersā€™ works. Kaycee intends to build a game named ā€œYou are the SUPERHEROā€ which allow players to control three superheroes to shoot bullets to defeat the Thanos. It is surely a brilliant idea since the Avengers is the hottest topic recently and people are always passionate at games of ā€œbeating our enemyā€. However, it still could be improved. We have different opinions on how to make this game a better one, but our basic idea is the same: the process of defeating seems too simple with little playability. There are many ways to add more playability to it, for example, we thought about adjusting it to a battle game, making the superheroes movable instead of standing at a certain position and changing the damage of different heroes according to their characteristic. Mimiā€™s proposal is to create a game called ā€œDarkness Rhapsodyā€ in which players are instructed to going through a maze by hearing the wind. The idea sounds interesting enough and the idea of letting people have an experience of ā€œwalkingā€ in the dark is also attractive. To make the game even better and the experience more charming, we had some discussion on complicating the maze and adding a dragon. For Skylerā€™s final project, we have tried her demo and it is really impressive. She intended to make a game called ā€œBeduffled Snakeā€ in which players must press the opposite key to get the snake go to the direction they want. Since the game is simple but still of great playability, we only gave the advice of adding more aesthetics to the game.
From my perspective, all these proposals are interesting and could be designed for great playability. Moreover, after hearing from everyoneā€™s original ideas, I find most of us are thinking beyond the game. Skylerā€™s project, for instance, it tests and trains our agility and thoughts. It also reminds us that we should always mind the reverse side while paying attention to our purpose. Our games remind me that technology could be a great tool for us to reveal our true thoughts and reflect back on ourselves. From these projects, I think we have pretty similar definitions on interaction, the difference would not be that significant. But I did find some disagreements in there. For example, I thought that the vision is the best way to show a signal of whether receiving the information or making reactions. I do not deny the importance of sound, smell and other things that could be sensed, but I will clearly not making my final process by designing a game fully depends on hearing. Mimi, on the other hand, has different opinions on that. She believes all the senses are equally important and her project was exactly determined to show the importance of sound.
I have got a lot of feedback on my final project. The one that I consider of great significance was about what players could control the spaceship to do. Originally, I designed to make it only to avoid space junks. Yet I got feedback that it is not attracting and involving enough. My group members suggested I add a missile system to the starship for shooting enemies down. I think it is a piece of good suggestion because it actually added to the playability of this game. Also, another piece of advice on changing the way the players control the starship — from buttons to a joystick — was also taken. According to my group members, my failure in designing would be deciding to use buttons to control the directions of the spaceship since it is not involving enough and contradicts to my original idea of giving the players a sense of controlling a spaceship. While my most successful part would be to design the first-person perspective and using having a layer of cockpit coverage so that it feels more real. I totally agree with these points and Iā€™ve made some corresponding changes to my design.
To sum up, I will make these changes to my project: 1. Adding shooting part instead of just making the starship avoid space junks; 2. Changing the controller from buttons to joystick; 3. I will make the background and cockpit coverage incline a bit when players turn the starship with a joystick; 4. If time allows, I will add a facial recognition system which could put the playersā€™ faces in an astronaut’s suit.

Final Project ā€œNavigate in Spaceā€ by Ellie Meng

        My final project ā€œNavigate in Spaceā€ is designed for people who are passionate about the space and all the superhero movies and would like to have an experience of traveling in space with their own spaceships. Since science fiction is first introduced, Space has always been a popular theme for writers and scriptwriter, which indicate peopleā€™s born curiosity in space and the unknown myths. With modern technology and the effort of scientists as well as astronauts, we became more and more familiar with the idea of space, yet people always remained an interest in exploring more about it. For instance, according to a survey conducted in 2018(Majority of Americans Believe It Is Essential That the US Remain A Global Leader in Space), the majority of people think that NASA plays an important role in modern life. That is also the reason why video games and movies set in space could often sell well. Being a fan of space and starship myself, I understand such passion for the infinite world and the desire to control a starship. However, despite this huge market of space fans, there are currently few games that really allow players to drive their own starships and explore more on themselves.

        Therefore, I came up with the idea to make a first-person game for space lovers to navigate their own starship. However, since my skills and the limitation of Processing, it is impossible for me to really make a game to explore the space. The challenge I seek here is how to use simple equipment, simple operation, and simple visual effects to bring players a sense of navigation in Space. I intend to let the game satisfy space fansā€™ desire for both exploring and navigating, leading them to a short experience of being a space warrior.

        For an individual project, designing a game could be a lot of work. Here, I intend to split it up into several parts. The first part is the visual design. There would first be instruction on driving the starship, followed would be a space background and a cockpit(first-person perspective) on the canvas. I would find image (maybe also video) resources on the Internet and use Photoshop to edit them so that they could serve my purpose perfectly. I would also consider how I design the battle and the flying space junk(some changes may be added to this part according to how well I could make use of Processing). This part is considered as the most important one for the whole game since it directly influences if the player could feel in Space and whether they know how to control the starship. The second part is the connection with Arduino, or more specific here, the control panel of the starship. I intend to use buttons to control the directions and I may as well add a brake to it with pressure sensor attached. All these part will first be tested before Arduino is connected to Processing. The third part is the actual game part — how I could make the players seem like controlling the starship. Since it is a first-person perspective game, it is improper to move the starships. Thus, I must move the space junks and maybe even the background to make the starship seems like moving.

        My design of the final project is under the guidance of my definition of ā€œinteractionā€ which I developed earlier in the final research. I intend to use this special game to get the space fans an emotional feeling of satisfaction, excitement and even a sense of belonging. If my plans are conducted successfully, the game could engage the player into the driving process by giving visible signals and sound, which encourage more reaction from the player. This game could also encourage peopleā€™s passion for the infinite universe, inspiring people to explore more about those seemingly small stars. With high-tech and more advanced visual technology like VR, it could reach my original proposal for this project — actually, build up a digital space, the image, and data of which are all collected from satellite and real spaceships. People could actually have a glimpse of the myth of the universe and the stars they watched every fine night. Such a project goes beyond a simple game. It could be a museum for space fans to gain more knowledge and an education system which tells children where we come from. The core is the method of the first-person perspective, which I found most interactive among all methods of experiencing. That is where the uniqueness of my project lies and also where I hope could have further implications.