[登录]
[注册]
功能
索引
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)
[
6065
查看 /
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音乐专辑