Skip to content

Instantly share code, notes, and snippets.

@ImYellowFish
Last active December 15, 2017 09:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ImYellowFish/cb7b202416dc88a5cf0bb8345346ee4e to your computer and use it in GitHub Desktop.
Save ImYellowFish/cb7b202416dc88a5cf0bb8345346ee4e to your computer and use it in GitHub Desktop.
Game Project Team Management
Agile developing is good, but the team still needs checklists to avoid repetive questions.
1. Effect:
1) cautious:
use an effect script for overall management
tell artists the scale of the parent model
2) check list
a scene for making effects:
natural workflow; can play animation; use in game hero; bone binding; timing
time to create
bone binding
rotation and positioning
delay. instantiate when effect shows up
follow
follow for some duration, then break parent
animation event to control effect
let artist control timings first. designers second.
config files overrides effect files. but use a bool protection.
2. Designer:
Design the structures of config files. Think ahead.
Let them gain various controls with flexible timings and places e.g. preskill, activ-skill, post skill, hit1, hit2, hit3 etc.
Use flags and lookup script for flexible functions.
Write checklist for config files and error prone workflows, like animation import, etc.
Friendly tips for config errors.
For overall configs, put them in scripts and inspector first, then override them with config files.
For flexible configs, use string binding to avoid extra work when adding config entries (typesafe is good but not always)
3. Artist:
work in the same project.
multi scene is good. art scene need to be loaded before logic scene, to get the right lighting
use linear mode on every computer.
4. Project
use visible text meta files.
use allwrite workspace.
put scene folder in root, but art scenes in Art folder
organize project folders by person(department), and put them in root.
organize project so resources can be easily found
name files with _prefab, _material and _animator suffix, so search can work well.
5. Coding
Expose components for flexiblity. organize them.
Show values and components in inspector.
Interface is good, but consisitency of data structure is more important. Use abstract class if possible.
Pack method parameters in a class if you need to pass them to another method. this will make changes easier. Otherwise not required.
Init system with detail control. Managers->OnSceneLoaded->CreatePlayer&Enemy->UI->SetupEvents, etc.
Use InspectorButton and ReadOnly attribute (found in UnityForum)
Build a debug pipeline; use UGUI instead of GUI.
Use debug panel for testing performance.
Build and save test scenes and resources in a seperate folder.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment