How to assign grades in a game development course? I am planning a course on game development. Currently my main problem is how to design the assignments and grade them in a fair and objective manner. In previous courses I taught (like basic programming or algorithms), I could always design homework assignments that had objectively correct solutions. However, in game development it is important to encourage creativity and imagination. Ideally, I would like to have each team of students work on their own game. But how can I assign grades to such assignments? There is no objectively "good" solution: each  game can be fun for some gamers and boring for others. 

I could try to assign grades by "effort" or "creativity", but I do not have an objective way to measure them. And if I assign grades by my subjective perception of effort/creativity, this will inevitably lead to complaints by students who believe they made a lot of effort. 

For background, the course is intended for third-year undergrads in a computer science department, and it will probably involve programming in Unreal engine and C++. But, I think the question is relevant to any course in which the main goal is to encourage creativity. What is an objective and meaningful way to assign grades in such courses?

NOTE: The question is related to https://cseducators.stackexchange.com/q/3656/1873. However, there the problem is that the students lack motivation or ability. In my case they will (hopefully) have motivation and ability, since it is a choice course taken by advanced students. Still, I will have to assign different grades to different students since I cannot give 100 to everyone..
I would think that one technique you might choose to use in this case would be to establish what your learning objectives are for the assignment and then construct a simple rubric for evaluating each project.  You will likely have some areas that will be present for each assignment (e.g., documentation, code clarity, compiler warnings, possibly even a baseline score for a runable attempt, etc.). However, you will probably have a few aspects that are required to be present for each assignment (e.g., sprite usage, pathfinding, narrative) which you can then assign points for.

For example you could use something like the following:

Narrative


5 points - had a clear and easily understood narrative
3 points - had a narrative, but some portions were confusing or difficult to pick up on
1 point - an attempt was made at a narrative, but it was generally insufficient
0 points - no attempt at a narrative


Pathfinding


5 points - no (or almost no) issues with pathfinding
3 points - pathfinding mostly working, sometimes units get blocked behind obstacles/jump through obstacles/etc.
1 point - pathfinding is clearly deficient


For project based courses or assignments, I find that a rubric like this will greatly simplify my life when grading and lets me focus on giving constructive feedback over trying to decide if this is an 82% vs 85%.

Alternate approach

I have also had project based courses where the grading was not based on the artifact, but on a report and presentation/demo that the student teams had to submit. I also used rubrics for scoring those, again greatly simplifying the process and letting me focus on feedback over points.