Lesson 10

Individual Project Overview

Time to get creative.

You can create anything you want.

  • game

  • animation

  • story

  • musical instrument

  • application/tool, etc.

The only requirement is that your program implements an animation cycle.

But you only have two hours of class time, plus however much time you want to work at home this week. Practice your time-management skills!


Today’s Plan

If you are not sure where to begin, I recommend the following steps

1. Brainstorming

  • What kind of project do you want to create? Game/Art/Tool/Story/Puzzle?

  • What was the most fun project for you this semester? Why?

  • How can you use animation to make your project more exciting/interesting?

  • If your project is a game or story: Where does it take place? Who are the characters?

2. Decomposition

  • Break your project down into smaller and smaller sub-problems to solve.

  • What are your Sprites? What do they do?

  • What are the different states of your animation cycle?

  • Draw a state transition diagram.

    • Label your states and draw them in circles.

    • Draw arrows for state transitions. For each state transition:

      • Write the necessary condition for the transition to occur.

      • Write any steps needed before transitioning to the new state.

3. Planning

  • Write a to-do list with your decomposed sub-problems.

  • Estimate the time needed for each task.

  • Make sure you have enough time to finish.

4. Implementation

Start programming at a high-level. You do not need to implement all of the details at first.

  • What classes and functions do you need. Initially, I like to use pass in the parts I will implement later.

  • What methods and properties does each class needs.

  • Once the structure of your code is complete, then start implementing the details.


Presentation

Next week we will present our projects at the beginning of class. Your presentation should be no more than 5 minutes.

I recommend your presentation includes:

1. Introduction (~1 minute)

  • Tell us about your project (don’t show us yet).

  • What is it? A game, animation, or something else?

  • What happens in your project?

  • Any specific reason why you decided to create it?

  • What do you think is interesting about it? Why?

2. Demo (~1-2 minutes)

  • Run your code and show the class how it works.

  • Is it interactive? How do you use/play it?

3. Discuss the Implementation (~1-2 minutes)

  • How did you decompose the problem? What were the sub-problems you solved?

  • What was the most challenging part?

  • Describe the animation cycle and how you implemented it.

  • If you had more time, what else would you add?

4. Questions and Comments

  • The class will ask you questions and give constructive feedback.