Fall 2013: Term Project

advertisement
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.
Download