2016年7月31日
08:47:27:
很长一段时间没记了,之前开发了很久的 MAIFA
记一些大更新:
AI优化→从射线模拟视野改成了将敌人、物体放入字典,查字典找距离和角度
这个优化也证明了之前的挺不错的AI是好的……
加入调试窗口,有很多便捷的API来进行调试,包括文字显示,按钮等
加入名字的lable,但现在还不能改名字…
多人游戏优化修BUG,移动改为定速,优化各种恶心的问题
修改了很多判定:比如说子弹改为客户端判定,其他同步;而近战由客户端判定,生效同时发送给服务端再广播,然后导致看到死人在地上移动的BUG(还未处理)
目前多人游戏还有问题:延迟?和一些不同步出错
延迟可以让你隔了一段距离都被打死,很无语
修复电脑的抖动,API:LookAround
为了修复这个问题,花了我接近2、3个小时
不停地找旋转因素
最后找到:LookAround,AiLerp,AI(有三处),GameBase.Update
LookAround最初编写时出了一个很有趣的问题
重写了一些多人模块,加入NetPlayer,这个想法还是来自于MAFIA
有了这个好得多,写起来限制变少了
加入插件:ColorFulX
一个摄像机特效插件,有了红血,抖动,变白,放大等视觉特效
更改移动脚步,不再用CharactorContraller2D
改用RigiBody,然后,大多数问题都解决了,随便将武器、子弹都改了
新增HP概念,将一击必杀改为减少HP,配上视觉特效,挺不错的
AI什么的一系列已经差不多了,大体可以完成玩家的一系列动作(甚至更NB,详见[如下图]),等着更新不同种类的AI,例如:平民AI,警察AI
另外很多杂七杂八的,例如:加入弹壳、修复拳头等我就不写了
2016年8月3日星期三
18:18:56:
测试:
用一台电脑测试了一下,延迟还是个问题,电脑和别人可以在以前的位置把你打死
出现一个旋转问题,人被拉缩成片?电脑打不死人,应该是子弹归属判定问题,
有个站着死的,是”getup5”,估计是Die(0);造成的,散弹击中敌人不飞那么远了?
19:17:18:
已解决:
电脑子弹打不死人:子弹不是服务器物体,不能用isserver
人被拉缩成片:可能是transform.up让x,y都发生了旋转,已改,未测试
散弹击中敌人不飞那么远了:
还是能飞的,在之前某次修复中,把40%的bug修复了,现在看来,应该飞远些…….
19:23:38:
No, 人被拉缩成片还存在,貌似与玩家水平时发生?
第二次修复:将返回值x,y变为0
19:29:39:
人被拉缩成片—修复
散弹击飞,还是有问题,似乎以前是多颗子弹击中?(刚刚解决)
新问题:特效过渡,血变蓝
19:47:47:
测试了下,血变蓝是由于受两次伤,服务器转发时多执行了一次
修改:修复上面那个问题,另外如果damage>health,则damage=health
嗯……现在问题就是延迟了: (
这个恶心的问题
解决方案:
现在:
0——>0 实际
0——>0 服务器
打算改成:
0 0?????0 实际
0——> 0====>0 服务器(等号为推演)
下次完成,这次先完成其他的
19:57:07:什么都没做
23:01:25:
完成FindFleePoint算法
2016年8月4日星期四
00:23:06:
思考感官方式
11:04:28:
视觉和听觉两方面,但是要确定事件不同步
机制:
1.AI的视线判断
2.广播投掷
考虑了一下,将视线发生器加入到广播投掷,投掷时只需要参数确定是否含视觉、听觉
12:32:25:
思考平民AI消耗
13:16:26:
开始编写EventPost
思考了同步的问题,将类改为结构体
17:37:02:
未完……(←写完后去旧网站更新日志了)
2016年8月16日
19:21:38:
纠结是先完成网络同步问题还是平民AI
19:22:08:
先AI吧……
21:55:13:
很有意思的测试
可惜没能录下来
AI很多行为
震惊、逃跑,找不出嫌疑人,逃离出事地点、躲开附近的人,绕出死角,不去死撞向墙壁
那么现在平民AI算是正式完成了
那么下一步:
地图?
Police AI?
联机测试?
联机完善?
21:59:57:
(这里什么都没写)
如果发现有什么格式错误请告诉我,格式是后面加上去的
后记
再次整理已经是2018年了,过去这么久震撼感依旧在
从此项目开始,我开始对大项目写开发日志了,记录其中的点点滴滴,辛酸苦辣
此项目也是我做2D射击的第一个比较大型的尝试,收获不小
如果有机会的话,会出重置版的(以前写的代码更本不能看)