3350 Group Project Requirements
Git and Github. Git and Github are a required component of the group project. Establish a main github repository that holds your project. Give your instructor the URL. The size of your project repository should be about 5MB, not counting the .git directory itself. tips: do not store any .PPM files or large .wav files.
Required components. Functional Intro screen Credits screen Scoring system Configuration screen Communication with server Non-functional Unit testing components Profiling Coding style
Individual source code file. Each student will create and maintain their own source file as part of the group project. Naming standard: firstnameL.cpp The file will contain functionality related to your group project. Your file should have a minimum of 500 to 1000 lines of code. This does not include comments, blank lines, etc. What not to put in your own file... . The main function. . Definitions for texture maps. . Core functions from the existing framework program such as check_mouse, check_keys, physics, render. Note: Do not make copies of, then rename, the core functions listed above. Your instructor will see it and ask you to remove it from your file. The functions that started in your chosen framework should remain in the framework and not be migrated to an individual student file. Your code must have functions, logical expressions, conditional statements, looping, algorithms, unit-testing, profiling, etc. Your code should be self-documenting. Your code should contain useful comments where appropriate.
Notes. Do not use... frameworks such as SDL, SFML, GLFW, GLUT, Unity, Unreal, Blender, etc. The API's above are excellent, but should be studied outside of this course. Do not... include any .cpp source files with the #include directive. You may create a header file using the firstnameL.h naming format, but please do not include a significant amount of code in your .h file. Your .h file should contain struct/class definitions, constants, macros, and goodies like that.
Structure of project folders and files. Place all project source files in the home folder of your project directory structure. for example, your home folder should not contain another folder that contains all of your source files. Project evaluation is done as follows... 1. Your github repo is cloned to a local desktop. One folder is found and made current with cd command. 2. The following commands are performed: make clean make 3. Your project executable is run. 4. Your personal source files are viewed within the home folder.
Compile and build standards. Do not use a #include directive for any .cpp files. Please do not make your project code require additional flags such as -std=c++14 or -std=c++17. In some cases these flags may be used. Please talk to your instructor first.
Audio. You may include audio in your game project. Sample source code for audio is in the openalTest framework. Warning... One group member should not focus only on audio code. The code is given to you in the sample, and there is really no logic or programming needed other than copy and paste. I mention this here because it has happened many times in this course. A student will focus their effort on audio, and then end up with only copy and paste code that has no complexity, logic, or creativity. If you focus your effort on audio, please include features such as . surround sound . sound source positioning and velocity . Doppler effect . multiple sounds managed with a queue or priority queue . real-time sound manipulation of pitch and volume . etc. Audio isolation... Audio requirement for projects <--- please look.
More requirements could be added to this page.