在这里你可以下载到所有我开放的资源哦

L.E.A.V.E

游戏简介:

主角生活在未来能源枯竭时代,因风化病这种致命疾病,人类不得不离开地球前往寻找新的家园。因为某些原因,主角没有在第一时间离开地球。

游戏玩法介绍:玩家将扮演主角,通过与NPC进行交流推进剧情,通过资源区收集资源获取每天生存需要的道具。玩家可用武器有手枪,机关枪和粒子火焰。资源区外玩家生存指标为健康值,一旦健康值归零,游戏将结束。资源区内生存指标为体力和理智,一旦体力归零将会被遣送离开资源区,当理智值归零,会不断威胁到体力值。玩家可以通过使用营养液来恢复理智值,通过升起篝火来恢复体力值,通过使用血清来恢复健康值。

游戏创新:

镜头:在任务区(下称实验室),玩家可以通过切换监控录像视角来观察角色的不同角度,监控录像跟随角色进行观察。在资源区,镜头方案是在角色的物体坐标沿-z轴方向进行偏移设置圆心,镜头可以随着圆进行变换,达到在3D和2.5D之间切换的效果。

玩法:独立了副本中的体力值,通过两个系统分别设置衡量机制来达到降低游戏难度的同时不减少游戏沉浸感。游戏时长之所以设置为2小时上下,是想打破传统arpg游戏耗时过长,快餐游戏沉浸感太少的局限性。对比传统游戏中靠吃血药回血的机制,我改成点燃篝火回血,这样做的原因一个是更真实,另一方面是希望玩家在资源区冒险的过程中能时刻警惕。

剧情方面:相较于传统游戏中只能通过任务来推进剧情的手段,我在游戏中加入了信件系统,看似只有三个NPC,实则有四个。玩家可以通过与“青”的对话与NPC提供的信息提前推断出剧情走向。

技术难点:

  三大系统:游戏中三大系统分别为任务系统,对话系统和背包系统,这三个系统都是基于SQlite数据库实现,均为自主实现。

  任务系统:任务系统中每一个条任务中重要的参数有:任务ID,任务要求,任务完成情况和任务奖励。每次和NPC对话的时候都会数据库中搜索是否有满足触发条件的任务。当任务被接取之后,任务状态会得到转变,在任务被完成之后任务状态又会被改变,最后任务被结算,设为必不可读状态。除此之外,任务会分为三类,收集任务,对话任务和打怪任务,根据任务种类的标记,会自动加载成固定类型,判定完成与否的条件也会被细分。进行中的任务会加载到名为MissionProcessingList的元组列表里,这个列表会被动态遍历,将里面的任务加载到UI中显示。

  对话系统:对话系统中每一句对话中重要参数有:对话ID,对应NPC,对话内容。每次和NPC对话时,会先查看有没有任务,如果有任务可以接取,就会根据任务ID推断对话ID,获取对话内容。如果有任务在进行中,也会根据任务ID获取对应内容,任务完成,任务结算同理。

  背包系统:背包系统中每一个物件中重要参数有:物品种类,物品个数,物品描述。每一个物品都有不同的功能,在ResourceController中实现。每一个物品的数据要被加载到玩家功能界面和副本区UI的表面,其中,资源区物品的表面的UI控件是可以点击触发功能的。

  信件系统:信件系统的难点是需要根据天数来更新信件。动态更新NGUI组件是插件本身没有提供的功能,我通过自定义的Creator类来随天数动态更新信件按钮,但点击按钮后进入的阅读界面都是同一个,通过反射获取按键名可以用于更新文本。

  怪物行为:怪物行为有站立,巡逻,追击,攻击,死亡。

站立行为发生在巡逻点未刷新时,怪物的动作是站立。

巡逻行为发生在怪物坐标未到巡逻点时,怪物的行为为前往巡逻点,考虑到地形的复杂性可能导致怪物卡在某处,我提前对地形进行了bake,利用AI组件自动寻路,怪物的行为是行走。

追击行为发生在玩家进入了怪物的观察区内,此时怪物的Nav组件目标会随着玩家的坐标动态更新,因为提前了bake,所以此时的行为也是自动寻路,不会被遮挡着的,此时怪物的行为为跑步。

攻击行为发生在人物与怪物距离过近的情况下,此时会直接判定攻击并播放攻击动画,怪物的行为为攻击。

死亡行为发生在怪物体力清零时。

下载链接:https://pan.baidu.com/s/11f3Qgvv3KH9zwTvFwrodZA&shfl=sharepset

提取码:nx5g