KeyFC欢迎致辞,点击播放
资源、介绍、历史、Q群等新人必读
KeyFC 社区总索引
如果你找到这个笔记本,请把它邮寄给我们的回忆
KeyFC 漂流瓶传递活动 Since 2011
 

吉里吉里2引擎简单教程1,初步的游戏制作篇

[ 40736 查看 / 28 回复 ]

吉里吉里2/KAG3制作说明

介绍:
吉里吉里2/KAG3是由日本W.Dee氏编写的ADV游戏(也就是通常意义上的AVG)制作引擎,拥有极为强大的功能。性能超过现在国内比较常见的高桥直树的Nscripter引擎和恋爱模拟制作大师系列,拥有众多强大的功能以及良好的编写方式,虽然难度相对较高,但是也比较容易上手。此外,扩展性极强,可以自行制作插件。目前为止,日本已有多款游戏采用吉里吉里2制作,包括TYPE-MOON的FATE,以及多个同人游戏(类型包含AVG,SLG等等)。
KEY FANS CLUB已经取得作者W.Dee氏的授权,进行吉里吉里2的中文汉化以及推广,同时用吉里吉里2制作了几款游戏(如AIR KFC AVG,CLANNAD~KFC千日特典版等)。我们希望能让更多喜欢游戏,希望制作游戏的朋友接触到这款优秀的引擎。


KFC汉化内核2.18简体中文版及相关汉化补丁下载:
(新上传了2.24版)
mail.126.com
账户:krkrkfc
密码:krkrsc


基础功能说明:
1.准备
现在先介绍一下游戏的文件夹构成,首先把KAG3目录中的template文件夹拷贝到kirikiri2目录下。同时把system文件夹中的config.~new改名为config.tjs。
bgimage:背景图像文件(后)
bgm:音乐文件
fgimage:前景图像文件(如人物等等)
image:CG图像文件
other:其它文件
rule:场景转换图像文件
scenario:剧本文件
sound:音效或语音文件
system:系统设置文件
video:视频文件或FALSH动画

注:虽然吉里吉里2中的各个文件可以不放在固定的目录中,但为了方便起见仍然推荐如此做

图像支持:
BMP
JPG
PNG
ERI
TLG5(krkr2.24以前)
TLG6(krkr2.24新版追加)

注:推荐使用吉里吉里2的工具转换的TLG5/TLG6格式,BMP格式过大,而PNG则读取速度较长,且和系统的PNG文件混淆,不利于分类文件压缩。
方法:Tools/krkrtpc.exe
打开后选好非透明和透明的转换格式,直接把图片拖放进去就行了。


音乐支持:
WAVE(无压缩)
MIDI
CD-DA
OGG

注:如果不追求音质的话,推荐使用OGG(可以使用FOOBAR转换)


视频支持:
MPEG-1(.mpeg/.mpg)
SWF(FLASH动画)

注:不推荐用MPEG-2,可能因为某些硬件不支持而无法播放。
    同样不推荐使用SWF,吉里吉里2无法直接进行控制。


UNICODE支持:
支持UNICODE,可以随意使用想用的语言。


图像构成:
完整的吉里吉里2的游戏画面按顺序包括:背景图层,前景图层,文字层(基础),文字层


2.输入
a.文字显示
用文字工具(如记事本等等)打开scenario中的first.ks(这个文件不可改名),即可开始进行编写。编写过程都以离子进行说明。
事先说明,吉里吉里2的所有代码的输入方式:
[代码内容]
@代码内容

注释符:
;在这个符号的同一行后无论输入什么内容,都不会被当作代码或者显示

段落/章节标示:
*:代表某一个段落/章节的起始点,包括分歧选项,剧情跳跃,进度保存,读取等等都离不开这个,所以在设定时请千万注意。

这是吉里吉里2的标准格式,请一定记牢。


打开first.ks文件,内容如下:
[wait time=200]
*start|スタート
[cm]
こんにちは。[l][r]
ごきげんよろしゅう。[l][r]
改ページしますよ。[p]

cm:清除全部的文字层的内容(也就是说,画面上一切文字输入的内容会全部消失)

l:文末等待鼠标/键盘点击,进行文字换行,有l出现的话,则说明必须按鼠标或键盘才能让文本内容进行下去。

r:文字内容改行,新的文字会在第二行出现。

p:作用类似l,但是点击后文字不会换行,而是继续在同一行持续下去。

以上是文字输入的基本功能,熟练的掌握这些,就可以很方便的进行文本输入。



b.背景显示
由于吉里吉里2的默认画面是640x480,所以先以此举例,至于如何修改后面会说明。
[image storage="bg0" page=fore layer=base]
这个就是背景的基本输入方法,虽然也可以用来显示CG,但是后面也推荐用别的方法来。

代码说明:
image:显示图片的代码,只有这个是行头代码,后面的全部都是参数,所以不要搞混。
storage(不可省略):图片路径,用来表示图片的名称,前后要用引号。
page(可省略,如省略则默认为fore):标准输入为:fore/back。表示表层或者里层,如果不加场景转换特效的话,一定要fore,否则图片是不会显示出来的。
layer(不可省略):标准输入为:base/0以上的整数。如果为base则被认定为背景,如果是0以上的整数,则会被认定为相应的前景。




c.前景显示
前景一般是用来显示人物图片的,所以这里面会涉及到背景透明色的问题。如果大家有看过一些游戏的素材的话,会发现很多人物素材的背景是全黑或者绿色等等,这个就是用来作为透明色的部分,吉里吉里2同样支持透明色,在修改图片时请把作为透明的部分统一用一种颜色来填充,作为背景透明色。显示为:XXXXXX,如果用PhotoShop或其他图片工具时,会很方便的找到这些颜色的代码。吉里吉里2同样支持mask(Nscr引擎的图片格式)。
以下是前景的基本输入法:
[image layer=0 page=fore storage="as" visible=true key=0xff00ff left=340 top=100]

代码说明:
image:图片显示代码
layer(不可省略):层次参数。基本输入为0以上的整数。一般输入为0/1/2,默认设置中前景最大为2(3个)。
storage(不可省略):图片路径,用来表示图片的名称,前后要用引号。
page(可省略,如省略则默认为fore):标准输入为:fore/back。表示表层或者里层,如果不加场景转换特效的话,一定要fore,否则图片是不会显示出来的。
visible(可省略):基本输出为:true/false。true表示显示次图层,flase则相反。
key(可省略,如省略则不进行透明处理):透明色制定,基本输入为:0x000000/adapt。如果已经决定好透明色,请指定为更换000000为透明色。adapt则是让程序自己寻找图片中使用最多的颜色作为透明色。
left(可省略):图片的左方位置指定,所有图片都是以左上方(坐标:0,0)为基础点。
top(可省略):图片的上方位置指定。


mask说明:
如果使用mask,请把mask文件名保存为原图片_m,文件扩展名同原图文件,色彩指定为:256色灰度。
原图人物部分为白色,透明背景指定为黑色。
如果使用mask,则代码输入的key参数去掉,举例如下:
原图:人物.png
上传文件4647

mask:人物_m.png
上传文件4648


[image layer=0 page=fore storage="人物" visible=true left=340 top=100]




d.音乐播放
吉里吉里2所支持的格式全部可以播放,但请注意WAVE一定是没有经过压缩
如采用ogg播放则务必将wuvorbis.dll文件放置在krkr.exe同一目录中,并在first.ks最开始输入@loadplugin module=wuvorbis.dll,启动ogg支持

基本代码:
[playbgm storage="bgm01"]
[stopbgm]

代码说明:
playbgm:音乐播放代码
storage(不可省略):音乐文件路径,用来表示音乐文件的名称,前后要用引号。

stopbgm:停止音乐播放的代码。




e.音效播放
音效播放的全部注意同音乐播放部分

基本代码:
[playse storage="se1.wav"][ws]
[stopse]

代码说明:
playse:音效播放代码
storage(不可省略):音效文件路径,用来表示音效文件的名称。
stopse:停止音效播放的代码

ws:等待音效播放完毕的代码




f.转换效果
经常会在游戏中看到图片之间转换时的淡如淡出,卷帘,百叶窗等等效果,吉里吉里2中通过转换效果实现。

基本代码:
[backlay]
[image storage="bg1" layer=base page=back]
[trans method=crossfade time=1500]
[wt]

代码说明:
backlay:图层由表向里复制代码。基本输入为:basr/0以上的整数。base为背景,0以上的整数则为前景。
trans:转换效果代码。
method(不可省略):转换的类型参数。基本输入为:universal/crossfade/scroll。由于功能不同,所以分别举例。
time(不可省略):转换的过程时间。
wt:转换效果停止。

[trans method=crossfade time=1500]
cross为淡入淡出效果。指定time即可。

[trans method=universal rule="rule1" vague=1 time=1500]
universal为外部图片使用,需要制定转换效果的图片。,须指定time,rule(转换效果的图片),vague
vague(不可省略):指定为0以上整数即可,表示领域值。
rule(不可省略):图片路径,用来表示图片的名称,前后要用引号。

[trans method=scroll from=right stay=false time=1500]
scroll:卷动效果。需要指定from,stay,time三个参数。
from(不可省略):基本输入为:left/right/top/bottom。分别为效果的起始位置:左,右,上,下。
stay(不可省略):表里层转换。基本输入为:stayfore/stayback/nostay。stayfore为外部开始卷动,stayback为内部开始卷动,nostay为两图一同卷动。




g.分歧选项
用于游戏中进行选择的场合,包括设置,剧情分歧,选择等等都会用到。指定进行跳跃的部分前一定要用*部分制定,具体如例。

基本代码:
[cm]
[link target=*select1]選択肢1[endlink][r]
[link target=*select2]選択肢2[endlink][r]
[link target=*select3]選択肢3[endlink][r]
[s]

*select1
[cm]
選択肢1が選択されました。[l]
[s]

*select2
[cm]
選択肢2が選択されました。[l]
[s]

*select3
[cm]
選択肢3が選択されました。[l]
[s]

代码说明:
link:选择效果代码。
target:跳跃的目的地。
endlink:结束跳跃。
s:文本停止。表示文本内容的一部分到此结束。

如果要跳跃的目的在其他的ks文件中,则需要加入storage="xxx.ks"参数,进行文件指定。





h.保存/读取
最常用的游戏进度保存/读取,很遗憾,吉里吉里2不支持随时保存的功能,所有的存储点都需要自己指定。

基本代码:
*label2|セーブ場所2
[cm]
ここはセーブ場所2[l][r]

*label3|セーブ場所3
[cm]
ここはセーブ場所3[l][r]

代码说明:
*:保存点的标记。
|:分隔符后面的内容是保存点说明。
*s1|第一天
保存后会看到说明显示:第一天。




i.游戏发布
先说明一个简单的方法,即压缩到一个exe文件中。
使用Releaser.exe,开启后直接指定游戏的制作目录,然后选择.exe方式压缩
指定好输出位置后确定即可。




j.config设置。
游戏许多的相关设置都在config.tjs中,打开修改即可。由于文件是日文jis码,所以先用南极星或IE等把全部内容改为可正常显示即可。

一些常用修改:

// ◆ タイトル(游戏标题)
// ウィンドウのキャプション(タイトル)および
// タスクバーに表示されるものです。
;System.title = "吉里吉里2(游戏标题,可随意修改)";



// ◆ 画面サイズ(游戏画面)
// scWidth に画面の幅、scHeight に画面の高さをピクセル単位で指定します。
// 標準的に使われている 640x480 や 800x600 のような画面サイズではないサイズ
// に設定すると、フルスクリーンにできない場合があります。
;scWidth = 640;
;scHeight = 480;



// ◆ 左右上下マージン(文字层的文字显示位置)
// マージン (余白) を pixel 単位で指定します。メッセージ枠用の画像を指定し
// た場合は、メッセージ枠の表示範囲内に設定する必要があります。
// これらは、position タグの marginl, maringt, marginr, marginb 属性に対応
// します。
;marginL = 4; // 左
;marginT = 4; // 上
;marginR = 4; // 右
;marginB = 4; // 下



// ◆ 初期位置(文字层的初期位置)
// これらは、position タグのそれぞれ left top width height の属性に対応しま
// す。
;ml = 0;  // 左端位置
;mt = 0;  // 上端位置
;mw = 640-0;  // 宽度
;mh = 480-0;  // 高度



// ◆ BGM再生メディア(音乐类型)
// type 変数に設定する文字列で、使用するサウンドバッファを決めることができ
// ます。
// "Wave"  : WaveSoundBuffer ( wav等(プラグインで再生できる物も含む) )
// "MIDI"  : MIDISoundBuffer ( mid,smf )
// "CDDA"  : CDDASoundBuffer ( cda )
;type = "Wave";
分享 转发
TOP

回复:吉里吉里2引擎简单教程1,初步的游戏制作篇

沙发>_<


做起来貌似不是一般麻烦啊……我还是享受大家的劳动成果算了=_=|||
http://www.nekodays.net
TOP

回复:吉里吉里2引擎简单教程1,初步的游戏制作篇

@ @
我的眼睛已经彻底晕了///
不过ADV的制作基本原理也明白了-v-bb
=.=物事人非...

于是光阴似箭,岁月如歌(殴
TOP

回复:吉里吉里2引擎简单教程1,初步的游戏制作篇

真真最高!!!

PS:AVG的引擎……都是这样的……
AJI,舰狗
TOP

回复:吉里吉里2引擎简单教程1,初步的游戏制作篇

阿...
前些时候看到繰人形2就是用吉里吉里...
MISSING IN ACTION
TOP

回复:吉里吉里2引擎简单教程1,初步的游戏制作篇

有本VC++编AVG的书,有中文版的……原理讲解得更清楚……

但是估计没几个人真去写套引擎吧……
TOP

回复:吉里吉里2引擎简单教程1,初步的游戏制作篇

把这篇文章保存起来..以后慢慢研究..-_-"
TOP

回复:吉里吉里2引擎简单教程1,初步的游戏制作篇

以下引用Fantastical在2005-6-14 23:17:11的发言:
有本VC++编AVG的书,有中文版的……原理讲解得更清楚……

但是估计没几个人真去写套引擎吧……

写引擎极其麻烦(我只是想写一个小的编辑器就累得够呛,现在遇到很多问题写不下去了),但是一旦写出好的引擎,以后编游戏就省事了,所谓磨刀不误砍柴功,何况这是一把永远不会钝的刀。

这套引擎的确是好东西,只是我还有一点疑问:利用mask是一种很“古老”的图像输出技巧,可是PNG支持32位图像格式,可以设置像素透明度,总觉得就用不着mask了。
KCDDP KR/KAG区值班室常驻义务值班员

现在在KCDDP的论坛也已经开始潜水了Orz
但是QQ群还是长期在线的
TOP

回复:吉里吉里2引擎简单教程1,初步的游戏制作篇

mask有着速度上的绝对优势

AVG引擎方面,直接用到PNG的透明特性似乎不是很多。而且人物的话,mask不是很麻烦的事

另外引擎是支持指定透明色的不要忘了,就是说没有mask也可以……但是mask还是最快呀……
AJI,舰狗
TOP

回复:吉里吉里2引擎简单教程1,初步的游戏制作篇


期盼已久的东西...终于出来了! 感谢女神大人! 大感谢!!! ^O^

这就回去按教程好好研究研究,希望也能制作出像 CLANNAD KFC1000 Day Edition 一样的强作出来! ^O^

另外强烈支持与期待krkr2中文汉化版的发布!

最后还是要大感谢女神大人,女神样辛苦了!
皆さん、さようなら.....
TOP