CS2で試行錯誤
パーティクル(wind)
- 2008年6月 4日 01:41
- cs2
今回はwindを試してみました。
用意した画像(ファイル名:particle_test_img2.hg3)は下記です(緑部分は実際には透過されるので、下記の画像は半透明に薄い色がついていると思ってください)。![]()
【記述例】
particle 0 wind particle_test_img2 200 6000 30 50 90
【記述例の結果】
これはyoutubeでフルスクリーンにしてもよく分からないですね。
実機で見るとよく分かるのですが(画面の左から右に向かって画像が流れています)。
一応これもどういう風になっているかマニュアル片手に推測してみます。
先頭から6番目まではparticle/stopに、7番目以降はCS2フルセットの「game」→「ptcl」内のwind.txtに記述されています。
| コマンドやパラメータ | 記述例 | |
| 1. | パーティクルスクリプトを実行 | particle |
| 2. | パーティクルバンクNo(0~3) | 0 |
| 3. | パーティクルスクリプト | wind |
| 4. | パーティクルスクリプトで使用するテクスチャ | particle_test_img2 |
| 5. | パーティクル数 | 200 |
| 6. | 表示プライオリティ | 6000 |
| 7以降. パーティクルスクリプトに渡すパラメータ列 | ||
| 7 | スピードmin | 30 |
| 8 | スピードmax | 50 |
| 9 | 角度 | 90 |
よってこの場合は、「wind」というパーティクルスクリプトを使用し、使用するテキスチャは「particle_test_img2」、パーティクル数は「200」です。
そして最小スピードは「30」で、最高スピードは「50」となります(この値を大きくするほど流れるスピードが速くなります。その為、100位のスピードだと砂嵐風、10位のスピードだと風というより流れ星風といった印象を受けました)。
また角度は「45」にすると画面左上から右下に画像が流れます。ただし、画面の右上の方では何も反応がないみたいです。
角度が「90」の場合は、左から右に画像が流れます。
角度が「135」の場合は、左下から右上に画像が流れます。ただし、画面の右下の方では何も反応がないみたいです。
- Comments (Close): 0
- TrackBack (Close): 0
パーティクルスクリプト(poison)
- 2008年5月28日 01:34
- cs2
まずパーティクルとは「1枚の画像を様々な形で多数表示する演出です(雨や雪を降らせるなど)。」との事です(公式マニュアルより引用)。
その為、1枚画像を用意し、実際に試してみました。
用意した画像(ファイル名:particle_test_img.hg3)は下記です(見やすいよう画像の縁を黒くしていますが、実際に使用した画像の縁は透明です)。![]()
【記述例(今回はpoisonを使用)】
particle 0 poison particle_test_img 100 10000 512 300 1 3 101 5 10 5 10
【記述例の結果】
確かに毒っぽく見えますね。
これが1行の記述で動くというのはすごいですね。
とりあえずどういう風になっているかマニュアル片手に推測してみます。
先頭から6番目まではparticle/stopに、7番目以降はCS2フルセットの「game」→「ptcl」内のpoison.txtに記述されています。
| コマンドやパラメータ | 記述例 | |
| 1. | パーティクルスクリプトを実行 | particle |
| 2. | パーティクルバンクNo(0~3) | 0 |
| 3. | パーティクルスクリプト | poison |
| 4. | パーティクルスクリプトで使用するテクスチャ | particle_test_img |
| 5. | パーティクル数 | 100 |
| 6. | 表示プライオリティ | 10000 |
| 7以降. パーティクルスクリプトに渡すパラメータ列 | ||
| 7 | 開始X | 512 |
| 8 | 開始Y | 300 |
| 9 | 初速min | 1 |
| 10 | 初速max | 3 |
| 11 | 加速度 (%) | 101 |
| 12 | 揺らぎmin | 5 |
| 13 | 揺らぎmax | 10 |
| 14 | 揺らぎスピードmin | 5 |
| 15 | 揺らぎスピードmax | 10 |
よってこの場合は、「poison」というパーティクルスクリプトを使用し、使用するテキスチャは「particle_test_img」となります。
そしてパーティクル数は「100」の為、画像がたくさん表示されます(この値が小さいと表示される画像は少なくなります。ちなみにpoisonパーティクルスクリプトでこの値を140にした所、ゲームが落ちました。あまり大きな値にすると処理上問題があるのかも知れません)。
また開始のX座標は「512」で、開始Y座標は「300」の為、画面の中央付近から開始されます(ゲームのサイズが1024x600の為)。
他にもいろいろ属性はありますが、上記も含め数値を変更しながら、場面に合う値を見つけていけば良いのかなと思いました。
また、現在CS2フルセットにはサンプルとしてpoisonも含め、計14個のパーティクルスクリプトが付属している為、そちらもあわせて触ってみると良いと思います。
- Comments (Close): 0
- TrackBack (Close): 0
フェイスウィンドウをつけてみようとするも。
- 2008年5月25日 02:02
- cs2
ノベルで画面の左下に表情を表示するタイプをちらほらと見かけるので試してみました。
pl 1 pri 50001
cg 0 BA01_001 0 450 1
名前 「表情を表示します。」
なお上記のような記述をしているのは、普通に表情画像を表示するとプライオリティが低く、メッセージウィンドウの後ろに隠れてしまう為です。
その為、ウィンドウプレーンの表示プライオリティ(デフォルトでは50000になっていました)より、大きい値を指定しました。
また、表情画像用にプレーン1を使用しているのは、プレーン1をメッセージウィンドウより手前に表示する物専用とした為です。
ただ、システムボタンのウィンドウ消去アイコンをクリックすると下記のように表情の画像が消えない現象が出てしまいました(立ち絵と同じ方式で表示しているので当たり前といえば当たり前ですが)。
多分この状態を解消するには、「メッセージウィンドウ消去時、連動して非表示にする」というパラメータを使用し、cg 0 BA01_001 0 450 1 autohideという感じの記述が出来ると良いような気がします。
もっともマニュアルからはそういう感じのパラメータは見受けられませんでしたが。
それとCS2を採用している作品を見てみた所、フェイスウィンドウを採用したゲームは見つからなかったので、フェイスウィンドウ的なものは現状では難しいのかも知れません。
- Comments (Close): 0
- TrackBack (Close): 0
画像コンバータ(WGC.exe)でメッセージウィンドウ画像を変換
- 2008年5月18日 15:56
- cs2
CatSystem2 Tips!で公開されたメッセージレイヤのデータ変換方法と、ダウンロードで配布されているCS2サンプル画像素材の「画像素材」→「画面関係」フォルダ内の「@メッセージウィンドウ.psd」を参考に、メッセージウィンドウ画面を作ってみました。
【今回のメッセージウィンドウ画面で必要とした機能】
1. セーブ
2. ロード
3. クイックセーブ
4. クイックロード
5. バックログ
6. オート
7. 既読スキップ
8. ウィンドウ消去
※CS2コアセット(初期テンプレート)では「音声再生」「前の選択肢」「次の選択肢」ボタンがありますが、音声なし、選択肢なしのゲームなのでこれらのボタンは実装しませんでした。
変換方法などはCatSystem2 Tips!を参考にしました。
参考までに作成したメッセージウィンドウがどういう感じかキャプチャーしました。
システムボタンをマウスオーバーすると画像で作られたヘルプが表示されます。
なお画像はスクリプト担当の私が作ったものなので見栄えは良くないと思いますが、絵師さんが作れば綺麗なツールチップヒントが表示できると思います。
- Comments (Close): 0
- TrackBack (Close): 0
画像コンバータ(WGC.exe)でタイトル画像を変換
- 2008年5月18日 13:07
- cs2
CatSystem2 Tips!で公開されたメッセージレイヤのデータ変換方法と、ダウンロードで配布されているCS2サンプル画像素材の「画像素材」→「タイトル画面」フォルダ内のタイトル画面.psdを参考に、タイトル画面を作ってみました。
【今回のタイトル画面で必要とした機能】
1. スタート
2. ロード
3. 終了
※CS2フルセットのソースにはタイトル画面からおまけ(CGモードや音楽モード)に遷移する方法が記載されていますが、今回はそういう部分は作っていないので、上記3機能のみとします。
【PSDのレイヤー構造】
| レイヤーセット名 | レイヤー名 | 説明 |
|---|---|---|
| こちらが最上位レイヤーとなります。 | ||
| [title] ファイル名 | []で囲んだ中身が基本のファイル名となります。 (この場合はtitleが基本のファイル名です。) | |
| (200) ボタンアクティブ | アクティブ時のボタンをこのフォルダ内に格納するようです。 | |
| @(0)スト-リ-モ-ド | ||
| @(1)続きから | ||
| @(2)終了 | ||
| (100) ボタン通常 | 通常時のボタンをこのフォルダ内に格納するようです。 | |
| @(0)スト-リ-モ-ド | ||
| @(1)続きから | ||
| @(2)終了 | ||
| [title](0) | ||
| @(10) タイトル | ||
| @(0) 背景 | ||
| こちらが最下位レイヤーとなります。 | ||
【画像コンバータ(WGC.exe)の設定】
CatSystem2 Tips!に記載されているように、下記にチェックをつけました。
1. 先頭に @ が付いたレイヤをコンバート(psdのみ)
2. 出力画像を上下反転させる
上記の状態で保存し、コンバータを行うと、下記の1ファイルが生成されました。
1. title.hg3
これをSusieで閲覧した所、下記の8ファイルが閲覧できました。
1. 0000.bmp・・・タイトル画面の背景画像
2. 0010.bmp・・・タイトル画面のタイトル画像
3. 0100.bmp・・・通常時の開始ボタン
4. 0101.bmp・・・通常時のロードボタン
5. 0102.bmp・・・通常時の終了ボタン
6. 0200.bmp・・・アクティブ時の開始ボタン
7. 0201.bmp・・・アクティブ時のロードボタン
8. 0202.bmp・・・アクティブ時の終了ボタン
なおこのようなファイル名になる理由については画像コンバータの「レイヤー名とファイル名」を参照していただくと分かると思います。
cs2システムマニュアルのタイトル画面の説明だけ見ると敷居が高そうに見えますが、オーソドックスな機能を使うだけならば、psdを差し替える位でも形になりそうです。
- Comments (Close): 0
- TrackBack (Close): 0
ワイドで製作 その2
- 2008年5月17日 17:06
- cs2
CatSystem2 Tips!で画面とメッセージウィンドウのワイド化の説明が行われていますが、画面とメッセージウィンドウ以外のワイド化については説明がなされていなかったので、こちらで試した結果を記載します。
【セーブ、ロード画面】
・CatSystem2 Tips!に書かれている事を参考に、セーブ・ロード-ベース.psdを拡大しました。
・ただしこの状態でセーブ画面やロード画面に遷移しても、左上を基準として横800x縦600の範囲のみ画像が表示されるだけ(X800より右側は真っ黒)だったので、下記の修正も合わせて行いました。
before
pl 0,0 0,0 10000 0,640 800,600 1
fes\defobj.h
pl[0] 0,0 0,0 5000 0,0 800,600 0
pl[1] 0,0 0,0 6000 896,0 800,600 0
pl[2] 0,0 0,0 7000 0,640 800,600 0
fes\saveload.txt
bg_white 0xffffffff 800,600 1000 0 pl[1]
after
pl 0,0 0,0 10000 0,640 1024,600 1
fes\defobj.h
pl[0] 0,0 0,0 5000 0,0 1024,600 0
pl[1] 0,0 0,0 6000 1120,0 1024,600 0
pl[2] 0,0 0,0 7000 0,640 1024,600 0
fes\saveload.txt
bg_white 0xffffffff 1024,600 1000 0 pl[1]
- Comments (Close): 0
- TrackBack (Close): 0
行末クリック待ちについて
- 2008年5月11日 21:16
- cs2
エスケープシーケンスに記載されているように、 クリック待ちはメッセージの終端に行われるようです。
# ウィンドウ内のメッセージが改行して表示されるだけで、クリック待ちは通常どおりメッセージの終端です。
これを吉里吉里の[l] [r]のように、 文の終わり(「。」など)にクリック待ちをいれ、クリックすると改行するように出来ないかなと思い試してみました。
とりあえず下記のように記載すると想定した動作になりました。
#test
\@
wait key
1行目の末でクリック待ち。\@
1ページ目の末でクリック待ち。
2ページ目の末でクリック待ち。
next test
参考にしたのは、同じくエスケープシーケンスの下記の記述です。
> メッセージ表示を途中で止め、クリックで続きを表示させる場合には「wait key」コマンドを使用します。
一応結果をキャプチャーしておきます。
まず一行目の末でクリック待ちが入ります(吉里吉里で言う[l])。

改行された後、1ページ目の末でクリック待ちが入ります(最初に吉里吉里で言う[r]が行われた後、2行目の文章を表示し[p])。
※CS2では通常この位置(メッセージの終端)まで一気に表示された後、クリック待ちが入るようです。

改ページが行われる(吉里吉里で言う[cm])。

その際のメッセージ履歴です。
「1行目の末でクリック待ち。」の後に、改行が入ってないですねorz
改行が入る動作を想定していたのですが。
エスケープシーケンスに下記の記載があるにもかかわらず、 \nを使わずに実現しようとした為、不整合が発生したものと思います。
> 「\n」をテキスト外に記述することでクリック待ちとなります。
もっとも、\nをテキスト外に記述するとその時点で改ページされてしまうみたいで、 改ページ抑止のような命令がないとこのような用途では使えないような気が。
ちなみに\nを使った場合、メッセージ履歴にも改行が入りました。
- Comments (Close): 0
- TrackBack (Close): 0
画像コンバータ(WGC.exe)で立ち絵画像を変換
- 2008年5月10日 21:22
- cs2
ダウンロードで配布されているCS2フルセット内の「画像素材」→「立ち」フォルダ内のba01M.psdを参考に、以前絵師さんに描いていただいた立ち絵のPSDをHG3形式に変換してみました。
ここでは「海」という女の子のPSD画像を例にしてみます。
【元ファイル】
umi_seifuku.psd
【PSDのサイズ】
800x600
【PSDの差分の内訳】
ベース画像・・・1枚
表情差分・・・8枚
【PSDのレイヤー構造】
| レイヤー名 | 説明 |
|---|---|
| こちらが最上位レイヤーとなります。 | |
| [BA01] | []で囲んだ中身が基本のファイル名となります。 (この場合はBA01が基本のファイル名です。) |
| レイヤーマスク | ズレ防止用のレイヤーの説明文を記載したレイヤ |
| このファイルはこの設定でコンバートする前提です | 画像コンバータ(WGC.exe)の設定の仕方をコピペ(レイヤー名に説明を記載しただけのレイヤ) |
| ↓このレイヤーの内容で全体が切り取られます | レイヤー名に説明を記載しただけのレイヤ |
| _clip_ | トリミング枠指定レイヤー(800x600をすべて覆いました。) |
| ↓このレイヤーの左上の点がスクリプトでの基準位置になります | レイヤー名に説明を記載しただけのレイヤ |
| _base_ | ベース位置の設定(今回は存在するピクセルの左上の座標をX=400、Y=200にすることにより、(400, 200)を基準位置としました。) |
| ↓出力ファイル名は「BA01_08」になります | レイヤー名に説明を記載しただけのレイヤ |
| @$_08 | 表情差分その8、出力ファイル名はBA01_08になります。 |
| @$_07 | 表情差分その7、出力ファイル名はBA01_07になります。 |
| @$_06 | 表情差分その6、出力ファイル名はBA01_06になります。 |
| @$_05 | 表情差分その5、出力ファイル名はBA01_05になります。 |
| @$_04 | 表情差分その4、出力ファイル名はBA01_04になります。 |
| @$_03 | 表情差分その3、出力ファイル名はBA01_03になります。 |
| @$_02 | 表情差分その2、出力ファイル名はBA01_02になります。 |
| @$_01 | 表情差分その1、出力ファイル名はBA01_01になります。 |
| @$_1 | ベース画像その1、出力ファイル名はBA01_1になります。 |
| BO1_1 | ズレ防止用のレイヤー(この方法を使用しない場合は「左上短形を除去」「右下短形を除去」 は使わない方が良いみたいです。) |
| こちらが最下位レイヤーとなります。 | |
【画像コンバータ(WGC.exe)の設定】
下記にチェックをつけました。
1. 先頭に @ が付いたレイヤをコンバート(psdのみ)
2. 出力画像を上下反転させる
3. 「左上短形を除去」
4. 「右下短形を除去」
上記の状態で保存し、コンバータを行うと、下記の9ファイルが生成されました。
1. BA01_01.hg3
2. BA01_02.hg3
3. BA01_03.hg3
4. BA01_04.hg3
5. BA01_05.hg3
6. BA01_06.hg3
7. BA01_07.hg3
8. BA01_08.hg3
9. BA01_1.hg3
これをSusieで閲覧した所、 ダウンロードで配布している立ちCGと同じような感じになりました。
HG3形式の生成自体はこれでよさそうなので、生成されたHG3ファイルをimageフォルダに移動し、立ちキャラビューア(StView.exe)の設定をしました。
今回の場合は、ベースが服装で、差分は表情だけなので、下記のようなに設定し、NAME_03以降は空白にしました。
[TYPE_0]
NAME_01=服装
NAME_02=表情
この状態で「立ちキャラビューア」 を起動すると、2の部分で0~8を選択でき、公式で配布しているものと同じような感じになりました。
そして使いたい表情を選択の上、4段目の「C」ボタンをクリックするとタグがコピーされるので(例:ba01,1,7)、それをシナリオに貼り付け(例:cg 1 ba01,1,7)コンパイルして動作させた所、正常に立ち絵が表示されました。
なお今回の場合、PSDファイル内の「_base_」レイヤーでベース位置の設定をX=400、Y=200にしたことにより、座標を指定しない場合、ちょうど真ん中で高さも良い位置に表示されるようにしました(ただし、座標の原点は(0,0)みたいです(画面の左上)。 その為cg 1 ba01,1,7はcg 1 ba01,1,7 400 200の「400, 200」を省略しているという形になります)。
- Comments (Close): 0
- TrackBack (Close): 0
画像コンバータ(WGC.exe)で背景画像を変換
- 2008年5月10日 15:22
- cs2
背景用の画像を付属の画像コンバータを使用してHG3形式に変換してみた所、上下が逆さまになった画像を出力してしまいました。
これについては画像コンバータに下記の記載がありました。
> 出力画像を上下反転させる
> ボトムアップ形式(BMP等の形式)ではなく、トップダウン形式で出力します。
> cs2ではトップダウン形式を使用しますので、この項目にチェックを入れてください。
とりあえず「出力画像を上下反転させる」と「統合画像をコンバート(psdのみ)」にチェックをつけた状態で画像のコンバートをしてみた所、正常な状態の画像が出力されました(なおHG3形式に変換するのではなく、BMP形式に変換する際はチェックをはずす必要があるようです)。
- Comments (Close): 0
- TrackBack (Close): 0
ワイドで製作 その1
- 2008年5月 7日 00:48
- cs2
早速ですが、ういんどみる様よりスクリプトエンジン「CatSystem2(以下CS2)」が一般公開されたので、いろいろ試してみて、その過程などを公開しようと思いブログを立ち上げました。
とりあえずマニュアルを読んだり、チュートリアルを動かしたりしてみたのですが、実際に作ってみないと何とも言えないというのが現時点での感想です(良いなと思う所は多々ありましたが、実際に使いこなせないと意味がないので。ある程度使いこなす事が出来れば、吉里吉里より良いのではという判断はしているのですが)。
なので以前吉里吉里で作った物を移植する過程を通じて、躓いた際にマニュアルやチュートリアルを調べながら学んで行こうと思います。
※2008/05/17
この後に1024×600というワイド画面を実現する過程を書いていたのですが、CatSystem2 Tips!にワイド画面の実現方法が記載されたので、このページは削除致しました。
一応その当時試した事の大雑把なまとめを記載しておきます。
・CS2の初期状態のまま背景画像を読み込んだ所、左から(多分)896pixelまでしか表示されませんでした。
・必要スペックと仕様の記載より、プルーン0のサイズが894であること、プルーン1が(896,0)の位置から表示状態になっているのが問題と判断しました。
・その為、プルーン1のサイズを大きくし、プルーン1を(とりあえず)非表示にすれば回避できそうと判断し、kcs\vram.xmlの<pl00>の<width>を1024にし、<pl01>の<disp>を0にすることで、パッと見、意図した動作を実現しました。
- Comments (Close): 0
- TrackBack (Close): 0
