z x | / y __|/ z is up, looking at x theta = rotation along local z (rotate left/right) phi = rotation along local y (look up/down) all path in files are relative to exe for now intro file is static ==================================================== things to save in file default camera mode (M) speed angle =================================================== key | * done | o not done | - sorta done| _______________. control: * read input file (where do we put camera mode setting) general and control keys can be shared but not recommended camera/player control keys can be shared, switch with toggle * player/camera control toggle * camera behavior toggle * attached camera * detached camera - tailing camera o support multiple player o enable dynamic distance o collision detection o action: dialog world: read course file skybox terrain model loading frustum culling collision detection character animation NPC AI game: read game, intro file intro loop game loop : event triger message box : dialog, intro, input mini map: show/hide, show player resource: make models find texture and images write story and dialog