Project name: Stargazer
Description:
Target Platform: mobile devide (android, ios)
Target Audience:
Engine: Unity 2019.4.17ft LTS
- Only commit when project is runnable and no bug detected
- Note every change (add, edit, fixbug) on the comment
- Always write comment when committing. Apply these notation at first of comment lines
- Add new feature: +
+ add boss at level 1
+ add player combat system
+ add particle effect for magic1, magic4, magic9
- Edit: -
- edit enemy1 behaviour: from walking randomly to chase after player
- change structure of map1-3
- FixBug: _
_ fixbug #9669: player not die when HP drop to 0
- Add new feature: +
Apply prefix to prefab files: pref_filename
Animator: SpriteNameAnimator (Example: TinyCatAnimator
)
Animation: SpriteName@action (Example: Bird@fly
, TinyCat@sleep
)
- Capitalize
- Classname:
CapitalizeFirstLetter
(Example:PlayerController
,EnemyAI
) - Constant:
CAPITALIZE_ALL_LETTER
(Example:MAX_ENEMY_ALLOW
) - Class property:
prefixCapitalizeFirstLetter
(Example:iMaxHP
) - Class method:
CapitalizeFirstLetter
(Example:SummonAncientGod()
,Attack()
) - Enum (Example:
enum Direction {UP, DOWN, LEFT, RIGHT};
)- Name:
CapitalizeFirstLetter
- Value:
CAPITALIZE_ALL_LETTER
- Name:
- Classname:
- Variable prefix
- int: i
int iNumOfEnemy
,int iMagicIndex
- uint: ui
uint uiColorHexCode
- long: l
long lBossHP
- float, double: no prefix
float damage
,float positionX
- bool: no prefix, but name must be an affirmation, using is/isDoing/have
bool isImpostor
,bool isUsingSuperPower
,bool haveGirlfriend
- string: str
string strGameoverMessage
- array: a
int[] aiPlayerId
,Item[] aStoreItem
,bool[] aIsVisitted
,string[] astrGirlTalks
- int: i
- Member vs Local
- Member of a class: apply prefix _m__
public int m_iCurrentHP
,private float m_maxMana
- Static member of a class: apply prefix _s__
private static string s_strDefaultName
- Member of a class: apply prefix _m__
- Comment: add tag to comment
- TODO is used to indicate planned enhancements.
// TODO: add code to create effect here
- FIXME is used to mark potential problematic code that requires special attention and/or review.
// FIXME: this only world when player have ManaPoint > 5
- NOTE is used to document inner workings of code and indicate potential pitfalls.
// NOTE: this medthod must be call after DoSomething() is called
- BUGFIX #bugId is used to indicate that the piece of code is added/modified in order to fix some bug.
// BUGFIX #6996: game crash when player click
- TODO is used to indicate planned enhancements.
References: Mastering Unity Project Folder Structure: Assets Organization
GameDesign: contain concept arts, documents, etc...
MagicBattlefield\Asset: Unity dev folder.