铁血丹心

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

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

[复制链接]
发表于 2018-6-11 16:45 | 显示全部楼层 |阅读模式
应一个玩家的要求而写的。

《金庸群侠传》有好几个复刻版本,按照时间来排有这么几个。

VB+DirectX版,游泳的鱼制作
https://dawuxia.net/thread-375658-1-1.html

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

SDL版,tianua制作
https://dawuxia.net/thread-375670-1-1.html

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


pascal版
https://www.dawuxia.net/thread-401655-1-1.html

实际发布的时间比上面标记得早,如果想看发布时的一些情况还有:
https://www.dawuxia.net/thread-397974-1-1.html
https://www.dawuxia.net/thread-398290-1-1.html
后来的版本都是基于SDL,不特意提了。
这是完全重写的版本,一开始用Delphi+SDL,后来改用Free Pascal(Lazarus)+SDL,并移植到Mac和Android。执行效率很高。是第一个设计之初就考虑了后续制作的复刻版。这个版本在发布几个月后宣布开源,一开始在google code发布,后来转到github,现已不再更新。
https://github.com/scarsty/kys-pascal
曾持续更新了一段较长的时间,后期从重现游戏的角度看接近完美,甚至连50指令(早期直接在DOS版的exe文件上手写部分汇编的扩展)也完全重现了。但是部分代码混乱,所有逻辑杂在一起。该版本后来衍生出众多MOD,例如前传、金庸水浒传、人在江湖以及其他的几个。其中金庸水浒传后来又更新了一段时间并公布源码,画面更好,代码更加混乱。
衍生版还包括一个java版和一个网页版,为同一人制作。
https://www.dawuxia.net/thread-433256-1-2.html
https://www.dawuxia.net/thread-1035937-1-2.html

c+lua版,游泳的鱼制作
https://www.dawuxia.net/thread-413121-1-2.html

c部分只进行一些初始化和提供事件响应和绘图功能,大部分逻辑在lua中。执行效率尚可,稍不注意就会变得很低下,毕竟指不上编译器了。该版本移植和修改比较方便,如果仅修改逻辑基本只要一个文本编辑器。但是因为作者本身的疏忽,存在一些匪夷所思的设计错误,例如PNG格式的资源图不能设置偏移,糊弄用到现在也没人改了。
在后续的发展中,因为不同的作者加入,代码结构愈加混乱。前期用于移植部分早期的MOD,因为c的移植性好一点,但是并没有流行起来,因为执行效率在当时的移动设备上是硬伤。后期主要是用于剧情基于《苍龙逐日》的战斗类MOD的制作,衍生版本众多,部分至今仍在更新,还有几个人热衷于在手机上改代码。该版本有个将lua部分改写到c的衍生版,但是不太完善,仅在用于在较老的设备上移植。

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

c++版
https://www.dawuxia.net/thread-413121-1-2.html

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

参考了一些其他引擎重新设计,执行效率比较高,但是比不上pascal版。因为现在搞这个人已经很少,而已经在搞的人多数已经选用了上面的某个框架进行制作,故该框架使用的人很少。
有一个js衍生版:
https://www.dawuxia.net/thread-1039375-1-1.html
虽说是参考了部分新的引擎,但是一些实现仍使用较早的方法。

C#+Unity3D

https://github.com/jynew/jynew

汉家松鼠领衔制作。

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

我个人觉得有些设计不是很好。



如何复刻一个老游戏


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

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


以下是一些补充

其他复刻版

以上提到的是比较主流的复刻版本,在论坛和github上还有一些不太主流的版本,通常是基于上面的其中一个制作的。传说很早的时候可能还有一个将lua部分全部翻译成c的版本,用于移动设备移植,后来应该是没有开源。也有部分mod号称重写了一遍。

音频缺失

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

运行速度

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

等级

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

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


本帖子中包含更多资源

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

x
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传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, 2024-4-30 01:42

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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