[登录]
[注册]
功能
索引
KeyFansClub
»
- 特色讨论区 -
»
键社茶餐厅
»
[M] Prelude to K.O. (1)
- 活动宣传区 -
KEYFC第一屆TRPG活動
- 特色讨论区 -
键社茶餐厅
二维咖啡屋
日语角
土豆星
- 同人讨论区 -
综合同人区
声乐舞台
涂鸦画板
文学图书馆
- 主题讨论区 -
牡丹林
2021 Kinetic Novel Project
Summer Pockets
Harmonia
Charlotte & 神様になった日
Rewrite
Angel Beats!
Little Busters! & Kud Wafter
CLANNAD & Tomoyo After
AIR
KANON
Planetarian~星之梦
ONE~光辉的季节~ & 其他Key前系
NEKONEKO / STAGE NANA
Anemoi
- 站务讨论区 -
键社营业部
论坛事务内部讨论区
KeyFC欢迎致辞,点击播放
资源、介绍、历史、Q群等新人必读
KeyFC 社区总索引
如果你找到这个笔记本,请把它邮寄给我们的回忆
KeyFC 漂流瓶传递活动 Since 2011
[M] Prelude to K.O. (1)
[
5789
查看 /
3
回复 ]
返回列表
发送短消息
UID
223
帖子
3825
在线时间
106512
最后登录
2011-10-06
不告诉你 o(>_<)m
不告诉你 o(>_<)o
m(><)o
o(><)m
不告诉你 m(>_<)o
查看公共资料
搜索帖子
Prz
千砂与美纱的神隐
- 根性组 -
来自:国立万年小学校
人家是女孩子的说
生日:2003-06-01
注册: 2002-09-18
精华:15
学分:0 个
好人卡:40 张
好感度:550
[魔都]
Prz
2007-05-10 17:01
|
只看楼主
楼主
大小:
t
T
K.O. 是目前正在开发的“开放版本”汉化工具的代号 =v=
虽然目前进度连Alpha都算不上...但是还是先聊聊本工程采用的(迷之)编程架构,这样对源代码有兴趣的各位可以先有所了解,不会到时候找不到北... ^_^
--- K.O. 功能设定 ---
功能决定一切。首先就从功能说起吧。
整个工程大致期望达到的目的是: 对脚本文件中的文本进行本地化,然后再使其能够完整的在游戏中呈现出来。
前后两个部分关联比较弱,因此可以分割解决。
后面 (游戏呈现) 的部分因为功能较简单,目前已经基本完美解决。
能够实现自由选择各种语种的字体,以及将编码的文字转换到合适的代码页呈现出来;
窗口标题文字也被本地化;主角自定义名称也得到完美的支持。
实现上参考了英文化工具RLDev的部分源代码,因此也继承了它的一些优良品质:
1. 完全不需要修改游戏可执行文件 Reallive.exe
2. 支持各种版本的Reallive引擎,只需要更改配置文件;(兼容RLDev的配置文件)
但是,前面 (脚本汉化) 这一部分比较的复杂,因此目前还在实现中。
预期的功能为:
从原始脚本包开始,创建汉化工程,存放入单个数据库文件;
以"场景"(SEEN)为单位,自动提取所有文本,统一存放入数据库;
从数据库中按照场景取出原文,保存为文本文件供更改;
将文本文件中的文字作为翻译,导回数据库;
将数据库中的翻译文字引用到原始场景中,并且自动生成脚本包;
或者,也可以从别人处理过的脚本包开始,创建另一个汉化工程。
--- (迷之)编程架构 ---
因此整个汉化工具涉及到较多的功能,如脚本包的压缩解压,脚本的分析,数据库的操作,用户图形操作界面等,
我决定试用我历时N年(其实是N年未完成的 -v-),最近刚具有一定可用性的(迷之)编程架构 ....
(代号) Chobits Application Server (CAS) Architecture
浅显的讲,CAS就是一个非常模块化的程序:将一些功能单一的模块链接起来以实现一个复杂的功能。
但是区别于一般的"模块化"的是CAS采取的“链接”方式。
传统的模块化程序是将代码(或者方法,过程)通过静态或者动态的方法组合起来,然后予以执行,整个过程中传递于各个模块之间的是“执行体”(Control Transfer);
CAS则是赋予每个功能模块一个"执行体"(线程),使其能够独立响应功能请求。这样,在CAS下执行一个复杂任务时传递于各个模块之间的是"消息"(Message Passing)。
CAS架构有许多好处,其中最突出的就是很好的解决的模块之间的依赖性问题。
传统编程模式下,模块之间很容易出现依赖,对调试和维护都有严重的影响。(比如,更改一个模块的代码,导致另一个出现问题,改那一个又牵扯到其他的....)
特别是对于这种"业余"的工程,因为有的时候几个星期都不会碰,导致对旧的代码逐渐陌生,继续进度的难度加大。
有了消息传递机制和执行体的隔离,模块之间的依赖要弱得多,因此代码也更容易调试和维护。
CAS的另一个好处,就是提供了非常简单而且不易出错的多线程编程架构。
一般情况下,每一个CAS模块是由一个线程执行的,因此,模块内的代码可以按照单线程方式书写;
但是一个CAS程序,自然的就是一个多线程的程序,因此也能够利用硬件的并行执行能力。
也就是说,程序员可以(基本上)用写单线程程序的方法写出一个多线程的程序!
尽管这个工具本身不是一个很大的工程,但是因为它具有一定程度的复杂性,因此我决定利用它来对CAS的功能进行演示、试验以及调试。
------
在下一次的Prelude里面,我将着重介绍CAS的内部构造和编程接口 (自然语言,不会涉及到具体API)。
本主题由 管理员 深海蓝空 于 2007/5/13 13:28:46 执行 设置精华/取消 操作
分享
转发
飛べない翼に、意味はあるんでしょうか?
TOP
想要查看Key Sounds Label专辑的相关信息?请访问时间轴展示页面
发送短消息
UID
17793
帖子
120
在线时间
4306
最后登录
2010-10-22
查看公共资料
搜索帖子
dwing
- 千夏轮回的终点 -
来自:
性别:土豆
生日:
注册: 2007-03-08
精华:0
学分:0 个
好人卡:30 张
好感度:0
[帝都]
dwing
2007-05-10 17:18
|
只看该用户
2
#
大小:
t
T
回复:[M] Prelude to K.O. (1)
这架构...不如重新写个AVG引擎好了.
TOP
发送短消息
UID
223
帖子
3825
在线时间
106512
最后登录
2011-10-06
不告诉你 o(>_<)m
不告诉你 o(>_<)o
m(><)o
o(><)m
不告诉你 m(>_<)o
查看公共资料
搜索帖子
Prz
千砂与美纱的神隐
- 根性组 -
来自:国立万年小学校
人家是女孩子的说
生日:2003-06-01
注册: 2002-09-18
精华:15
学分:0 个
好人卡:40 张
好感度:550
[魔都]
Prz
2007-05-11 00:25
|
只看楼主
3
#
大小:
t
T
回复:[M] Prelude to K.O. (1)
楼上的正解啊,CAS就是为了这种中等规模的工程开发的。
但是,还是请改掉断章取义的老毛病。倒数第二句话说得很明白:这个程序对于程序开发者和对于一般使用者来说有截然不同的意义。
尽管这个工具本身不是一个很大的工程,但是因为它具有一定程度的复杂性,因此我决定利用它来对CAS的功能进行演示、试验以及调试。
飛べない翼に、意味はあるんでしょうか?
TOP
发送短消息
UID
17793
帖子
120
在线时间
4306
最后登录
2010-10-22
查看公共资料
搜索帖子
dwing
- 千夏轮回的终点 -
来自:
性别:土豆
生日:
注册: 2007-03-08
精华:0
学分:0 个
好人卡:30 张
好感度:0
[帝都]
dwing
2007-05-11 09:06
|
只看该用户
4
#
大小:
t
T
回复:[M] Prelude to K.O. (1)
WinNT的服务就像此架构,system和svchost进程都是数十个线程.
消息的结构,模块(线程)的同步,死锁的避免将是实现的难点.
TOP
返回列表
上一主题
|
下一主题
发新主题
- 活动宣传区 -
KEYFC第一屆TRPG活動
- 特色讨论区 -
键社茶餐厅
二维咖啡屋
日语角
土豆星
- 同人讨论区 -
综合同人区
声乐舞台
涂鸦画板
文学图书馆
- 主题讨论区 -
牡丹林
2021 Kinetic Novel Project
Summer Pockets
Harmonia
Charlotte & 神様になった日
Rewrite
Angel Beats!
Little Busters! & Kud Wafter
CLANNAD & Tomoyo After
AIR
KANON
Planetarian~星之梦
ONE~光辉的季节~ & 其他Key前系
NEKONEKO / STAGE NANA
Anemoi
- 站务讨论区 -
键社营业部
论坛事务内部讨论区
漂流瓶活动专区
牡丹林
帖子标题
空间日志
相册标题
作者
版块
我的资料
我的空间
KeyFC相册
KeyFC空间
帖子标签
在线列表
随心涂鸦
音乐播放
切换界面
简洁版本
土豆密文
与佛论禅
米菲剧场
GameBook
社区总索引
新人报道
Key社资源
KeyFC作品
时光倒流
昔日重现
Key人物生日
Key音乐专辑