My job is threefold: to offer technical advice/direction, to crack the whip when the whip needs cracking, and pat you on the back when a job is well done. I have only general goals for the team (e.g., producing a working piece of software of which you can be rightly proud) — the specific goals come from you, the team. You decide what it is you want to do and how you want to accomplish it.
Participants must be reliable, motivated, hard-working, self-starting, inquisitive, and able to work well in a team. Only those willing to make a firm commitment to the team need apply. Relevant background (e.g., graphics, mathematics, physics, AI, networking, robotics, etc., etc.) and experience is a plus, not a requirement.
Volunteers are welcome to join the team. As a volunteer, you need to remember that your team members will be depending on you to do the work you say you are going to do. During the first group meeting you will make a firm commitment as to how many hours per week you will invest in the project.
You will be expected to contribute an average of 10 hours per week — that is upwards of 140 hours on the project over the course of the semester.
As with most classes, you'll be expected to purchase a book to support the development effort.
You will track your work and your brainstorming in a logbook. Every time you work on the project, you are to add an entry in the log (with date and time) summarizing what you did. You are to bring the logbook to all meetings (I may do unannounced inspections). I will certainly ask for it at the end of the term — where part of your project grade will be based upon how well you logged your activities.
If you are joining the group as a volunteer, all you need is my approval. However, if you are using your participation as your senior project, you you also need to read Senior Project with Dave and will need to fill out the senior project form (which you can get from academic advising). Most of it you already know how to fill out. There are a couple sections which should be filled out using the following language:
Because people approach me about joining the team on different days and because the project goals are decided by the whole team, at the time you signup would be impossible for me to tell you what you are working on. That will be decided in an organizational meeting. Traditionally this meeting takes place first period on the first day of classes (so no sane person will have a schedule conflict) and attendance is mandatory. It is during this meeting that you will decide what kind of game you want to implement and the language you will use.
During the organizational meeting, we will choose a time for a weekly team meeting which everyone (including Dave) is expected to attend. The purpose of this weekly meeting will be so I can keep track of your progress and provide technical advice. (You will, of course, need to meet more frequently than once a week.)