- UID
- 869
- 阅读权限
- 60
- 回帖
- 121
- 喵币
- 21
- 有爱
- 0
- DKP
- 1362
- 金币
- 86219
- 在线时间
- 129 小时
- 注册时间
- 2016-12-11
- 最后登录
- 2025-7-12
声望: 2063   虚弱: 0

Lv.6(觉醒者)
    
|
发表于 2019-7-30 11:57:57
|
显示全部楼层
本帖最后由 serayn 于 2019-7-30 12:16 编辑
TC代码规范,结构先进,抽象良好。是很好的学习对象。
但是并不是良好的游戏服务器端。
因为他们修bug很保守,但是改结构很激进,这就导致了旧的bug除得很慢,新的bug山崩式涌现。来来去去那么多年,不管更新多少次,Bug总数都没减少。克隆回去还是得自己修一波才能投入使用。每次TC更新了,自己要不要跟着更新都很纠结——分分钟更新了带来一大波新的Bug,搞崩你的游戏体验。而且TC结构常变,函数不光名字常变,而且经常增删。每次更新之后自己的脚本几乎都得重新调试重写。
我见过有因为追随TC更新,带来的Bug太多引起玩家afk潮最后倒闭的服务器。
AZ项目立志做一个良好的游戏服务器端,所以舍弃了代码的优秀程度。
他们并不折腾新东西新结构,他们只做两件事:1.修Bug;2.加钩子。
他们也会跟进一些TC的更新,比如说Maps,VMaps和MMaps之类。但是他们的更新是以维持各函数和接口稳定为基础的,所以每次AZ更新了,AZ的参加者可以放心更新,更新了只会带来更少的Bug,更多可靠的新特性,而不需要重写自己的功能脚本。
AZ修的手法可能有很多问题,但是带来的新问题也会逐渐修掉。两年前他们可能还是一个不值得参加的项目,两年之后的今天,他们的游戏体验比TC好多了。线上Bug更少,游戏体验更流畅。
在今天,AZ还有一个两年前没有的优势:更多的服务器在运行AZ的代码,在验证AZ的代码,于是Bug的发现和处理更加及时。就算一个Bug的修复会带来其他问题,那些“其他问题”也会发现得很快并且处理得很快。
我自己也是最初用TC后来用AZ的。用TC时我写了一堆内容修复TC的bug以能给玩家提供良好体验,这些修复是跟随TC升了几次版本之后依然在用的——TC从未修复过这些问题。然而转AZ时,这些内容基本都不用带过去——因为AZ自己早已发现并且已经修好了。
所以讨论TC是不是最好的模拟器代码,取决于你使用模拟器的目的。如果只是个人学习,TC的优秀无出其右。如果是用来玩,TC是个坑。新人可能会觉得TC好厉害,但是在跟着TC走跌得遍体鳞伤之后,就会学会有所取舍,懂得如何挑选真正适合自己的阵营。
|
评分
-
查看全部评分
|