评估流程
任何争议较大的问题在短时间内无法甄别或者决断的,可以直接选择成本更低或更易完成的那个,这样的决策策略称之为简易策略。
简易策略是一个题外话,在日常的开发过程中是非常有效的一种解决问题的方案。当然,这是最后的决策手段,通过建立评估流程以评估的方式精确的找到方案之间的问题是最佳手段,因为往往两个方案之间的区别有的时候很模糊或者难以描述的的,于是我们必须建立相对完善的评估维度来加以描述和完善的评估流程去强化评估的准确性。
3.3 建立工作调度模型
大型公司为了简化管理结构,一般会将一个大型公司划分为多个部门,由部门负责人来统一负责一个方面的工作,但是对于由一个制作人来统筹所有开发工作的独游工作室来说,过分扁平化是一个常态,也是一个巨大的问题,制作人的压力会比较大一些。在部署任务的时候,我们其实遇到过一种特殊的任务部署的阻塞问题,这种阻塞问题是由于部分工作由于存在其前置任务没有完成而无法展开的情况。将其称之为阻塞很形象,因为编写程序的时候就存在着非常多的同步代码结构导致的阻塞问题。
什么叫同步结构呢?就是严格按照顺序执行,如果B完成他的任务依赖A的任务先完成,那么B就会等待A的任务,直到A的任务完成为止,B都处于阻塞状态,也就是空闲状态,这样的情况或者问题就是同步阻塞。
任务依赖
现实中更为复杂的点在于,B往往不知道自己要干嘛,也不知道自己有哪些其他的任务要处理,B被A阻塞只是你在思考任务部署过程中的一种假想,你需要将B的其他工作放到前面来让他完成,于是你需要安排一张错位的工作计划表,设计这样一张表,我会将其立即为一种工作调度模式的设计。
阻塞问题不仅出现于这种依赖问题中,其实很多组织结构中都会存在各种各样的阻塞问题,比如拍电影的时候就不会一个片段一个片段的顺序拍,我完全没有拍过电影,也没有学过任何相关理论,但是如果我是导演的话,最能直观的感受到的就是拍摄成本问题,于是我会将拍摄成本作为最优先考虑的点来进行拍摄任务的制定。
假设我们的电影要在三个场景A、B、C中拍摄, A在大型城市,B在乡村,C在某景点。那么为了运载所有剧组人员和食宿所产生的成本就很大,于是我们不得不将拍摄计划围绕在三个场景中展开,整个电影的所有分镜脚本制作完毕,就从中筛选出在三个场景中拍摄的脚本,然后去到不同的场景中进行拍摄,也许电影的开头和结尾都在A场景,但是过程中在B,局部在C,那么也许我们是先拍完了电影的开头和结尾然后带着所有剧组人员去到B中进行剩余部分的拍摄,最后将所有的片段剪辑为一部完整的电影。
这个过程中也会产生额外的成本,比如造型成本,如果一个角色的造型非常复杂,那么化完妆就应该优先拍摄与之相关的片段,于是拍摄计划会逐渐形成一个树形结构,再扁平化为日程表方便排期。当然现实可能会更复杂一点,因为某些电影会启用某些明星而产生更多的演员成本,但是无论如何,围绕的永远都是那些成本最高的部分。
和拍摄电影类似,制作游戏也有相关的编排逻辑,虽然游戏制作过程中不存在和电影完全类似的结构,但是通过编排任务解决同步阻塞的问题的起因是完全一致的,称他为同步阻塞问题是因为我第一次认识到阻塞问题是在代码中,所以说不定真的可以通过程序的手段来解决它,为此我们可以引入一种叫生产者&消费者模型的结构。
生产者&消费者模型建立的核心是引入一个中间队列,这个队列是一个等待处理的任务队列,所有的对应工作者(此处可以将其称为消费者)从队列中取出任务来完成,而策划则负责向其中加入新的任务(此处可以将策划称为生产者),这样构建一个错位的工作序列。
生产者&消费者工作模型
图中的场景美术工作池就是一个工作计划队列,这个工作池的深浅也会影响到策划的工作排期,策划在部署计划时应当考虑各个部门工作池的深浅以免产生其余工作单位的工作阻塞问题,这就是生产者&消费者模型
当然,这个工作调度模型只是一个非常简单的示例,而且现实中并不一定会采用这样的工作模型,关键是我们应该尝试学会自己设计调度模型去完成各类繁复的组织性工作计划。这就是本节的核心启发,即设计工作调度模型。
总结
以上三篇内容就是所有我想说的部分了,当然还有很多课题和想法由于各类原因没有写入这篇文章。
怎么说呢,成为一个制作人是一条相当艰苦的道路,和产品经理不同,制作人除了统筹开发计划之外,可能还得亲自上阵干活,这个过程中很多事情都需要自己来决断和决策,以上每个细节点都是一个曾经踩过的坑,没有资金、缺乏完善的惩罚制度是一切问题的核心矛盾。所以独游制作人需要在有限的资源中做出更好的作品,就需要关注一切成本问题,从而为团队保留足够的实力以应对不期的结果。
希望以上内容对你有一定的价值,感谢阅读,同时再次感谢@ComfyFinn提供的封面图。