《素晴日》移植笔记

本文介绍了将Galgame《素晴日》从PC平台移植到移动端的过程,涉及到游戏引擎Onscripter的使用,以及资源压缩、脚本解析、声音处理、图片显示等关键步骤。通过这个过程,作者不仅学习了Perl、Python和Lua,还对汇编指令和Galgame引擎有了一定理解。
摘要由CSDN通过智能技术生成

写给学校动漫社社刊的移植笔记_(:з」∠)_

移植就是把在PC上玩的Galgame游戏脚本和资源文件进行拆解和处理,转换成移动端支持的格式的蛋疼工作。移植游戏里应用最广泛的引擎是Onscripter,此外还有pymoRen’Py等,这里的《素晴日》移植就是用Onscripter实现的。关于Galgame是什么,可参见这篇长微博http://ww1.sinaimg.cn/bmiddle/4e627219gw1ediuv1sdvfj20hsaze1ky.jpg(看了似乎更不明觉厉);移植是什么,还有移植贵圈真乱的破事,可参见http://tieba.baidu.com/p/2282820919,此处都不再赘述。此文目的是供观赏,让没有尝试过的同学知道有这么一回事,能供有兴趣的同学参考上当然再好不过了,因此本文尽力避免大段细节叙述而又希望做到言之有物。接下来就开始正题(xiache)了。

 

1. 前期工作

       前期工作包括确定游戏使用的引擎,解包资源,查找前人对这种引擎的破解工作等等。做好一个Galgame的移植需要知道哪些东西呢,游戏脚本语言?汇编?数据结构?不知道也完全没关系(我就是这样),边做边查找资料即可。实际上大学课程也一样,学到的也是一个索引,以便于具体要用时能知道需要查找那些东西。

       打开游戏目录,会看到一坨.arc文件,还有启动程序BGI.exe等。此Gal引擎名就是BGI,算是最常见的Galgame引擎之一了,有很多前人的工作和工具,善于利用可以少走很多弯路。在一无所知的情况下查找资料,就得善用搜索引擎,捕捉信息。搜索也是个技术活呢。

       澄空学园的Galgame汉化破解讨论区有较多的探讨,acgf上有移植引擎的教程。此外还有一些英文网站或博客,如asmodean.reverse.net有各种引擎的解包源代码,tlwiki.org上有一些Galgame脚本的反编译工具等等。

常用的解包工具有Cr

为什么要写这个库? 让初学者从 Turbo C 2.0(以下简称 TC) 或 Borland C++ 3.1 开始学编程是个不错的建议,只是 TC 的环境实在太老了,复制粘贴都很不方便。有一个 Win-TC,简单用了一下,实在是个害人的东西,还不如 TC 好呢,因为它简化了所有调试的部分(或许是我没看到?),而调试是写程序相当重要的一部分。 不少老师直接拿 VC6 来讲 C 语言的,因为 VC6 的编辑和调试环境都很优秀。只可惜在 VC6 下只能做一些文字性的练习题,想画条直线画个圆都很难,还要注册窗口类、建消息循环等等,初学者会受严重打击的。许多老师让学生在 TC 下绘图,因为这的确会让人有兴趣。 所以,我想给初学者一个更好的学习环境,就是 VC6 的平台 + TC 的绘图功能,于是就有了这个库。如果您刚开始学 C 语言,或者您是一位教 C 语言的老师,那么这个东西一定会让您兴奋的。 额外说明 这个库并不适合做产品,只建议用来入门学习。如果您想做简单的绘图产品,那么 SDL 库或许更适合您。或者,直接介入 DirectX 编程吧。 安装 下载的压缩包里除了说明,只有两个主要文件,将 graphics.lib 拷贝到 VC6 文件夹下的 Lib 文件夹内,将 graphics.h 拷贝到 Include 文件夹内,仅此而已,所以我就偷懒没有做安装程序了。 使用说明 目前只把我个人理解中的初学者常用的图形函数做了一下。如果您需要更多的,请发邮件告诉我:lujianfeiccie2011@163.com,或者到我的博客提出来:http://hi.csdn.net/lujianfeiccie2009,我来完善。 使用上,基本和 TC 没什么区别。看一个画圆的例子吧: #include // 就是需要引用这个图形库 #include void main() { initgraph(640, 480); // 这里和 TC 略有区别 circle(200, 200, 100); // 画圆,圆心(200, 200),半径 100 getch(); // 按任意键继续 closegraph(); // 关闭图形界面 } 呵呵,很简单吧。具体的请看函数列表,以及程序范例。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值