Week 10 - Final Project Planning & Inventory
Week 10 - Final Project Planning & Inventory
Review the portfolio websites of other classmates.
Notice that projects with a clear vision from the start result in more interesting results.
Link to one project and describe why it stood out to you.
https://sites.google.com/view/jtonealat-5813-999portfolio/home/week-1-2-project
I really liked all of JT O’Neal’s projects featuring his alien character, Princess Florum. I was first drawn to this artwork because it is rendered in bright, neon colors that are similar to the colors I prefer to work with in my own projects as well as my own personal design style. I also was inspired by the transparency and gradients that he incorporated while still maintaining the “brightness” of the image. Then, I really liked how he incorporated Bezier curves to add motion and dimension to the character. I’ve used Bezier curves in Illustrator but not in a coding environment, so this was a good example of this. The use of these Bezier curves really made it feel like it was a 3D image. I also think the way he added to his original concept each week was insightful and made sense to the “story” he was presenting. His code was well organized and he did a great job explaining his process as well as demonstrating each project with video capture.
Describe 2-3 concepts for a final program and explain why you plan to select one for your final project.
Concept #1
One concept I had was to make a “build your own” game, in which the user could add toppings to a pizza or an ice cream sundae, for example. My thinking was to go along with my ice cream cone concept that I have been using throughout the course. The way it would work is that the user would start out with a “blank canvas” like a pizza crust. There would be toppings icons that the user could click and add as much or as little as they wanted to achieve their desired end result. They would be able to toggle between each topping icon to select what they wanted. Then there would be a “finished” button and an ending animation would occur. After I thought about this concept for a while, I decided that it didn’t really have a narrative so even though I still like this concept (and will probably make it for fun) I don’t think I will use this for the final project.
Concept #2 - selected for final project
Building off the concept described above, I came up with the idea of incorporating characters that the user would “serve” the correct meal to, using a similar idea as clicking on the pizza topping icons, instead this would be for individual dishes. The added difficulty is that you also have to give each character the correct dish, then once they have all been served, to have confetti drop down so they can begin their “party”. I mentioned a similar idea in my functions project but with ice cream cones. For this concept, I came up with the idea that several cute cats are waiting to be served their favorite sushi meal at a party. I am planning on using this concept for my final project because I think I will be able to showcase all the skills I’ve learned in this course in a manner that also is similar to my personal design style. I also like that it has a “story” and a “goal” to achieve.
Create a project outline and identify the programming techniques needed to create your favorite idea
Break the final program down into various modules and explain the parts. Indicate aspects of the program you understand how to create and highlight programming knowledge you need to learn.
Module 1 - Background
This would include the “static” elements of the program, such as the actual background, and the foreground which would include cats sitting at a table with plates in front of them. It would also include a picnic basket that the user clicks to “open” and display the sushi items. For this project, I am planning on using more PImages rather than PShapes using some royalty free images I found on pixabay. I will have to make sure they are the correct scale and placement in the sketch. This is something I haven’t worked with yet in Processing so I will have to learn this technique for this project.
Module 2 - Basket Button
On mousepressed, the basket will “open” and display the sushi items. I would also like for the basket to “close” on mousepressed once it is open as well. I’m not sure how I want to implement this yet, so I will have to take some time brainstorming (and googling!) options.
Module 3 - Array of Sushi Items
This will help with the functionality of the project because then I can switch out items, and assign items to different characters. This aspect seems pretty straightforward to achieve.
Module 4 - Function to Switch Between Items
This is something I will have to learn how to implement. I am hoping it will be a matter of “toggling” between the items. I also will want the items to only be able to be used once (probably with a conditional as mentioned below), so that will be something to figure out as well.
Module 5 - Function to Drag and Drop Items
I know how to place an item with a click, but I will need to figure out how to drag it without creating a “trail” of items, and then drop only in one of the places I want the item to go (the plates).
Module 6 - Condition to Match Items to Correct Place
If the item is placed on the correct plate, then display a message like “Yum!” or something affirmative. Else, display a message like “try again!”. Continue until all items are correctly placed, then move on to ending animation. I feel pretty confident that I have the skills to achieve this.
Module 7 - Ending animation
Create a function that animates confetti and lowers a party banner. I think I have an idea of how to achieve this. I would just translate the banner downward (it would be out of frame until the condition is met). For the confetti, I have seen examples of “particle” animations online that I think I can use as inspiration to achieve this effect, but I haven’t attempted this yet so it will be interesting to see what I can come up with.
Identify the flow of the program by drawing an image to illustrate how to program will look.