| 作业所属课程 | 班级的链接 |

| --------- | ------------ |

| 作业要求 | https://edu.cnblogs.com/campus/fzu/SE2024/homework/13290 |

| 作业的目标 | 开发一个基于LLM大模型接口的软件,为传统的软件赋予全新的体验和功能。 |

| 团队名称 | 银河战舰 |

| 团队成员学号-名字 | 102202129-林伟宏 102202131-林鑫 102202109-木合塔拉提 102202143-梁锦盛 102202126-陈家凯 102202148-路治 102202116-李迦勒 102202103-王文豪 102202113-许煊宇 102202155-王贺雯|

# 队名

银河战舰队

# 项目规划及描述

##项目宣传片

https://www.bilibili.com/video/BV1SkCSYzEDR/?spm_id_from=333.999.0.0

## 项目名称:剑来

### 1. 项目介绍

我们做的是一基于ai互动的文字游戏,在这款游戏中玩家可以成为小说中的主角,由自己的行为来决定故事最终走向,LLM大语言模型会根据玩家的行为选项结合故事基础来生成不同的剧情 从而玩家可以体验到不同的主线故事

以下是对这款游戏的详细介绍:

#### 游戏概述

- 游戏类型与玩法

- 剑来是基于AI互动的文字修仙休闲游戏。主要玩法是参与剧情,通过修炼、功法等提升修为与玩家属性,不断挑战副本与完善剧情。

- 游戏特色

- 具有AI互动功能,在特定场景内置聊天NPC,丰富玩法,增加乐趣。

#### 关键机制:

- 玩家属性:包含根骨、魅力、家境、悟性等,玩家可在开始设置时自由调整、在剧情中不断发展,属性会影响玩家修炼与剧情发展。

- 副本:玩家提升战力挑战副本,主要战斗方式为回合制,表现形式是文字叙述,玩家可在副本挑战中获得战力提升与收集道具。

- 拜师:玩家可与智能NPC交流,获取经验与通关方法。

- 传承:继承前人力量和智慧的方式。接收古老的修仙传承技艺或秘籍,使角色获得独特的能力和优势,为角色的成长开辟新的道路。

- 闭关:可能是指角色进行修炼,以提升自己的等级或技能。

- 天赋:玩家可以根据天赋特点来制定个性化的发展策略。

- 炼丹:角色通过炼制丹药来恢复生命值、增强属性或获得特殊效果。

#### 游戏界面与系统

- 游戏开始界面

- 创建角色

- 玩家通过“创建角色”进入游戏世界。“天赋选择”功能允许玩家根据自身策略和喜好定制角色的各项属性。“传承选择”允许玩家选择不同流派。

- 游戏主界面

- 核心系统

- 副本系统:是游戏的重要组成部分,玩家进行副本选择,通过副本探索推动剧情发展并获得提升。在副本中获得各种资源和奖励,与游戏其他系统紧密相关。

- 功法系统:涉及功法选择和功法升级替换。玩家根据自身需求和战斗风格挑选合适的功法,并在战斗过程中通过积累经验或满足特定条件使功法升级,以提升角色的战斗能力。

- 修炼系统:与功法系统相辅相成,玩家通过修炼获得成果,包括属性提升、解锁新技能等,且存在传承机制,保证角色能力的延续和发展。

- 炼丹系统:游戏中有专门的炼丹环节。玩家收集特定物品,按照规则和流程进行炼丹操作,炼制出的丹药对角色的属性提升、恢复生命值或其他方面有帮助作用。

#### 背包系统

游戏中存在背包,玩家在副本探索、战斗、炼丹等过程中获得各种物品,这些物品存储在背包中,方便玩家随时查看和使用。

### 2. 项目阶段

阶段一:需求分析与设计

- 收集玩家需求,明确游戏核心玩法与故事背景。

- 设计游戏框架与用户体验,包括UI/UX设计。

阶段二:技术开发

- 接入大语言模型实现自然语言处理功能。

- 开发游戏核心逻辑,包含剧情生成、角色行为模拟等。

- 实现AI角色的个性化建议功能。

阶段三:原型测试

- 制作游戏原型,进行内部测试与调整。

- 收集玩家反馈,优化游戏体验与AI互动效果。

阶段四:市场推广

- 制定营销策略,确定目标用户群体。

- 发布宣传材料,进行预热与推广。

阶段五:上线与维护

- 正式上线游戏,提供技术支持与更新。

- 根据玩家反馈持续优化游戏内容与AI功能.

### 3. 项目预期成果

### 高度沉浸感

- LLM生成的动态剧情让玩家仿佛置身于一个真实的修仙世界中。

- 每一个选择都可能带来不同的结果,使玩家深度参与到故事发展中,极大地增强了沉浸感。

### 个性化体验

- 玩家可以根据自己的喜好调整角色属性,选择不同的修炼路径和功法。

- 基于玩家的游戏进度和风格,游戏会推荐适合的任务和挑战。

### 便捷的操作与易上手性

- 简洁明了的文字界面使玩家能够轻松理解游戏内容和操作指令。

- 无需复杂的图形操作,降低了游戏的门槛,让更多人能够快速上手。

- 便捷的交互方式,如点击、滑动、输入等,让玩家能够轻松进行游戏操作。

### 持续的新鲜感与挑战

- LLM不断生成新的剧情、任务和挑战,使游戏始终保持新鲜感。

- 玩家不会感到重复和枯燥,每次游戏都能有新的发现和体验。

## 队员风采

### 林伟宏

- 学号:102202129

- 昵称:Lin

- 担任工作:前后端美工

- 个人介绍及兴趣爱好:温暖热心善解人意的炒鸡全能组长

### 林鑫

- 学号:102202131

- 昵称:PZn

- 担任工作:后端开发

- 个人介绍及兴趣爱好:擅长python,java,比较细心、耐心,喜欢阅读和跑步,

### 木合塔拉提

- 学号:102202109

- 昵称:Mukhtarat·Botakhze

- 担任工作:后端

- 个人介绍及兴趣爱好:喜欢射箭的intp��

### 梁锦盛

- 学号:102202143

- 昵称:勿忘心安

- 担任工作:后端开发

- 个人介绍及兴趣爱好:好奇心强,行动力弱,喜欢各种球类运动

### 陈家凯

- 学号:102202126

- 昵称:chenoojkk

- 担任工作:前后端

- 个人介绍及兴趣爱好:全心全意、偶尔搞怪的瓦批

### 路治

- 学号:102202148

- 昵称:xiaoxolu

- 担任工作:前端

- 个人介绍及兴趣爱好:喜欢打羽毛球,喜欢打游戏的普通大学生

### 李迦勒

- 学号:102202116

- 昵称:Mr0due

- 担任工作:前端

- 个人介绍及兴趣爱好:又菜又爱玩

### 王文豪

- 学号:102202103

- 昵称:王文豪(W)

- 担任工作:前端

- 个人介绍及兴趣爱好:边学边做

### 许煊宇

- 学号:102202113

- 昵称:夜华

- 担任工作:前后端

- 个人介绍及兴趣爱好:打劫!

### 王贺雯

- 学号:102202155

- 昵称:yee

- 担任工作:美工展示

- 个人介绍及兴趣爱好:正在努力学习前端后端中的小趴菜…

### 合照

## 团队愿景

“咱们要做个特别的AI修仙游戏,就是那种一玩就让人深陷其中,感觉自己真的成了游戏里的大侠。我们想让每个玩家都觉得自己对游戏世界超级重要,每次点开游戏,都有新的冒险和故事等着他们。游戏里的每个角色都能和玩家产生有趣的互动,让玩家每次玩都有全新的体验,就像他们自己的故事一样独一无二。简单来说,就是让大家玩得开心,每次都有新发现,越玩越上瘾。”

## 需求分析文档

###介绍

剑来是基于AI互动的文字修仙休闲游戏,主要玩法是参与剧情,通过修炼、功法等提升修为与玩家属性,不断挑战副本与完善剧情。游戏特色AI互动功能,在特定场景内置聊天NPC,丰富玩法,增加乐趣。

###项目标志

###思维导图

###类图

###功能描述

#### 5.2 前端功能

##### 用户界面

- 角色创建

- 提供丰富的角色定制选项,基于游戏中的系统。玩家可以在角色创建界面调整角色的各项属性,这些属性与游戏中的功法系统、修炼系统相关联。例如,玩家可以根据不同的功法特点来设定角色的初始属性偏向,如选择偏向攻击的功法,则可适当提高力量属性;选择偏向防御的功法,则可增加耐力属性等。

- 任务选择

- 在任务选择界面,清晰展示各种任务类型,包括副本任务和剧情任务。副本任务可根据副本系统进行分类,如按照难度等级(初级副本、中级副本、高级副本)或副本主题(如神秘洞穴副本、古老遗迹副本等)进行排列。每个副本任务展示其关键信息,如副本名称、推荐等级、可能获得的奖励(包括功法秘籍、珍稀材料用于炼丹等)。剧情任务则按照游戏的剧情发展脉络呈现,可能以章节形式划分,每个章节展示其简要剧情介绍和任务目标,引导玩家逐步深入游戏世界的故事线。

- 战斗界面

- 战斗界面设计注重信息展示和操作便捷性。在界面上清晰显示玩家角色和敌人的基本信息,包括角色的生命值、法力值(如果游戏中有相关设定)、当前所使用的功法名称及图标等。同时,展示战斗场景的关键元素,如战斗场地的地形特点(是否有障碍物、有利地形等),这些地形可能会影响战斗策略。操作方面,提供直观的技能释放按钮,按钮对应玩家所学习的功法技能,玩家可以通过点击按钮释放技能。此外,可能设置快捷键,方便玩家快速切换功法或使用常用技能,提高战斗操作的流畅性。

##### 交互逻辑

- 点击操作

- 在游戏的各个界面,点击操作具有不同的功能。在用户界面中,点击角色创建界面的不同属性调整区域,可弹出详细的属性调整滑块或输入框,方便玩家精确设定属性值。点击任务选择界面的任务图标,可查看任务的详细信息页面,包括任务背景故事、具体任务流程和要求等。在战斗界面,点击敌人可选中目标,使玩家的技能释放能够准确作用于所选敌人。点击技能按钮,可触发相应功法技能的释放,不同的技能可能有不同的点击效果,如单次点击释放单体攻击技能,长按可能释放群体攻击技能或蓄力技能。

- 拖拽操作

- 拖拽操作可用于物品管理。在背包界面,玩家可以通过拖拽物品来调整物品的位置,方便整理背包空间。同时,在某些特定的系统界面,如功法系统界面,如果允许玩家自定义功法技能的排列顺序,可通过拖拽功法图标来实现。在炼丹系统中,如果涉及到材料组合的操作,可能也会用到拖拽操作,玩家将所需的炼丹材料拖拽到炼丹炉相应位置,进行炼丹配方的配置。

##### 动画效果

- 角色动画

- 为游戏中的每个角色设计独特的动画效果。在角色创建完成后,角色在不同的状态下呈现不同的动画。例如,站立状态下,角色有自然的呼吸动作和轻微的身体摆动,体现角色的生命力。行走时,根据角色的性别、性格设定不同的行走姿势和步幅,男性角色可能步伐较大、较为稳健,女性角色可能步伐较小、较为轻盈。在战斗中,角色的攻击动画根据所使用的功法技能而变化,如使用剑法功法时,角色有流畅的拔剑、挥剑动作,剑的光影效果随着挥剑动作而变化;使用拳法功法时,角色的拳头有力量感的挥动,身体的姿态也配合拳法的发力特点进行调整。角色受到攻击时,会有相应的受伤动画,如身体后仰、生命值条闪烁等,以直观地显示角色的受伤状态。

- 场景动画

- 游戏中的场景也具备丰富的动画效果。在副本场景中,如神秘洞穴副本,墙壁上可能有闪烁的神秘符文,符文的光芒会有动态的变化,增加场景的神秘氛围。在古老遗迹副本中,可能有风吹过的动画效果,灰尘被扬起,破旧的建筑结构在风中微微晃动。在战斗场景中,地面可能会因为技能的释放而产生不同的效果,如使用火焰功法时,地面会出现燃烧的痕迹,火焰的动画会随着时间推移而变化;使用冰冻功法时,地面会出现结冰的现象,冰的裂纹和光泽也会有动态变化,这些场景动画不仅增强了游戏的视觉效果,也为玩家提供了更多关于战斗环境的信息。

#### 5.3后端功能

##### 服务器架构

- 设计一个分层架构的服务器系统,以确保稳定性和可扩展性。

- 接入层

​ - 负责处理玩家的连接请求,采用高效的网络协议和算法,确保玩家能够快速、稳定地连接到游戏服务器。在玩家数量较多时,能够自动进行负载均衡,将玩家的连接请求合理分配到不同的服务器节点上,避免出现单点故障和网络拥堵。

- 逻辑层

​ - 这是服务器架构的核心部分,负责处理游戏中的各种逻辑运算。包括玩家的角色移动、技能释放、任务完成判定等。当玩家在游戏中进行角色移动时,逻辑层根据玩家输入的移动方向和速度,计算角色在游戏世界中的新位置,并更新数据库中角色的位置信息。对于技能释放,逻辑层判断技能的合法性(如是否满足技能释放条件,法力值是否足够等),然后根据技能的效果计算对敌人造成的伤害或对自身及队友的增益效果,并更新相关的游戏数据。在任务完成判定方面,逻辑层根据玩家在游戏中完成的任务目标,给予玩家相应的奖励(如经验值、金币、功法秘籍等),并推进游戏的剧情发展。

- 数据层

​ - 负责存储和管理游戏中的所有数据。包括玩家数据、游戏进度、NPC行为等。采用高性能的数据库系统,如关系型数据库(MySQL等)或非关系型数据库(MongoDB等),根据数据的特点和使用方式进行合理选择。对于玩家数据,存储玩家的基本信息(如账号、密码、角色名称、等级等),以及角色的各项属性(如力量、耐力、智力等)和所拥有的物品(包括背包中的物品、已学习的功法等)。游戏进度数据记录玩家在游戏中的任务完成情况、副本通关记录等。NPC行为数据存储NPC的行为模式、对话路径、任务发布情况等,以便服务器在需要时能够准确地模拟NPC的行为。

##### 数据库设计

- 玩家数据

- 建立一个以玩家账号为核心的数据库表结构。除了基本的账号和密码信息,还包括角色相关的数据。例如,角色的创建时间、最后登录时间,用于统计玩家的活跃情况。角色的等级、经验值和升级所需经验值,以便于计算角色的成长进度。同时,存储角色的各项属性值,这些属性值与前端角色创建和属性调整相关联,如力量属性值决定了角色在战斗中使用力量型功法的效果。此外,记录角色所拥有的物品信息,包括物品的名称、数量、品质等,物品信息与背包系统相关联,玩家可以通过背包系统查看和使用这些物品。

- 游戏进度

- 设计专门的数据库表来记录游戏进度。包括玩家完成的任务清单,每个任务记录其任务名称、完成时间、获得的奖励等信息。对于副本系统,记录玩家的副本通关记录,包括副本名称、通关次数、最高难度等级通关情况等。这些数据不仅可以让玩家了解自己的游戏进展,也为服务器在后续的游戏剧情推进和奖励发放方面提供依据。

- NPC行为

- 针对NPC的行为数据,建立一个数据库表来存储NPC的各种行为相关信息。包括NPC的名称、身份、所属区域等基本信息。同时,存储NPC的行为模式,如在不同的时间、地点和玩家状态下,NPC会有不同的行为表现。例如,在白天,NPC可能会在城镇的集市上进行交易活动;在晚上,NPC可能会回到家中休息。对于NPC的对话路径,记录不同情况下NPC与玩家对话的内容和走向,以便服务器根据玩家当前状态或剧情进展选择正确的对话路径,模拟NPC的行为。

##### 决策树/行为树

- 构建复杂的决策树/行为树模型来模拟NPC的行为决策。

- 行为树结构

​ - 决策树/行为树的根节点表示NPC的初始状态,根据不同的游戏场景和NPC的身份设定。例如,一个商人NPC的根节点可能是“在集市上等待顾客”。从根节点出发,有多个分支节点,这些分支节点代表不同的行为选择。如商人NPC可能有“与顾客交易”、“整理货物”、“观察周围环境”等行为选择。每个分支节点又可以进一步细分,例如,“与顾客交易”节点可能包括“评估顾客需求”、“提供商品报价”、“协商价格”等子节点。通过这样的层次结构,能够详细地模拟NPC的行为过程。

- 根据玩家状态和剧情进展选择行为

​ - 当玩家接近NPC时,服务器根据玩家的当前状态(如角色等级、所拥有的物品等)和剧情进展(如当前所在的章节、任务完成情况等),在决策树/行为树中查找合适的行为路径。例如,如果玩家等级较高且拥有大量金币,商人NPC可能会更倾向于提供高品质的商品报价,因为NPC认为玩家有足够的购买能力。如果玩家完成了某个特定任务,NPC可能会根据任务的相关信息改变自己的行为,如给予玩家额外的奖励或提供新的任务线索。

##### 自然语言处理 (NLP)

- 采用先进的自然语言处理技术,如GPT系列模型或Google Dialogflow,来处理玩家与NPC之间的对话。

- 对话生成机制

​ - 当玩家输入对话内容后,NLP模型首先对输入内容进行分析,包括识别语句中的关键词、理解语句的语义和情感倾向等。然后根据NPC的身份和当前游戏场景,结合数据库中存储的NPC对话路径信息,生成相应的回复内容。例如,如果玩家向一个酒馆老板NPC询问哪里有好酒卖,酒馆老板NPC可能根据其对话路径和NLP模型的分析结果回复:“我们酒馆就有好酒,你可以试试我们的招牌酒。”

- 提高对话自然度

​ - 通过不断地训练和优化NLP模型,提高NPC与玩家对话的自然度。在训练过程中,收集大量的游戏对话数据,包括玩家的各种提问方式和NPC的相应回复。对这些数据进行分析和处理,调整NLP模型的参数,使NPC能够更好地理解玩家的意图,并给出更加自然、合理的回复。例如,玩家可能会用不同的表达方式询问同一个问题,如“哪里有酒卖?”、“告诉我酒在哪里卖?”等,NLP模型经过训练后能够识别这些不同的表达方式,并给出统一、自然的回复。

###验收标准

● 功能完整性:所有核心功能和辅助功能均已实现并经过测试。

● 用户体验:游戏界面友好,操作流畅,NPC互动自然。

● 性能稳定性:游戏在不同设备上运行流畅,无明显卡顿。

● 文化传承:游戏内容符合中华文化,能够传达修仙理念。

【腾讯文档】剑来迭代记录表格

https://docs.qq.com/sheet/DSVNQRG1STkxTSXlp