铁血丹心

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

[其他] 关于lua复刻版可移植性问题及下个版本预告

[复制链接]
发表于 2009-5-14 22:03 | 显示全部楼层 |阅读模式

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

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

x
有人发邮件问我关于lua复刻版是否可以移植到其他平台的问题。在这里也顺便说明一下:

实际上,当时lua版发布的时候就考虑过能否提高可移植性。毕竟lua是完全跨平台的。但是当时vc的代码是使用directx实现的,因此不能跨平台。现在为了提高可移植性,我正在把vc代码用SDL重新编写。这个工作估计月底能够完成。完成以后会连源代码一起发布。新的代码完全基于标准C,SDL和Lua,因此理论上具有完全的跨平台可移植性。

如果大家想要移植到其他平台的话,在我的新版本发布之前,可以先尝试在需要的平台上编译运行SDL和Lua,编写几个小程序测试一下。如果能够成功运行的话,移植起来应该比较简单。

另外,对于Lua来说,由于其使用双精度,因此在没有浮点运算器的平台上,速度会很慢。因此需要修改lua的头文件,用long型替代double,重新编译lua。

[发帖际遇]: 游泳的鱼遭遇四大恶人,狼狈逃窜,丢失银两1.
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2009-5-14 22:08 | 显示全部楼层

回复 总舵主 的帖子

又见游泳的鱼大大。虽然对技术不是太懂,但还是期待新版本
[发帖际遇]: 晴空飞雪给云中鹤擦背,得到奖赏银两4。


[ 本帖最后由 晴空飞雪 于 2009-5-14 22:14 编辑 ]
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2009-5-14 22:24 | 显示全部楼层
Lua中原版指令转lua指令时候BUG太多了。。。。
鱼你终于出来了。。请教下结局动画的结构- -~

[发帖际遇]: 黄顺坤暑假期间在洛阳绿竹巷参加《任盈盈琴箫兴趣班》,学习初级课程,报名费银两29。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2009-5-14 22:36 | 显示全部楼层
原帖由 黄顺坤 于 2009-5-14 22:24 发表
Lua中原版指令转lua指令时候BUG太多了。。。。
鱼你终于出来了。。请教下结局动画的结构- -~

[发帖际遇]: 黄顺坤暑假期间在洛阳绿竹巷参加《任盈盈琴箫兴趣班》,学习初级课程,报名费银两29。


结局动画?是否指kend.idx/grp?idx记录每帧动画的位置,相应的grp是320*200个字节。表示一幅320*200*256色的图片。好像潮流的修改器可以查看结局动画。

lua原版转化时都有些什么bug?可以发email给我看看。不过lua程序设计的目的就是以后直接用lua写事件。因此比如50指令等都没有支持。等这个程序做完后看看有没有时间也把几个版本移植到lua复刻版试试。

[发帖际遇]: 游泳的鱼去青海旅游,遇到雪崩,损失银两300。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2009-5-15 07:36 | 显示全部楼层
原帖由 游泳的鱼 于 2009-5-14 22:36 发表


结局动画?是否指kend.idx/grp?idx记录每帧动画的位置,相应的grp是320*200个字节。表示一幅320*200*256色的图片。好像潮流的修改器可以查看结局动画。

lua原版转化时都有些什么bug?可以发email给我看看。不 ...

BUG是在对话中出现的,我记得
oldtalk[4]="哦?就是人称"雪山飞狐"的胡斐吗?";苍龙第四句话
因为句子里面不能有半角的引号,而大多数MOD里面都是用半角的,所以会出现错误
解决办法是改成“”或者干脆没有
oldtalk[4]="哦?就是人称雪山飞狐的胡斐吗?";


==============
e-mail是啥东西- -。。。。好久不用了。。(╯﹏╰)b

[发帖际遇]: 黄顺坤挺身而出,阻止萧峰打“段正淳”,阻止成功,但因自己负伤而开销医药费,花去银两7.
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2009-5-15 08:25 | 显示全部楼层
那到时可移值的版本也可以修改武功,地图。。等等之类的,好期待!!

[发帖际遇]: ghost100挺身而出,阻止萧峰打“段正淳”,成功挽救阿朱,得到奖励银两4.
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2009-5-25 16:48 | 显示全部楼层
我在wm平台上做了初步的移植工作,实现了lua复刻版需要的api,目前除战斗外基本可用,基于此,给鱼兄台提几个建议:

1、最好把计算量大的工作转移到c里面,否则的话你的工作还是白做,lua无论用浮点还是用整数都无法满足你的lua版金庸的需要,而且一旦lua用了整数,那么类似exp*1.25之类的计算全部要重新调整了,我把大小地图的行走从lua提取到了c里面,现在在我的机器 多普达699 420MHZ+128M 上可以流畅运行。

2、对于手机平台来说,内存很珍贵,鱼兄的lua版金庸所占内存还是太大了,在wm平台上
一个应用程序可用的内存大概只能用20M左右

刚才把战斗地图搞通了,但是战斗还不行
强烈建议鱼兄把操作转移到c里面,包括数据的读写等
那几个个byte的扩展真的是没有必要,我觉得lua用来写一些逻辑比如怎么加血,走到哪里做什么之类的就足够了,
至于怎样行走,怎样做之类的,放在c里面就好了,过度的扩展使用lua真的不可行。

我修改的代码在这里
http://bbs.pdafans.com/thread-740626-1-1.html

[ 本帖最后由 辟邪 于 2009-5-25 23:37 编辑 ]
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2009-5-31 13:08 | 显示全部楼层
PPC版搞的怎样了?
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2009-6-1 21:39 | 显示全部楼层
原帖由 悠悠鱼儿 于 2009-5-31 13:08 发表
PPC版搞的怎样了?

搞的怎样了?

[发帖际遇]: ghost100在老顽童处骗取《养蜂秘法》,翻印成《如何饲养文化型蜜蜂》出版后获利银两12.
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2009-6-2 08:01 | 显示全部楼层
原帖由 辟邪 于 2009-5-25 16:48 发表
我在wm平台上做了初步的移植工作,实现了lua复刻版需要的api,目前除战斗外基本可用,基于此,给鱼兄台提几个建议:

1、最好把计算量大的工作转移到c里面,否则的话你的工作还是白做,lua无论用浮点还是用整数都无 ...

我没接触过LUA 没看懂
如果代码移到C里可以提高效率 为什么不全部用C写呢?
既然C和LUA都可以移植到不同平台……

[发帖际遇]: abcsft偷拍五岳并派大会内幕,登上铁血晚报头条,刷新当晚销量,得到银两21。

原帖由 悠悠鱼儿 于 2009-5-31 13:08 发表
PPC版搞的怎样了?

您说的 PPC 指的是运行Windows Mobile的手机吗?
如果是的可以试试我这个“手机java复刻版” WM好像都支持Java游戏吧?
http://www.txdx.net/thread-421180-1-1.html
不过暂时只有各个地图的行走 还没有任何事件处理和战斗等 可以试试兼容性等

[ 本帖最后由 abcsft 于 2009-6-2 08:09 编辑 ]
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2009-6-6 23:55 | 显示全部楼层
嗯!跳票了,汗颜。
通报一下进度吧!

现在已经成型,目前正在做内存和速度方面的优测化试。估计下周末能够放出。
主要修改的地方:
1. C语言用SDL实现(包括SDL,SDL_mixer--播放midi和mp3, SDL_image--加载png,jpg, SDL_ttf--显示文字, smpeg--播放mpeg)。实现了平台的独立性,并在fedora 10下编译运行通过。至于其他移动平台,由于没有设备,无法尝试。大家以后可以尝试。不过很是疑惑,这些SDL库能否都支持手机、psp等移动平台?如果不支持的话,C源代码针对目标平台进行修改。

2. 显示速度进行了优化,显示场景和战斗地图在C中完成。目前在P4 2.0G机器上640×480×32位分辨率下CPU占用不超过30%,16位下不超过20%。

3. 自动战斗的lua代码进行优化。速度大幅提高。在一台古董奔腾133机器(旧机器不扔掉有时候还是有用的,32M内存,勉强装了个98居然还能用)上可以320*240*16位下运行,没有停顿的感觉,cpu占用不到100%。

4. 分辨率可以自定义。但是最低不能低于320×240。目前对两种模式320*240和640×480进行显示调整美化。其他分辨率至少可以正常显示。

5. 为适应小内存设备,对内存占用进行了优化,现在一般在23M左右,进一步优化估计能在20M以内。(可以和原版一样,部分读取文件来减少内存占用,这个可以做成可选配置项)

6. 增加了播放mpeg1的功能。可以用来播放开场和片尾动画。不过效果,凑合看就行了。主要是SDL没有好的缩放算法。屏幕大了很不好看。
附上一个自己转为mpg的原版开场动画:http://pickup.mofile.com/5388042116014708

对于楼上的为何不全部用C的问题。这个主要是为了修改方便,程序主体放在lua中可以方便修改程序结构,毕竟很多做MOD的人有自己的想法,但是不是每个人都会用C的。而且修改后还要搭建环境,重新编译,如果是移动设备,那就更加麻烦了。而且把耗时的显示操作移到C后,速度已经大为提高了。lua基本上不再是速度的瓶颈。

当然,编写lua代码也要注意提高算法效率。我以前编的自动战斗函数效率就很低,在古董机上一运行就原形毕露了。

[发帖际遇]: 游泳的鱼跟踪成昆进入明教密道,结果:修炼成功乾坤大挪移,增加银两17.
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2009-6-7 00:10 | 显示全部楼层
哇 是不是以后可以在PSP上玩了?
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2009-6-7 12:53 | 显示全部楼层
支持下,目前我也在搞PPC版,也是用基于的SDL,希望多多赐教,目前实现地图显示行走、进度读取、物品显示、部分事件等
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2009-6-10 13:40 | 显示全部楼层
继仙剑之后,金庸也要向其他平台进军了!
可惜没有大侠能编译个E680i手机版本的仙剑或者金庸,唉……linux平台算是没落了。

[发帖际遇]: lj407帮周威信押镖,结果:偷得鸳鸯刀,转手卖得银两39。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。

本版积分规则

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

GMT+8, 2024-12-23 13:21

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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