I want a quick (1-2 page) project description by Tuesday May 10 so I can make sure you all have good groups and basic ideas to work with and figure out what I can do to ensure your success. That means that by the end of the day Tuesday, you must have a pretty clear sense of what your end product should be like. You will inevitably have to revise that vision, but this should be what you truly intend to build. You will be penalized for deviating dramatically from your plan unless you thoroughly justify those changes.
This typed document should be written as though you were pitching a product idea to a company manager and should include thorough answers to the following questions:
- What problem are you trying to solve? (eg: “it is hard to memorize common chords” “it’s easy to get bored on a Tuesday afternoon”)
- Who is the product for? (age, gender, pre-requisites, interests, number of users…) You will need to keep your users in mind as you develop. If you are pitching a game idea for 7 year old girls and you turn in something with heavy metal music playing in the background, I will not be very pleased.
- What major classes are you going to have to design and write? (Here is a good example of a class breakdown for a game of Tic-Tac-Toe. In fact, your project could be to implement these classes and stick a graphical interface on top. You may want to use Creately to draw UML diagrams. At this point, you don’t have to dive into too much detail but you should at least have a rough sense of what the pieces are — “Star is a class that has x, y, z coordinates and brightness. Constellation is a class that contains a list of stars.”)
- What internal group deadlines will you set for yourself? (eg “Bob will write Star class by Wednesday” “Joe will get basic graphics running by Wednesday” “Bob and Joe will have a text-only version working by Thursday” “Start filming video by 6/5″)
- What do you anticipate the two hardest parts will be and why?
- What can I do to make your life easier?