铁血丹心

 找回密码
 我要成为铁血侠客
搜索
查看: 6645|回复: 4

[其他] 金庸群侠传的几个复刻版本简介

[复制链接]
发表于 2018-6-11 16:45 | 显示全部楼层 |阅读模式

马上注册,结交更多侠友!

您需要 登录 才可以下载或查看,没有账号?我要成为铁血侠客

x
应一个玩家的要求而写的。

《金庸群侠传》有好几个复刻版本,实际上比较重要的有四个,按时间顺序排是这样的:

pascal版

https://tiexuedanxin.net/thread-401655-1-1.html
v2-80b1c6354fb454a4603ae28abb45cbb1_1440w.png

实际发布的时间比上面标记得早,如果想看发布时的一些记录还有:

https://tiexuedanxin.net/thread-397974-1-1.html
https://tiexuedanxin.net/thread-398290-1-1.html

这是完全重写的版本,一开始用Delphi+SDL,后来改用Free Pascal(Lazarus)+SDL,并移植到Mac和Android。执行效率很高。
这个版本的设计目的是使用新的技术,包括高清字体、真彩色图片、更多音乐格式等。是第一个设计之初就考虑了后续制作的复刻版。这个版本在发布几个月后宣布开源,一开始在google code发布,后来转到github,现已不再更新。
https://github.com/scarsty/kys-pascal
曾持续更新了一段较长的时间,后期从重现游戏的角度看接近完美,甚至连50指令(早期直接在DOS版的exe文件上手写部分汇编的扩展)也完全重现了,因此众多的基于DOS的MOD(如笑梦游记、再破菠萝等)只有这个版本能正确运行。但是部分代码混乱,所有逻辑杂在一起。该版本后来衍生出众多MOD,比较重要的是前传、金庸水浒传、人在江湖这三个。其他的几个还有一些 。其中金庸水浒传后来又更新了一段时间,引入了很多新技术,画面更好,代码更加混乱。

2.png

衍生版还包括一个java版和一个网页版,为同一人制作。
https://tiexuedanxin.net/thread-433256-1-2.html
https://tiexuedanxin.net/thread-1035937-1-2.html

c+lua版,游泳的鱼制作

https://tiexuedanxin.net/thread-413121-1-2.html

这个版本的设计思路是全盘脚本化,尽量少使用编译类型语言,在当时来看思路比较超前。也正因此效率也一直差一些。

c部分只进行一些初始化和提供事件响应和绘图功能,大部分逻辑在lua中。执行效率尚可,稍不注意就会变得很低下,毕竟指不上编译器了。
绘图的部分一开始用了DirectX,因为效率问题改为了SDL。

该版本移植和修改比较方便,如果仅修改逻辑基本只要一个文本编辑器。但是因为作者本身的疏忽,存在一些匪夷所思的设计错误,例如PNG格式的资源图不能设置偏移,糊弄用到现在也没人改了。

屏幕截图 2025-06-25 203940.png

相比pascal版,界面的设计比较复古。

屏幕截图 2025-06-25 204152.png

在后续的发展中,因为不同的作者加入,代码结构愈加混乱。前期用于移植部分早期的MOD,因为c的移植性好一点,但是并没有流行起来,因为执行效率在当时的移动设备上是硬伤。

曾经有开发者试图增加50指令以支持一些DOS下比较复杂的MOD,因为效率和错误过多放弃了。

后期主要是用于剧情基于《苍龙逐日》的战斗类MOD的制作。因为改起来确实容易得多,还有几个人热衷于在手机上改代码。衍生版从半即时版开始,包括“苍炎”、“龙的传人”,以及现在还在更新的“金书”、“逐梦江湖行”等。

该版本有个将lua部分改写到c的版本,但是不太完善,仅在用于在较老的设备上移植。而且很可能就是下面提到的PPC版,目前估计没什么用了。

c部分其实写得相当混乱,但是比Pascal版还是稍好一点,主要是代码量的关系。逻辑上也有很多错误。我清理过一次,目前稍微好了一点。

现在一些新的技术也加了进来,例如完全真彩色、读取zip、数据库存档等。

c++版

https://tiexuedanxin.net/thread-1034211-1-1.html

2017年10月发布,github上的链接:
https://github.com/scarsty/kys-cpp

屏幕截图 2025-06-25 204444.png
3.png

参考了一些其他引擎重新设计,但是因资源所限,一些实现仍使用较早的方法。执行效率比较高,但是比不上pascal版。因为现在搞这个人已经很少,而已经在搞的人多数已经选用了上面的某个框架进行制作,故该框架使用的人并不多。

因为架构设计的问题,有一些功能的增加比较简单。目前还添加了全即时的战斗模式,甚至在计划一个伪3D的操作。

目前一些新的技术都是在这个版本实验,例如引入数据库,C++新特性(这个别的版本好像也搞不了),AI技术等。

有一个js衍生版,不过据作者说事件执行的思路不一致:
https://tiexuedanxin.net/thread-1039375-1-1.html

C#+Unity的3D版

https://github.com/jynew/jynew

汉家松鼠领衔制作。已经完成,在steam上可以找到,还有一些mod。

屏幕截图 2025-06-25 204853.png

3D版本,重制了大部分美术资源。部分逻辑参考了cpp版。

我个人觉得有些设计不是很好。比如默认视角和操作方式好像都没有细致调整过,此外疯狂的对接口进行xlua化我也不怎么支持。

这个版本的MOD比较难做了,主要是做3D模型的门槛比较高,当然改其他的部分并不是很难。

因此其上的MOD都是独立于其他版本的,没有任何一个旧版MOD能在其上运行。

---------------------------------分割线------------------------------

其他复刻版

以上提到的是比较主流的复刻版本,在论坛和github上还有一些不太主流的版本,通常是基于上面的其中一个制作的。也有部分mod号称重写了一遍。下面是我知道的一些版本:

VB+DirectX版,游泳的鱼制作

https://tiexuedanxin.net/thread-375658-1-1.html

执行效率很低,毕竟是VB。部分功能未完成,存在几个硬伤,最严重的是线型武学到10级时使用必定跳出。源代码未公开。除非用来考古,否则不建议使用。因为VB的问题现在连截图都做不到。

SDL版,tianua制作

https://tiexuedanxin.net/thread-375670-1-1.html

执行效率很高,远远高于原版,甚至是过快了。画面被柔化过。exe文件比原版还小。基本功能几乎一致,增加了一些特殊功能,例如查看武学、物品资料、攻击范围、人物头像附近显示血量等,其余功能请自己挖掘。最开始发布在轩辕春秋论坛,就是曹操传MOD的发源地,不过这个论坛目前基本完蛋了。因为基本功能几乎完全一致,甚至包含一些平常不易被注意到的细节,例如飘云、水面闪烁、人物在走动前的停顿等,个人开发很难首次发布就如此完美,所以推测可能是有DOS版源码,仅仅是做了简单的移植到SDL。而增加的功能很可能是游戏的开发组为了方便测试加进去的隐藏功能,只是在这里打开了。另一个证据是小小猪向他问过能不能提供源码,他回复说是因为版权问题不能提供。当然这些只是猜测,而且现在已经有更好的复刻版。
存在一些小错误,例如音乐错乱,估计是编号少加了1。
v2-57484980239d88b766738d0b6a056a83_1440w.png

上面这两个实际上出现得比pascal版还早,因为没有扩展性,都没有继续流行开。


C#+Unity的2D版

qige(曾是3D版的最大贡献者之一)个人制作的,目前只能在场景里像素级移动,希望他能做完吧。

C#+SDL版

kg早期参考pascal版制作的一个版本,因为速度太慢放弃了。应该还是当时C#的速度与编译类型的语言差距较大。

zgames版

zgames参考lua版修改的一个版本,基本完整。代码整理比lua的原版本规范很多,但是说真的没啥研究的必要。
https://gitee.com/zgames/jy-remake

屏幕截图 2025-06-25 205546.png

界面比较复古。

soarqin版

参考了c++版和pascal版的,代码的整理也比较规范。但是作者有意把界面做得很复古,其实也没有什么继续研究的必要。
https://tiexuedanxin.net/thread-1063597-1-1.html
https://github.com/soarqin/HeroesOfJinYong

屏幕截图 2025-06-25 205756.png

金庸群侠传A

应是一个专为Android开发的版本,剧情还是C++硬编码。
有成品版可以玩,不建议研究。

PPC版

传说是将lua版转为全C的版本。
能找到代码,无法在现代编译器中编译,不建议研究。

greener版

好像做了个开头。



---------------------------------分割线------------------------------

如何复刻一个老游戏


兴趣还是很重要的,资源需要有人破解并导出来(游泳的鱼等人),事件需要有人解读(令狐心情等人),这些都需要比较长的时间。当游戏的脉络摸清之后,可以自己设计如何运行游戏,完全可以有不同的设计。例如pascal和lua版的执行模式比较像,c++版则完全不同。熟悉框架,并且设计良好的话可以写的很快。部分公式可以猜测,或者干脆反汇编原版查看。

这些框架都是个人制作,比较不成熟,甚至我很少用“引擎”这个词来称呼它们。而且游戏本身是二十年前的,数据结构的设计也不好。
如果做一个类似《金庸群侠传》的游戏,可以从这里面选一个继续做。但是如果是新的设计,建议研究类似Unity或者虚幻之类的成熟引擎。

音频缺失

这是因为早期的SDL的音频插件SDL_Mixer存在切换时有概率崩溃的bug(最新的版本可能是已经修好了),当年作者没有能力调试SDL_Mixer,后来是通过将音频部分更换为BASS解决的。因为存在频繁崩溃,早期的Pascal复刻版是没有附带音频的,需要另外下载。Lua版也存在这个问题,但是通过增加了缓冲区减少了崩溃。实际上二者并无本质区别。

运行速度

早期版本运行速度可能是有偏快的问题。至于为什么现在还有人问则原因不明,建议下载新版。

等级和难度

Pascal版本默认的最大等级是60,因此比原版简单得多,但是可以通过修改ini文件来设定最大等级。不过我是没想到降低难度还有不满的。

原版的敌人应该是不能升级。









【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2018-6-13 14:19 | 显示全部楼层
突然发现bt巨的github上fork别人的一个都没有,全是自己的project,牛逼牛逼。。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2018-6-15 15:38 | 显示全部楼层
起初我還以為BT的github是鐵血的共用acc, 後來才發現全是個人之作= =||
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2018-6-19 14:01 | 显示全部楼层
没想到还有这么好的论坛能让大家聚在一起讨论金庸群侠传。这是属于我们那个年代的儿时记忆啊~
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2018-6-22 01:20 来自手机 | 显示全部楼层
还有几个人热衷于在手机上改代码
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。

本版积分规则

小黑屋|手机版|铁血丹心

GMT+8, 2025-7-6 20:44

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表