CS4710 – Computer Graphics Fall 2013: Term Project Due: 6 Dec 2013 Points: 300 Objective: Develop a computer graphics racing game (i.e., CedarKart II) using custom models and scripts based on the Java Monkey Engine (JME3). Discussion: In this course you have learned how to develop interesting graphic content using a variety of modelers for creating textured polygonal objects, terrains, skyboxes, special effects and buildings. Furthermore, with the Java Monkey Engine, a 3D computer graphic game engine using the java programming language, we have the ability to develop GUIs and other interactive techniques for view control, player movement, and game control. In the term project we will put all of these program characteristics together into a single, group-engineered, network-capable, 3D, first-person computer game. As we begin, we recognize we are using software which is still under construction and its compatible modeling tools; therefore, we are all experimenting somewhat with the capabilities at hand—there are no experts. This can make for a fun time of discovery, and sometimes for frustration as we try to figure out JME’s “quirks” together. Therefore, please exercise patience with each other and persistence in the process and recognize that the potential exists for the requirements of this project to change a little as we begin to more fully understand these tools’ capabilities. Despite the “disclaimer” in the preceding paragraph, it’s important to set a target for what is considered superior work. There are ten characteristic areas which will be evaluated on this project: (1) environment modeling, (2) object modeling, (3) interior modeling, (4) texturing, (5) model integration, (6) sound, (7) user interaction techniques, (8) networking, (9) game play (i.e., story line and scoring), and (10) performance. A great game provides good fidelity in all the visual and auditory characteristics, compelling game play, and natural interaction and responsiveness. Below are qualitative descriptions in each of the ten characteristic areas describing what game qualities constitute an “A” game: Average (C) Good (B to B-) Better (A- to B+) Best (A) Environ.: Flat Terrain, Lake Contoured Terrain Blue Sky Accurate Topography Clouds Sidewalks Water Objects: Bridges, Signs, Lights, Trash Cans ENS, DMC, Library & SSC Secondary Buildings Interiors: Single Rooms Multiple Rooms & Doors Lighted Furnished Textures: Few, non-specific Decal Specific to ‘Ville Specific to buildings w/Transparency Full “skins” Simple Trees & Shrubs Integrate: Poor Spacing Floating Objects Properly Placed Sparse Objects Match Rich Detail Sound: Simple Sound Cues Spatial Sounds Coordinated Sound & Music Interaction: Key/Mouse Only Game Controller GUIs Full Controller Integration Network: None Networked, Single Player Networked, Multiplayer Players Can Interact Game Play: Passive Racing Score Keeping Physical Interaction Track Options Special Effects Theme Ideas 9-12 fps > 12 fps None Performance:3-5 Frames Per 6-8 fps Second (fps) Intangibles: Intangibles are those things that make your game fun to play. For example, does your game have various levels of play, are there objects you collect to speed up you car or inhibit other racers, can you play at night or in various weather conditions, do you keep a record of high scores to foster competition, are there secret passageways or capabilities that the player can discover, etc. You should endeavor to provide some intangibles to help make you game unique. However, be careful, do not get stuck on a single technique or feature to the expense of the other ten areas. Assignments/Roles: In the creation of any game there are several roles that need to be filled. For example, it should be clear from a game’s characteristic areas above, there are several skills that will need to be understood and (somewhat) mastered to reach our development goals. Moreover, you will probably want to appoint a team manager (or leader) who will set team meeting agenda, coordinate the team’s work, assign special responsibilities, and make purchase requests for peripherals (if any) to Dr Shomper. Below, I have listed possible jobs responsibilities. You do not need to follow this breakout, but it is provided to help you get started. Since there are more than five jobs, students may need to accept multiple responsibilities. Team Leader Blender Modeler (General Objects) Blender Modeler (Vehicles) Blender Modeler (Buildings and Structures) Blender Modeler (Players) Blender Texturing (Skinning) Texture Acquisition Terrain Modeler Music and Sound Modeler GUIs Programmers (Java Monkey Engine) Game Design Networking Controller Programming and User Interaction Environment Modeler (weather, sky, water) Configuration Management Schedule: The following is the schedule of interim deliverables for this project. 1. Oct 28th, Class Time: Team Organization: Team responsibilities assigned, initial tasks assigned. 2. Nov 15th, Class Time: Demonstrate Basic Components: Demonstrate java game framework, most principle models, player movement/comtrol, terrain, and sky. 3. Dec 6th (or 9th): Demonstrate finished, debugged game.