**Development Roles**
Production ==== 1. **Producer** 1. Manage project schedules 1. Manage budgets 1. Purchases (software, hardware, food, ...) 1. Police checkins 1. Track QA 1. PR & Marketing 1. QA 1. Test 1. write bug reports 1. retest 1. Legal 1. Contractors 1. Development licenses 1. Publisher agreements 1. IT 1. Manage and set up dev stations 1. Manage build servers 1. Manage source repository server 1. Build (& rebuild) QA systems 1. Marketing 1. Web site 1. Press relations 1. Trade shows Design ==== 1. **Design Lead** / Game Designer 1. Define gameplay 1. Design levels 1. Balance 1. Pacing 1. Level Designer 1. Design individual levels 1. Design lead is final authority: send back, change, revise 1. Writer * Write dialog, any user communication Art === 1. **Art Lead** 1. Define art time budget 1. What do we have time to do? 1. Negotiate with programming/design/production to fit 1. Define visual look of game 1. Review / approve all artwork 1. Provide feedback / direction to artists 1. *Manage artists! Don't micromanage or do their jobs!*
1. Concept Artist 1. Create drawings of characters/objects from multiple views 1. Create mock-ups of screen and UI 1. If art lead signs off on concept, makes remaining art development smoother 1. Modeler (3D) 1. Create 3D models based on concept 1. Texture (sometimes separate person) 1. Rig (sometimes separate person, sometimes animator) 1. Animator (2D or 3D) 1. Create animations (work w/ programmers to help define) 1. e.g. run, walk, turn, aim, jump, ... 1. Environment 1. Build out based on concept 1. May work with programmers for procedural content components 1. UI artist Programming ==== 1. **Programming Lead** 1. Define programming time budget 1. What do we have time to do? 1. Negotiate with art/design/production to fit 1. Assign programming *tasks* to programmers 1. Provide feedback / direction to programmers 1. *Manage programmers! Don't micromanage or do their jobs!* 1. Programmers 1. Solve programming tasks assigned by lead 1. Test your code 1. Fix bugs found by QA (note, did not say *in your code*) 1. Gameplay 1. Enabling designer 1. Link between engine and scripting system 1. Some direct coding 1. Graphics 1. Rendering engine 1. Shaders 1. Effects 1. Systems 1. Memory 1. Parallelism 1. Efficiency (e.g. startup time) 1. Loading/saving 1. Physics 1. UI 1. AI 1. Network 1. Audio 1. Tools 1. Standalone tools 1. Import/export 1. Asset processing Large teams ==== 1. Sub-leads/teams in art or programming (e.g. Graphics lead + Graphics Programmer/Engineer) 1. Much development cross-domain (1 character artist, 1 graphics programmer, ...)