Connected Worlds
Firs of all, let me say that the Connected Worlds exhibit was the best exhibit we visited until now. I was very excited to see the exhibit when we arrived at the NY Hall of Science and I was literally amazed when I finally saw it in real life.
At first, I started wondering why did it take the developers of the exhibit so long to make it ready. I mean four years is an extremely long time for a a single project. However, when I actually discovered all the features, animations and interactions it made a lot of sense to me that four years was not a long time frame for such a complex project.
It took me a while to understand what is going on and how to actually interact with the screens and the floor but I believe by the time we had to leave the exhibit I understood most of the features of the exhibit. The water flowing from the waterfall to the different environments was pretty straight forward and it was the most obvious interaction of the exhibit. I think the interaction or simulation that took me the most time to discover and understand was actually creating the seed. When I discovered how can the user actually create the seed every thing else followed up smoothly.
If I would add any other features to the exhibit for the connected worlds 2.0 project, I would add sound or some kind of sound effects which is very clear to the user. Also, maybe making the screens have a 3D nature would also be a great idea. The downside of this idea is that users will have to be wearing 3D glasses but I think the advantage of seeing everything in 3D while in the exhibit and having to hear clear sound effects outweighs this disadvantage. Also, the exhibit becomes even more fun if you have friends to whom you can play around with. Having other people playing and collaborating with you is key for maximum enjoyment. I think of it as trying to plant and make all the environments pretty looking and this would be kind of hard and not as fun if the user were to be alone.
I truly loved the exhibit. I think it is the most cool simulation exhibit I have ever went to. I really think this project is outstanding and I would rate it as a 10/10 project.
Assignment #7 documentation
For this assignment, we had to use vectors and forces to create some kind of simulation. I chose to make another game using vectors, acceleration and forces. I created a simple game that is a basketball-like game but without actual players. The game consists of a ball falling from the air and long rod with a basket. The user needs to use the space bar to make the ball stay in the air and not fall otherwise the game ends and the user loses. The goal of the game is to get the ball to go through the basket.
I started off with creating the basket and the ball as two individual objects. The basket object was very simple. I just used the rect() function to draw the basket and second rect() function to create the long rod.
Creating the ball as an object involved a more complex code. The ball had attributes like its position, speed and acceleration. Here is the code showing the attributes that the ball has and how the ball bounces off the walls of the screen:
<script src=”https://gist.github.com/rha257/6aaab142b46e036855d1.js”></script>
After that was done, I created a keyPressed function() to allow the user to control the ball. By pressing the space bar, the ball jumps in the air and also the user can use the left and right arrows to move the ball in different directions. This part was pretty straight forward. The code for this section is here:
<script src=”https://gist.github.com/rha257/e1619b3bee4233f68b90.js”></script>
As a conclusion, the main issue I had with this game is checking for the winning condition (whether the ball went through the basket top to bottom). It took me some time to figure out how to check for this condition. I came up with an if statement which does a great job for checking if the ball actually went through the basket top to bottom. This if statement is in included in the ball object code, specifically in the this.move() function. I checked if the ball actually was between the boundaries of the basket and if the ball was falling downwards at the same time when it crossed the boundaries of the basket.
It was a fun task to do and the main thing is that I learnt a more efficient way of writing code using vectors instead of explicitly using x and y components all the time.