Final Project Milestone 3

Hello Everyone,

For my final project, I made a video game about NYU. The game is titled The Game of Life: NYU.

I made it using 4 different libraries:

P5 Dom
P5 Sound
P5 Scene Manager
P5 Gif

For the project itself the concept is as follows:

You’ve been accepted to college, you are now part of the millions of people around the world that spend hours studying for an exam every week. Now that you are part of this community, your task is to graduate. During the path to this goal, you will encounter many challenges and rewards. You will meet people, join clubs, receive internship opportunities, eat food but you will also make bad decisions, pay tuition and you might even have crisis regarding your major.

All of this will take place in the context of NYU. This is a game that will have a total of 5 levels. Levels will be ordered like college (Freshman Year, Sophomore Year etc.) The final level takes place after completing the senior year level. This will be a boss level where you will face the boss Andy Hamilton to receive your diploma. Once you receive it, you beat the game.

For the game these are the controls:

Left and Right for the Player movement
> Space Bar for to pay tuition
> For Game Over:
> 1 to reset game
> For Intro:
> 1 to start game
> 2 to go into options
> For Options:
> 1 to go back
> Sliders to adjust volume

Sprites of the game:

What I have learned:

I’ve learned that spending time on code is actually really fun to do. As a CS Major, I got the opportunity to explore the realm outside of what the CS department gives me. I have learned about working with different libraries, and APIs. I have learned about coding in javascript and in java while also picking up processing as a skill along the way.

For the project itself, I have learned that collision detection is one of the most important aspects of game development. Although most of my collision detection is 2d, spending time making a video game has given me the opportunity to break down a project into a variety of different sections. I have also learned that working with the gif library was difficult. The end product, unfortunately, will not use any gifs.

Here is a link to the game:

www.openprocessing.org/sketch/543417

If you guys have any questions about the code, please let me know. The comments I left can hopefully guide you.

 

Final Project

Hello Everyone,

I hope you are all doing well.

For my final project, I have no idea what I want to do.

That being said, I do have some libraries that I want to use for the project. I want to use the Camera features as well as the audio libraries of either processing or p5js to create an animation that incorporates sound and video to generate itself. I don’t know if  I want the animation to be interactive or not, but I want to leave the user with amazement on their face. I want to get creative with this project incorporating different physics libraries as well. I am currently inspired by working with algorithms and data so I just need to think about how I will incorporate different algorithms into my animation.

-Cesar

 

Processing Library – Box2D

Hello everyone,

I hope you are all doing well.

I am posting in regards to a library that I found on the processing website that you guys might find useful if you choose to work with processing.

The library is called Box2D and physics is the main priority of the library. This library gives the user the ability to work with statics, dynamics, vectors, velocities and so much more. I found it interesting because I know some of you may want to work with video games so physics is a really important aspect of making the game realistic. I plan to use it for my final project and I hope you guys use it as well.

P.S:  The coding guru Daniel Shiffman of The Coding Train made this library.

Link to source code:

https://github.com/shiffman/Box2D-for-Processing

Working with Data

Hello everyone,

I hope this post finds you well.

For my assignment on data, I decided to look for my own API and my experience was both rewarding and stressful to say the least. To begin I wanted to say that there are certain APIs online that should be avoided to recoded because of lacking documentation. I decided to work with the following API:

https://whatdoestrumpthink.com/api-docs/index.html

Prior to working with this, I tried using Instagram’s API for generating a random image but I felt that it had been done countless times. For my project, I used the API that I found to generate a Donald Trump in a somewhat random manner. Every time the user clicks the mouse, a new trump quote will appear. I wanted to work with the GIPHY API as well and some of the comments may reflect that but I had some trouble making two APIs work. My final goal is to be able to generate a random Trump Gif with a random Trump quote just for the sake of banter. As soon as I get both to work, I will update my sketch.

Thank you for your time and see you all on Friday!

-Cesar

My Sketch:

Midterm Project

Hello everyone,

As promised, I have finally fixed the bug for my project and was able to get all the code to compile and give me my desired result. For my project, I wanted to create a 3d version of the solar system Ahmed and I made for the second project of the class.

I first want to begin that by saying that I had to recode the project in order to make it work. It does not seem to be working for open processing but it runs just fine on my laptop. I will be attaching a video of the actual project.

I started the project by making an object of a planet, sun or moon.  Since they are all spheres, I made an object called sphere that used a position vector and to keep track of the x,y,z values of the shape. The AstroGiant class takes in these values along with a float radius and PImage image. During my presentation on Friday, I made the planets using the CreateImage function of the PShape type in processing. I decided to stick to this because using a regular sphere does not allow me to wrap an image around it. I created a different angle of rotation and I tried to imitate gravity of the planets. I made a different function for each planet and used push and pop matrix to create the rotation around the sun. I  made a moon for the earth as well.

Overall, the project was really fun to work on. I feel more independent of my code and although I had a bug prior to the presentation, this was a great learning experience.

-Cesar

Link to Project(Not Working):

https://www.openprocessing.org/sketch/517102

Video:

Midterm 1 Part 1

Working on this project was quite fun and I felt like a real programmer for the first time. As a CS major, most of my classes consist conceptual and mathematical principles of code and this project felt more real and down to earth. I am currently working on creating the entire solar system in 3D. I plan to eventually include all the planets, shining stars in the background and hopefully the asteroid belt as well. I am still debating if I should include Pluto as a joke but I may or may not choose to do so. I made a sphere fo the planets and I plan to use other 3D components such as the camera angle for the user. Other properties of lighting will also be used for the second part of the midterm and my hope is to try and make it somewhat interactive.

Overall, I really liked working with classes. It allowed me to put everything into separate objects and allowed me to manage my code instead of having 300 lines of the same thing.

https://www.openprocessing.org/sketch/512876

Week 3 Animation Assignment

The animation sketch was fun and it allowed me to explore the different coding principles and processing syntax we have learned so far. For this animation, I was trying to make it so that there was an acceleration effect on the balls. I did this by using some of the physics principles tied to wave. Additionally, using trigonometry, I was able to make it so all the balls meet in the middle. Playing with the mouse pressed function was also a great experience. As of now, I look forward to working with Object Oriented Programming to divide any future program into different objects and classes and just take more control of the program as a whole.

https://www.openprocessing.org/sketch/509935

Research Project

 

When we look at the history of computing and computer-generated models, we tend to think more in the realm of old room-sized computers that perform more science-oriented tasks for the computer scientists and engineers handling these early devices.  This idea, however, is far from the reality of early computing. John Whitney, one of the first computer animators and one of the first pioneers in computer-graphics shows an interesting side to the history of animation.

Before computer-graphics, computers were used for more scientific or war-related efforts such as “to break Nazi codes” or to ease “British and American World War II defense efforts.” With the use of computer motion-control, John Whitney was able to produce a wide range of innovative visuals. Between the years 1960 to 1969, John became interested in computer generated films. One example of this interest was titled “Catalog” which was a demo created with a WWII anti-aircraft gun sight. The techniques he used in the development of his demo included geometric patterns and wave-like patterns. The choice of color in some of these images are like those used by companies nowadays such as PlayStation and the early Microsoft startup screen.

Although John Whitney’s early film proposals were rejected, the originality of his film ideas caught the attention of Jack Citron who would later program the computers, with the use of motion graphics, that he would use to make his first film. John’s later films, however, used the idea of Harmonic Progression. He experimented with different arts such as Islamic architecture which would end up as harmonic waveforms which were characterized as reverse curves.

The later part of his career involved developing the actual instruments that allowed the animations to come alive. He began to think more like a computer scientist and he started to show interest in composing visual and musical output. With the fact that most films prior to this were silent, it showed that Whitney was not only an artist but a visionary as well. After working for more than 55 years, his ability to work as both a filmmaker and computer scientist has inspired both individuals and companies. the quality of Whitney’s work when computers were not user-friendly is truly astonishing and it showed the idea that computers can be used as a medium to create art.

 

John Whitney’s “Catalog” :

If you’re interested in computer-graphics:

https://graphics.stanford.edu/courses/cs248-02/History-of-graphics/History-of-graphics.pdf

Self-Portrait

 

I previously worked with the processing program in my Data Structures class for the lab but it was nothing like the experience I had making the self-portrait. I used it in python and we didn’t really go into the code that made up the draw function. When working on the assignment I felt more under control and I was able to turn my code into art. Usually, when we think of code we envision work being done with engineering software such as blockchain or artificial intelligence. It was a good feeling to know that code can also be used as a form of art. I still need to work on getting my ideas out faster through the code but the assignment was quite fun. The colorway for myself portrait was inspired by hip-hop artist Tyler the Creator.

https://www.openprocessing.org/sketch/503878