Week 1

This week was the first of our semester long project.

[General]

Set up weekly adviser meeting with Dave Culyba and Shirley Saldamarco every Monday from 1:30 pm to 2:30.

For the core hour, we set up weekly core hours where all members of team will be together to do work on project.

From 2: 00 pm  to 9:00 pm every Monday, Wednesday and Friday.

From 4:00 pm to 9:00 pm every Tuesday and Thursday.

Officially we will work 35 hrs a week at least. However we probably work during weekend too.

[Development]

Our team have 4 programmers such as Server programmer, Unity programmer, Android programmer and voice recognition programmer. So it will be difficult to integrate all different projects.

Our lead programmer Yang made documentation for programming naming fashion to easy to integration.

C#
Class:
— Follow upper camel case convention.
— The name of a class should be noun.
— Example: class GameManager.
Variable / Property:
— Follow lower camel case convention.
— For private variables add an underscore before name.
— Avoid meaningless or ambiguous (“i”, “j”, “count”, etc) unless variables are used as loop indices.
— Example: public int maxHealth / private int _currHealth
Function:
— Follow upper camel case convention.
— The name of a function should be verb.
— The names of function parameters follow the same rule as variables.
— Example: void InitGame(int level).
Interface:
— Follow upper camel case convention with prefix “I” (abbr. for “Interface”)
— The name should well abstract the usage of interface
— Example: interface FsmState.
Namespace:
— Follow upper camel case convention
— The name of a namespace should well summarized the feature of the whole module, and should be a noun.
— Example: namespace PhysicModule.
Macro, Constant, & Preprocessor:
— Follow capitalized with underscores convention.
— Example: UNITY_EDITOR.
Delegate & Event:
— Name delegate type by following upper camel case convention with postfix “_Handler”.
— Name event by following upper camel case convention with prefix “On”.
— Example: delegate void MonsterDeath_Handler / void OnMonsterDeath()
Coroutine: upper camel case with postfix “_CR” (abbr. for “Coroutine”)
— Follow upper camel case convention with postfix “_CR”
— Example: IEnumerator MonsterMove_CR().
II. Programming comment fashion
– File description
— Author and last modified date.
— What is this file for?
— Dependencies (Is there other files that it has to work together with ?).
— If necessary, include a short example to indicate expected usage.
— Highlight potential bugs and known issues, if any.
Class / Interface description
— What is this class for?
Variable / Property
— Write short description for all public ones, and protected ones if the class is intended to be inherited.
— Highlight those that you don’t want clients to touch.
Function
— Write short description for all public ones, and protected ones if the class is intended to be inherited.
— Specify input and output.
— Highlight those that you don’t want clients to touch.
III. Unity Project Arrangement
– Folder hierarchy: organized based on modules rather than the type of files (except Editor and Plugin folders).
– Example:
– Assets
|- Monster
|- Hero
|- Map
– Resource folder: created under module folder to include resources need to be loaded during run time
– Asset naming fashion: follow upper camel case rules with lower cased prefix that indicates asset type.
Model: fbx_
Texture: tex_
Shader: sh_
Material: mat_
Prefab: pb_
Animator: anim_
Scene: sc_
IV. Perforce usage
– Only upload /Assets and /ProjectSettings
– Write commit description every time including the following information:
— which file is added
— which file is deleted
— which file is moved from where to where
— which file is updated, what part is modified

Now we are ready to start!