我不想和任何人说话,我不想理睬任何人,谁都不要和我说话,我要安安静静的写,不要打扰我。
我把游戏源码(含教程)放到了夸克网盘:
https://pan.quark.cn/s/a3cf34ffaeef
游戏中,人工智能处理语言对话,人工智能的虚拟世界,这只是个开始。
图片太多,需要加载一会,才显示。
小区:
小区傍晚的暮雪:
小区之夜:
温馨的家:
市街道:
市中心:
郊区:
小镇:
学校:
走廊:
教室:
图书馆:
食堂:
体育馆:
游泳池:
(一)声明
开发语言(包括人工智能):C#。
编辑器:unity。
数据库:单机数据库sqlite,就是个词库。
sqlite单机数据库是在用户电脑的游戏文件里的,不联网的、不用安装服务的、不用配置的,直接就可以用的数据库。该数据库的内容,对用户是完全可见的,方便用户根据需要来改进数据库,例如添加自己需要的词语,所以这个单机数据库是没有账号密码的。
此为个人练习程序,完全免费、完全开源,不得用于商业。
小区场景的三维模型来自于UnityStore的unity包:Low Poly Japanese Housing Complex。很多人在用,所以我的游戏和其他人的游戏出现这个相同场景,不是抄袭。而且那只是个三维模型,程序要自己写,每个人写的程序是不同的。
市中心、市街道、郊区场景,来自UnityStore的unity包:258316_Anime_Tokyo_(Japanese_City),也有很多游戏开发者在用这个场景三维模型。
人物三维模型来自于网络上大家常见、常用的三维人物模型,我做了骨骼绑定、蒙皮、走路动画。
雪景程序来自于unity包:Global Snow,天空盒来自于unity包:AllSky。
学校场景,来自unity包:Japanese_School_Buildings_Kit。
学校楼道场景,来自unity包:Japanese School Corridor 2.0。
教室场景,来自unity包:Japanese Classroom Set。
图书馆场景,来自unity包:Japanese School Library Set。
食堂场景,来自unity包:Japanese School Cafeteria。
体育馆场景,来自unity包:Japanese School Gym。
游泳池场景,来自unity包:Japanese School Pool Clean Dirty Set。
医务室场景,来自unity包:Japanese School Infirmary Set。
(二)基本操作
人物移动:
W键(长按):向前走。
S键(长按):向后走。
A键(长按):向左转。
D键(长按):向右转。
视角:
鼠标左右上下移动来控制摄像机视角(屏幕视角),人物前进方向自动朝向摄像机视角。
键盘右边的方向键:上:抬高摄像机视角,下:降低摄像机视角,左:拉近摄像机视角,右:拉远摄像机视角。
F键(单击):第三人称视角和第一人称视角的切换。第三人称视角适合用在街上,第一人称视角适合用在家里。
上楼梯:
楼梯上不动的时候,把屏幕视角向上仰,就可以上楼梯了。
进教学楼后,一楼走廊的尽头是楼梯。
输入输出:
空格键(单击):显示或关闭文字的输入输出框(默认不显示,需要点击空格键才显示)。输入完文字后,按回车键发送。
空格键适用于:室外场景。
改变:
J键(单击):女主角一键换服装。
K键(单击):每点击一次,就变换一次天色。小区场景:浅夜→夜晚→白天→傍晚→夜晚→清晨→白天→阴天。市街道场景:傍晚→晚上→白天。
K键适用于:小区场景和市街道场景。
L键(单击):正常景色和雪景的切换。
L键适用于:小区场景、市街道场景、郊区场景。
回家:
H键(单击):一键回家。
H键适用于:小区场景。
男女主角分离:
G键(单击):第一次按G键,男主角和女主角分开,女主角停留在原地。第二次按G键,女主角来到男主角身边。
在小区场景中,女主角是自动寻路方式来到男主角身边。而其它场景中,女主角直接来到男主角身边。
音乐:
M键(单击):背景音乐,继续按,是下一首好听的背景音乐。
退出:
Esc键(单击):退出游戏。
(三)场景切换
绿圈是传送点,男主角走进绿圈,就可以切换地图场景,到下一个地图场景。
小区→市街道。
市街道→市中心、郊区。
郊区→学校、小镇。
学校→教学楼走廊入口1、教学楼走廊入口2、食堂、体育馆、游泳池。
教学楼走廊→教室(二楼)、图书馆(三楼)、医务室(一楼)。
(四)说明
即便没有安装unity编辑器的情况下,play文件夹里DreamStart.exe可以直接运行此游戏。
unity的一份源码,只能适配一个编辑器版本,这个源码适配的是2022.3.38,其它版本打开此源码,会故障。
unity导入此项目时,不是导入哪个具体启动文件,而是用unity Hub(unity启动器)直接打开(导入)DreamStart文件夹。
如果unity编辑器没有显示场景,就在编辑器里手动打开park文件夹里的Scenes文件夹里的park场景文件即可。
在unity编辑器界面,不要把窗口最大化后再运行游戏,那样运行不了。但可以在游戏后,再最大化窗口。
地上的蓝色,是自动寻路烘培的地面,游戏运行时不显示那蓝色。
(五)话语分析
话语分析是有用的,假如游戏中,你是队长,带着NPC队友张三和李四,路上遇到蛇,你可以说“张三打蛇,李四保护张三。”这就需要先分析出主语、谓语、宾语,程序才能处理。
按空格键显示输入框,输入完成后,按回车键发送。
示例:
输入:猫吃鼠
显示:主语:猫,谓语动词:吃,宾语:鼠
输入:白色的猫吃黑色的鼠
显示:主语:猫,谓语动词:吃,宾语:鼠,主语的形容词:白色的,宾语的形容词:黑色的
输入:两只猫吃3只鼠
显示:主语:猫,谓语动词:吃,宾语:鼠,主语的数词:2只,宾语的数词:3只
输入:张三的猫吃李四的鼠
显示:主语:猫,谓语动词:吃,宾语:鼠,主语的名词所有格:张三,宾语的名词所有格:李四
输入:张三给李四苹果
显示:主语:张三,谓语动词:给,间接宾语:李四,直接宾语:苹果
输入:张三让李四打扫教室
显示:主语:张三,谓语动词:让,宾语:李四,宾语补足语动词:打扫,宾语补足语名词:教室
输入:2024年张三在学校吃饭
显示:主语:张三,谓语动词:吃饭,时间:2024年,地点:学校
如果分析显示不了,可能词语不在词库里。先找动词分割句子,再找名词,所以如果动词不在词库里,即便名词在词库里,也没用。
连接的单机数据库是garden.db,是sqlite单机数据库。