# Final Project

## Final Project: Choice 20% of your Final Grade

## Final Project Milestone  5% of your Final Grade

#### Working Prototype Due: April 23rd (openProcessing & Github)

#### April 29th & May 4th in class feedback presentations

#### Alpha Version Due: May 11th 12:00 (sharp) EST via openProcessing && your github repo for the project

**Working Prototype:** All media should be gathered; basic functionality should be evident and working in your code. Code should be commented with pseudo code for future functionality. Use this deadline to conquer topics that you are struggling with.

**Beta Version:** Greater sophistication of your code should be evident along with interactivity/time elements/working API's/3rd Party Libraries (ie, physics engines, sound, animation, etc). Your code should be working. Bugs are present, but you've already squashed quite a few. Several things may still need to be worked out

**Alpha Version:** No bugs present. Smooth functionality to your code: interactivity, time, API's, smooth integration with 3rd Party Libraries

*This is the culmination of this class. As a result, I expect you to not only demonstrate an understanding of concepts discussed this far, but a greater sophistication of them as well. In addition, your project should develop beyond the ideas discussed at the round table and your project should incorporate and include concepts discussed after week 8 (ie, string manipulation, 3rd party libraries, API's, vectors + forces, etc).*

*If you need assistance planning out your project stages, check out the resources section of Slack. I've uploaded a few designs to help layout tasks and manage time. If you need help figuring out what tasks to tackle first, please come hang out with me in my office hours. If you can't meet during that time, email me.*

**Good Luck!**

1 The Final Project Milestone is your choice of either of the following: a stellar working prototype that is quite advanced OR a technical achievement is present in your final version (or earlier push/version). A technical achievement is something that is *beyond* what's covered in class directly - a concept, integration of a 3rd Party library - something you've learned *independently*. List your resources (video's, forum posts, outside texts) and comment your code all the way.

**Option 1- Persuasion**

Choose a current event, news item, or issue that you feel strongly about and make a piece that addressees it. Think of it as an interactive, algorithmic documentary. The emphasis of this project is using code to be persuasive. How can you convey a point of view in using procedural generation and interactivity?

Ingredients: Control structures, interaction, OOP, API's, addon’s, libraries, advance topics, change over time

**Option 2 - High Score**

Design and program a game. This project focuses on motion and interaction. To place the focus on those two components exclusively, the visual elements will be minimal. The visual components of the game are restricted to \~6 basic shapes on the screen at a time, but you may use any motion or interaction technique that you can imagine. You many use only lines, circles, and rectangles, but you may also use simple typography to keep score or show other basic data. These restrictions have been defined to minimize the complexity of the project, to encourage you to be creative within constraints, and to place the emphasis on the qualities of the interaction. After you have completed the game as geometry, you may choose to “skin” the game.

Ingredients: Control structures, interaction, OOP, API's, addon’s, libraries, advance topics, change over time

**Option 3 - Interactive Narrative**

Using a pre-existing narrative, or create your own, create an interactive narrative. Remember, that choice is paramount with interactivity. As a result, your story should have multiple paths to explore. This can be literal or it can be abstract. Experiment with time!

Ingredients: graphics, interactivity, image, video, sound, text, time structures, change, OOP, change over time

**Option 4 - Choose your own adventure**

Come up with your own idea, and describe it to us. Bring in examples, assests, and references of various Artists, Designers, Programmers, Games, Firms, Projects, etc. We do not exist in a vacuum. Make it crazy!


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://ladyks-creative-coding.gitbook.io/nyu-idm-creative-coding-with-ladyk/assignments/final-project.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
