好了,我也差不多该走了
—— 茅场晶彦
首先,代码在这里:Github
如果只看前篇那个,呃,行yi云xie流qian水li的推导过程,可能会以为这个架构是我某天晚上拍脑袋一气呵成的。
git提交日志则更加夸张,似乎我只花了一个星期(加一个用来写datacompiler的周末)就写出来了。
但这一个星期其实是过去三个月周末的原型迭代,以及大概六个月休息时间思考和酝酿的结果。
当然,一个星期绝对写不出一个完整的MC服务端。这东西目前只能算是勉勉强强地跑了起来,测试和文档都基本没有,但我认为足以展示我所设想的架构了。
可能我过年的时候会抽空更新一下,尽可能地稳定核心,补足文档。能的话集中精力完成基础创造模式相关的功能。再之后就要等一两年后有空再说了。
在构思了这么多,写了这么一滩东西之后,我最大的感想就是:高质量的软件真的价格不菲。
《人月神话》曾提到过,如果写代码只需要一倍的精力,那么把它变成可以发布,实际可用的软件就需要至少九倍的精力。
毕竟写软件远不止写代码这么简单:
和上面这些东西比起来,敲代码反而是最简单的一部分了。
话说回来,为什么我会想不开,放着正事不做,来挑战这种问题呢?
首先,我觉得这个设计思路确实漂亮:好的开发体验和组件定义自动化推导也许是革命性的——可能真的比现有方案好十倍,至少值得尝试。
其次,这是一个相当有技术挑战的问题:
此外,这个项目也可以让我开始思考一些深刻的问题:
好了,老实讲,上面这些其实都只是“nice to have”的东西,并不能迫使我起身去做这件事。
到头来,可能只是为了纪念我10年的MC经历吧,更是为了兑现我十年前看刀剑吹过的牛逼,结结实实地过一把当创世神的瘾。
令人感慨,十年前那个半夜不睡,面对java异常只能二分查找删插件的中二少年,居然走了这么远。
首先,深深地感谢我的环境和我的导师,能让我有时间,完成这个与本职工作无关的挑战。
其次,感谢我的入宅作《刀剑神域》。如果没有这个让我无论怎么样都要发点东西的DDL,我压根不会坚持到这里。这个项目也只会变成我无数个设想过,但最终放弃了的项目之一。
感谢Minecraft,让我在童年和少年时期留下了无数美好的回忆,成为了我进入编程领域和计算机科学的阶梯,也让我结识了许多优sha秀diao的网友们。
感谢Nukkit项目和PowerNukkit项目的所有开发者。诚然,Nukkit项目的代码质量让人汗颜,但如果 没有他们筚路蓝缕,从零到一,以及数年如一日地维护协议库。这整个项目都将无从谈起。
最后,祝福PowerNukkitX项目的开发者们,这貌似是Nukkit系服务端中最为活跃的一个分支。那里聚集着一批相当年少有为的开发者,祝他们好运!(你跟我说,这TM是大一新生的手笔?)
如果我没搞砸的话,刀剑开服的时间就是本文发表的时间。有空去的诸位,要见着桐老爷一家,请务必替我祝他们玩的开心!
我还有正事要做,就先走了!
ARGUS
平台软件工程师
johnbanq