Skip to content

Latest commit

 

History

History
229 lines (139 loc) · 16.8 KB

GameDesignDocument.md

File metadata and controls

229 lines (139 loc) · 16.8 KB

Project: University Sim游戏设计文档

概念陈述

游戏标题

项目代号:Project: University Sim

可选最终名称一:《品质校园模拟器》

可选最终名称二:《建设世界一流大学》

游戏概述

这是一个让玩家利用手里的资源规划建设一所大学的实时策略游戏。

游戏标签

策略、模拟、文字、荒诞、黑色幽默

目标受众

任何一个有过大学生活经历的人,尤其是在北京某全是建筑工地的大学里经历过中国特色大学教育的人,会在这个游戏中得到更加深刻的感触~

独特之处

  1. 独特的游戏背景。据我们所知,没有策略/模拟经营类游戏曾经尝试模拟建设和发展一所中国大学的全过程,以中国大学为背景的游戏基本都是AVG/Galgame。因此,这个游戏能提供全新的独特体验。
  2. “想着再来一回合,不知不觉就天亮了”。正和诸如《文明》、《群星》这类策略游戏代表作一样,我们希望这个游戏能够通过设计大量相互重叠的短期目标和即时反馈,给玩家欲罢不能的游戏体验。
  3. 幽默的游戏叙事。我们计划在游戏中添加大量的随机事件和“梗”,使人眼前一亮,捧腹大笑。
  4. 深刻的启发意义。虽然做到这个也许有点难,但是我们希望玩家能够从中得到一些对于中国大学现实的启发,能让这个世界变好一点点(划掉)。

产品设计概述

玩家视角

在这个游戏里,玩家是一所大学的“虚拟的最高控制者”,正如在P社游戏里玩家是一个国家的“虚拟的最高统治者“那样。游戏的背景就是2019年的中国,尽管我们在游戏背景里不会试图明确表达这一点。我们希望这个游戏能让玩家体验到建设一所大学过程中的爽快(以及潜在的混乱和邪恶)。我们必须设计一些长期目标和大量的短期游戏目标能够让玩家一直玩下去。

美术风格

UI

这个游戏是纯文字游戏,附以少数图片。因此,游戏的美术主要集中于UI设计上。游戏UI的整体设计风格与配色我们准备参考Naive UI Dark Theme的配色与组件设计,截图参考如下。不过,由于游戏开发与网页开发的不同,我们必须开发自己的游戏UI组件库。

这个游戏的字体一律使用Arial。

关于UI颜色的详细参数参见assets/ScriptsGlobalVariables.js

图片

游戏里面关于建筑与人等,不可避免地需要使用一些图片。这些图片我们准备采用实景拍照的方式。比如如果要显示一个破旧的宿舍楼,我们可以直接使用网上关于北京大学28楼的照片。

音乐风格

暂定。由于微信小游戏的4MB包大小限制,最后也有可能没有任何音乐。

背景设定

《品质校园模拟器》是一个极简的策略类模拟游戏,你的任务是规划一所中国大学的建设与发展,规划学校政策,建设品质校园,力争为师生打造能够高效学习与科研的环境,为世界一流大学的建设添砖加瓦!你的合理建设能使得师生全身心投入学习与科研,国际排名不断上升,最终成为世界一流大学!不过,如果你的建设有问题的话,会发生什么就不得而知了...

技术选型与项目规划

目标平台 桌面端网页/移动端网页/微信小程序
画面技术 2D游戏 (Cocos2D, WebGL)
编程语言 JavaScript
主要框架 Cocos Creator
团队人数 3人
制作时间 11周的零碎时间
迭代次数 4轮迭代
主要风险一 游戏引擎的学习成本
主要风险二 成员能否进行持续而有效的时间投入
主要风险三 能否在有限迭代内达到较高的可玩水准

游戏系统设计

核心游戏循环

游戏的目标与进展

玩家在这个游戏里的核心目标在于提升自己大学的世界排名,并将学生和教授的满意度控制在一个合理的水平。为了达成世界一流大学的目标,游戏中会有一组阶段性的任务辅助玩家推进。这些阶段性目标的描述分别是成为二本、一本、211、985、等等。

玩家需要追求的核心目标有以下五个:

  1. 学业水平 StudyIndex,用于衡量这所学校教学水平的高低。影响这个指标的因素可以包括教学楼的质量、教学经费的投入、老师的素质和满意度、学生的素质等等。
  2. 科研能力水平 ResearchIndex,用于衡量这所学校科研水平的高低。影响这个指标的因素可以包括师生的素质、老师学生的满意度、科研环境的质量、科研的经费投入等等。
  3. 职业能力水平 CareerIndex,用于衡量这所学校学生工作竞争力。这个数值会受到学生满意度、教学质量、科研质量等等许多因素影响。
  4. 生活质量满意度 LivingConditionSatisfaction,用于衡量这所学校学生满意度的水平。该指标又分为多种下级指标,如清洁满意度 cleaningSatisfaction,休息环境满意度 relaxationSatisfaction, 学习环境满意度 studyingSatisfaction。这些因素会受到建筑质量、教学质量、科研质量等因素的影响,并且随着学校排名的上升,要维护学生的满意度会变得越来越困难。如果满意度低,会对学生的个人能力产生很大影响,并产生无法预料的随机事件。

国际排名的计算方式如下:排名用数值 = 生活质量满意度 * 学业水平 * (科研能力水平 + 职业能力水平)。数值越高越靠前。

为了反映国际排名竞争的激烈性,我们会随机生成500所大学与玩家的大学竞争,并且会对这些大学赋予不同的类型,有的大学各个指标数值会上升,有的大学的各个指标数值会下降,有的大学会随机波动等等,为玩家的排名爬升之路创造随机感。

对于阶段性任务,我们会对上述指标设置一个固定的数值,确保玩家能够达成。目前的设计如下:

  1. 阶段一:评为二本院校。达成条件:各类满意度 > 60%,学业水平 > 60%,职业能力 > 60%.
  2. 阶段二:评为一本院校。达成条件:各类满意度 > 70%,学业水平 > 70%,职业能力 > 70%.
  3. 阶段三:评为211高校。达成条件:各类满意度 > 80%,学业水平 > 80%,职业能力 > 80%.
  4. 阶段四:评为985高校。达成条件:各类满意度 > 85%,学业水平 > 85%,职业能力 > 85%,科研能力 > 75%.
  5. 阶段五:成为双一流高校。达成条件:各类满意度 > 90%,学业水平 > 90%,职业能力 > 90%,科研能力 > 90%.

游戏系统

1. 时间系统

为了营造一种时间在流逝的感觉,我们选择基于Tick的时间系统(类似P社四萌)来配合整个游戏的推进。在这个系统里,一个tick是一秒钟,一天5个tick,分别对应上午、中午、下午、晚上、凌晨。一般学生会在上午下午主要进行的活动是上课,中午晚上吃饭,凌晨睡觉。在周末或者无课时间段学生会进行其他种类的活动。一学期共20周,一年两个学期,这样一个游戏年的游戏时长就是大约20分钟,一局需要10-50个游戏年完成。此外,玩家可以自行调整游戏的速度,随着游戏迭代的推进,我们可能会改变时间流逝的速度和一局的期待游戏时间。

2. 资源系统

这个游戏的核心资源目前只有一种,就是经费。

经费可以被使用来建造建筑、招募老师、投入招生和处理随机事件。此外,建筑和教师的也会产生固定支出。

经费的获得方法包括:固定经费(与学校评级有关),建筑产生和学生学费。以上经费除了一次性获得的之外,都是每周更新一次。

此外,我们可能还计划设计额外的一种资源,叫做影响力。不过目前还不确定要怎么设计,最终也很可能会被放弃。

3. 建筑系统

这个游戏的核心系统之一就是建筑。玩家的核心决策就包括在空间有限的校园内,建造什么样的建筑、升级什么样的建筑、如何在不同建筑之间做权衡、如何在有限的校园空间内合理规划拆除和建设的路线等。由于建造一个建筑需要的时间很长,我们希望玩家在拆除建筑的时候会非常小心。

建筑有一个特定的建筑类型,拆除和升级建筑需要耗费大量的时间。不过我们可以给建筑添加不同的组件,实现个性化维度属性的提升。

建筑类别:教学楼、宿舍、食堂、图书馆、研究所、体育馆、剧院等。

部分组件不同建筑通用,如清洁升级。也有些建筑可以拥有其特殊的组件,如咖啡厅、小卖部、打印店,宿舍可以选择从八人间升级到四人间,单人间等等。

4. 学生系统

学生系统也是我们的实现重点。对于学生,我们只关注全部学生各项数值的平均值,学生的核心数值在于能力和满意度,这些数值会受到其他机制的影响。玩家需要在学生系统中决定学生的招生策略和招生经费。

我们会用一个算法来模拟学生的一系列指标,包括学生学业指标、职业指标、生涯指标;以及学习满意度和生活满意度。

4.1 满意度系统
  1. 满意度是指标的一类,满意度系统是指标系统的一个子系统。满意度系统又分为被动满意度和主动满意度。
  2. 被动满意度是随建筑被动变化的,如果建筑不支持该类满意度,则满意度不变化。例如教学楼有学习环境满意度,学生在教学楼时学习环境满意度会变化;食堂没有学习环境满意度,学生在食堂时学习环境满意度不变化。
  3. 主动满意度大部分建筑不会提供,需要学生主动前往相应建筑获取。例如学生在教学楼,寝室和食堂一般不会获取锻炼健身相关的满意度,学生需要前往操场等建筑提升这类满意度。
  4. 满意度的默认更新逻辑是综合当前建筑的满意度和历史满意度得到新的满意度。具体来说是加权平均,历史满意度占0.95而当前建筑满意度占0.05. 当前建筑满意度由该建筑默认的满意度经过修正得到。目前的修正有拥挤度修正。拥挤系数定义为当前建筑内人数与建筑容量之比,拥挤系数经过如下函数得到一个满意度修正系数,与默认满意度相乘得到最终的建筑满意度(大于1时降为1)。

  1. 各类综合满意度由所有学生的相应类别满意度做算术平均得到。下轮迭代已计划引入更复杂的综合满意度计算公式,将提高低满意度学生的权值。
4.2 学业指标

学业指标是评价学校的主要指标之一。无论是学习相关的各类满意度还是生活相关的各类满意度都会影响学业指标。 每名学生有一个固定的天赋值。我们通过一个简单的模型来抽象人的学习天赋,即他在各方面条件都达到最满意,最理想,投入最大精力时,所能取得的成绩。从数据上讲,满意度会逐渐趋向于天赋值与各方面满意度的综合值之积,该综合值中学习相关的满意度占比较大,但生活相关的满意度也会出现并造成一定影响。 要提高学生的学业指标,可以通过提高满意度来实现,但最多只能让学生尽量展现出其天赋。要取得更好的成绩,则必须录取资质更好的学生,参见录取部分。 新生学业指标为天赋值 * 0.45.

4.3 职业水平指标

职业水平指标是评价学校的主要指标之一。学校需要建设职业培训建筑,以及提高学生的学业水平来共同提升职业水平指标。

4.4 科研水平指标

科研水平指标是评价学校的主要指标之一。学校需要建设科研建筑,以及提高学生的学业水平来共同提升科研水平指标。科研水平指标属于后期任务,提升会比职业水平指标更难。

4.5 招生录取系统

每学年会有学生毕业,新生入学。

非大四学生可能提取毕业,而大四学生也可能延期毕业,最终效果是随机25%的学生能够成功毕业。

入学新生的天资与学校质量有关。毕业生的能力越强,学校的名声越好,越能吸引高素质学生入学,从而在经营得当的情况下形成良性循环。这一过程的数学模型可以如下描述。要不断吸引天赋更高的学生入学,则需要提高学生各方面的满意度,使之取得更好的学业成绩。而要维持更高的新生素质,则需要更高的满意度。要天赋维持x (0 <= x <= 1)的学生入学,需要 3x/4 + 1/4 的满意度。预期毕业水平为x(3x/4 + 1/4). 招生时已知毕业水平为y,则反求新生天赋为 x = (sprt(1 + 48y) - 1) / 6. 例如要维持0.4天赋的新生入学,需要0.55综合满意度,他们毕业时的学业水平大致分布在0.22附近。而要维持0.8天赋的新生入学,需要0.85综合满意度,他们毕业生的水平分布在0.68附近。 若招生时先前没有学生(如游戏开始时和长期不招生),则新生的天赋为 0.28,需要 0.46满意度来维持(开局满意度约在0.50附近)。

5. 教授系统

现实的大学中,教授团队的素质也会高度影响这所学校的水平。出于开发时间的限制以及我们对教授的实际情况的不了解,我们只准备设计一个高度简化版的教授系统。

我们准备模拟三个水准的素质:学术教学能力、科研能力和职业教育能力。玩家也需要管理教授的数量。师生比会影响上述能力数值对实际游戏目标的影响。玩家需要制定教师管理政策来提升以上三个数值。玩家可以进行的操作包括:

  1. 招募教授:消耗较多金钱,教师数目+1,新教授的水准会在老教授的范围内随机波动
  2. 提升教授课堂教学水平:消耗金钱(数量与教师数量成正比)
  3. 提升教授科研水平:消耗金钱(数量与教师数量成正比)
  4. 提升教授职业教育水平:消耗金钱(数量与教师数量成正比)

对某个维度而言,实际影响学生数值的是教师团队的平均数值 * 师生比。师生比越高,施加的影响越大。

具体的数值设计待定。

6. 事件/政策系统

我们希望在事件系统中能够同时模拟以下两种情况

  1. 模拟大学校园中常见的各种事件,例如学生跳楼等。
  2. 模拟学校在发展的时间点上可能必须做出决策的一些重大改革,例如实行Tenure Track、食堂承包、品质校园政策等

事件的更新逻辑是这样的

for each tick:
    for each 事件:
        如果事件符合触发条件:
            触发事件
            if 是一次性事件:
                将此事件标记为不可触发
            else:
                触发后赋予一定范围的冷却时间,开始冷却
    

7. 树洞系统

树洞系统带有一点恶搞的性质。树洞是校园中学生状态的直接反映。树洞的触发机制是这样的,对于学生的每种维度的满意度,设计一组触发条件不同的触发链,每一条链都是代表了学生在不同满意度程度下的内心想法。通过这样玩家可以了解到当前满意度数值下玩家对应的学习状态。

for each tick:
    for each 树洞触发链:
        if 这条触发链没有冷却完:
            continue
        for each 树洞内容 in 树洞触发链
            if 满足发布条件
                在这个内容里随机发一条树洞
                赋予一个随机的冷却时间,开始冷却整个触发链
                break

游戏交互

我们希望这个游戏能够同时部署到桌面端和移动端,因此我们希望玩家的交互方式只有两个:点击和拖动。我们希望游戏的字体足够大从而能够在移动端上也能看清楚。我们应该避免诸如悬停弹出窗口、键盘按键之类的只有电脑才支持的操作。在游戏的过程中,我们希望玩家能反复地在各个游戏窗口之间查看信息并作出决策。可以作出的决策包括设置招生策略、招新老师、建造建筑、升级建筑、投入资源举行一项政策、处理随机事件等等。