Eventually, we reached the last day of this program. I will definitely remember these unforgettable moments. This program taught me a lot of skills and knowledge that I could not learn from textbooks. Despite of the strong professional knowledge of programming, such analytic skills and logical thinking process polished my mind. Thank everyone for helping and cooperating with each other. Thank all the TAs and our instructor for putting so much efforts and being patient.
On day 12, which was the day before yesterday, we had a great guest speaker coming. His name is Bret Victor, a pioneer at the area of graphics simulations and visualization. I was really inspired and amazed by his demos shown on our class. Such a very convenient, direct and straight forward way to convey the information through graphics and animations right on the screen, these elements and interaction with users enable us to actually get into the content, we can even change the code and see the effect simultaneously. Or, reversely, we can pull up the elements on the graphic output to match the code. The way that programmers interact and communicate with machines became easier than ever. He also gave us a few suggestions on our ways in pursuing computer science and programming. I sincerely appreciate his speech and his effort on this. Thank you, Bret Victor.
Bret Victor’s personal website:
Last Friday was designated to be spent for working on the new Arduino Project. However, this physical tool kit could be brought to anywhere I want, therefore I decided to work on it later, as a recreational activity. Anyway, what I actually did was to explore more about the Mouseytravel Project that was on last Thursday. I continued cooperating with my partner, Vrinda, seeing if we can change the way that the map elaborating the accurate routes and each station for Mousey. In order to correctly implement 2-D array, we recoded the whole pde file. The expectation is to let the computer to automatically calculate the shortest distance from one origin to others, and make it keep going until the whole circuit goes back to the first origin; in this case, is Stanford. The array is working, but the lines do not show up, logical errors are apparent.
Yesterday might be the most efficient working day. Joyce, Neel and I worked together to make a bouncing ball animation based on Processing software. The movements of the four balls are following:
ball 1 goes left and right
ball 2 goes up and down
ball 3 goes diagonal
ball 4 goes diagonal and moves when the player clicks the screen
Many thanks to Rohan for his assistance on array and class issues.
Topic: Collision Detection
My prototype is about using processing to create visual effects, especially to create objects and particles to simulate physics.
This interactive game will teach peoples one of the principle in physical collision. The goal is to use the pedal to make the ball hit the star between two walls. Whenever the ball collides with any boundaries or objects, it will automatically bounce back according to the proper angle. If the ball goes off the screen, lives will be lost. There are three reviving chances, after that the game will be over.
This game is similar to typical bricks hitting game, except the goal is much more challenging, multiple levels might be added later. This idea was inspired by two visual labs that were conducted in the Exploratorium, one is the classic pac man, the other one is a spinning physics platform.
The spinning physics platform illustrated an indirect way of collision, which happened when a particle or object touch the spinning surface. The prototype will be an integration of the above two.
The game will be programmed in processing software embedded in Java.
The day before yesterday, before the field trip to Exploratorium in San Francisco, I worked on a map-based processing project with Vrinda. The points on the map indicated all the stations for Mousey to stop and take a look around. These places were actually where every summer camper in the class is from. Initially we manually plotted all the points and used the “draw” loop to connect them by lines. But our final goal is to let the computer to find the shortest distance. Then we implemented 2-D array to calculate the shortest distance from one origin to others. The expectation is to draw the lines out on the map, while up to now, we could only get half way through. Github link:
Interested Topics: Game Design, Collision Detection and Game AI for a simple game (Tic Tac Toe)
Game Design: We had a professional game designer came to talk last week. It seemed very attractive. I would implement this concept into my final project.
Collision Detection: My teacher showed us using processing to create visual effects, especially to create objects and particles to simulate physics. This is one of the most important elements in my project.
Game AI: By prototyping the example from EvanBurchard’s jsarcade repo, I was able to customize the small web game (mostly Java embedded in the Html). I would like to change the code to make a different game using artificial intelligence (An artificially manipulated character or multiple characters).
Today my partner, Rahul and I finished working on the sorting simulation using processing language based on Java. The sort we’ve used was bubble sort, including an array of 20 cheesesticks of varying lengths. We’ve improved the animation for the graph output.
Last Friday, My teammate, Rahul and I worked on two projects together. One of them was Mousey Platformer, we used the resource from the following link as a prototype, https://github.com/EvanBurchard/jsarcade/tree/master/platformers/final the changes we’d done is the modification of the images of the characters and the background. Github link:
Today, the professional game designer Stone Librande came to the class and gave us precious lecture about his personal career and the history of video game industry. He mentioned a profound but simple theory, that video gamers play games well, thus they think they can design game well, too. And this stereotypical thought led to lots of small studios’ failures. An organized structure will make efficient progress. During the process of designing, it requires programmers, artists, businessmen, marketing engineers and testing people. A studio will always start the project with bigger concepts and aspects, then split into small details. In other words, start small and add complexity over time.
I sincerely appreciate his lecture, it is grateful to have him talking to our class.