改訂、追加箇所は赤字で記述。
2009/07/31
・動画再生機能実装。
・エフェクトアニメーション実装。
実装エフェクト:
フェード
ワイプ
フラッシュ
シェイク
グレースケール
セピア調
反転
ぼかし
シャープ
モザイク
エフェクトを作りだすと限がないのでこの辺りで一旦終了させ
未作成機能を優先で作っていきます。
2009/07/23
・環境設定実装。
・既読スキップ実装。
・オート送り実装。
・バックログ実装。
2009/07/15
・DirectX AudioでOGGサウンドプレイヤーを実装しました。
情報が少なく制作に苦戦してましたがとりあえず実装。仕様は以下の通り。
サンプリングレート…OGGファイルより取得し設定。
ビットレート…16ビットで固定とする。
チャンネル数…OGGファイルより取得し設定。
(2チャンネル(ステレオ)再生も可能ですがメモリ使用量も2倍になるのでお勧めはしません)
再生ヘッドより約1秒分?のデータを先読みしデコードしながら再生しています。
大きなファイルでも少ないメモリで再生し続けられます。たぶん。
・Excalで簡単なスクリプト?実装。
・変数テーブル実装。
・セーブ、ロード実装。
2009/07/03
・2D描画方法を見直し変更しました。
DirectXの2D描画はDirectX8のバージョンで3D描画と統合され消滅しました。
最新のDirectX9でも、3DのSprite機能を使えば2D描画も出来るのですが、
低速でスペックの低いマシンでは快適に動作しそうにありません。
3D描画は切り捨ててDirectX7での開発に切り替えました。
この変更に伴い、取り扱う画像形式をBMP(24bitカラー)のみに変更します。
黒(RGB=0)は透過色とし透過します。
半透明透過にはBMP(8bitクレースケール)を使いマスク処理を行います。
2009/06/?? 初版
※図1-AVG画面例 自分のスキルアップと、今後のゲーム開発に役立てるため
言語:C/C++
シナリオ、アニメーションの制御をエクセルシートに記述する予定です。
項目 | 説明 |
---|---|
A.ラベル | 行に名前を付けます |
B.制御 | 分岐する場合などにここに制御文を記述。 ※表3−2参照 |
C.条件 | 制御の条件を記述。 |
D.パラメータ1 | 条件で記載した項目に対するパラメータ |
E.パラメータ2 | 条件で記載した項目に対するパラメータ |
F.変数管理 | 変更する変数(フラグ)を記述 |
G.人物 | 人物を記述 |
H.表示メッセージ | 表示メッセージ |
I.背景画像 | 背景画像ファイル名 |
G.背景マスク | 背景画像マスク |
K.背景画像2 | 背景画像の合成用 |
L.背景マスク2 | 背景画像2マスク |
M.キャラ1 | キャラ1に設定する画像ファイル名 |
N.マスク1 | キャラ1のマスクに設定する画像ファイル名 |
O.キャラ2 | キャラ2に設定する画像ファイル名 |
P.マスク2 | キャラ2のマスクに設定する画像ファイル名 |
Q.キャラ3 | キャラ3に設定する画像ファイル名 |
R.マスク3 | キャラ3のマスクに設定する画像ファイル名 |
S.キャラ4 | キャラ4に設定する画像ファイル名 |
T.マスク4 | キャラ4のマスクに設定する画像ファイル名 |
U.キャラ5 | キャラ5に設定する画像ファイル名 |
V.マスク5 | キャラ5のマスクに設定する画像ファイル名 |
W.効果音 | 再生する効果音ファイル名 |
X.音声 | 再生する音声ファイル名 |
Y.BGM | 再生するBGMファイル名 |
Z.開始時アニメーション | 行の開始時行うアニメーション。アニメーションシートに記述したもの |
AA.終了時アニメーション | 行の終了時行うアニメーション。アニメーションシートに記述したもの |
項目 | 制御 | 条件 | パラメータ1 | パラメータ2 | 例 |
---|---|---|---|---|---|
If文 条件が真の場合に指定のシート行へジャンプする | If | 条件式 | 条件が真の場合にジャンプするシート名(省略は現在のシート) | 条件が真の場合にジャンプするシートのラベル名(省略は最初から) | IF flag==1 シナリオ1.csv ラベル1 意味)変数flagが1の場合ファイル「シナリオ1.csv」のラベル「 ラベル1」から再生しなさい。 |
Select文 選択ボタンを表示させ、ボタンが押されたらシート行へジャンプする | Select | なし | ジャンプするシート名(省略は現在のシート) | ジャンプするシートのラベル名(省略は最初から) | Select シナリオ2.csv 意味)ボタンが押されたらファイル「シナリオ2.csv」の最初から再生しなさい。 |
Goto Sheet文 指定のシート行へジャンプする | Goto Sheet | なし | ジャンプするシート名(省略は現在のシート) | ジャンプするシートのラベル名(省略は最初から) | Goto Sheet ラベル5 意味)現在のファイルのラベル「 ラベル5」から再生しなさい。 |
If文での条件、2つの値の大小関係を比較し、真のときにはジャンプを、偽のときには次の行で遷移する
演算子 | 意味 | 使用例 |
---|---|---|
> | より大きい | If a > b |
>= | より大きいか、等しい (以上) | If a >= b |
< | より小さい | If a < b |
<= | より小さいか、等しい (以下) | If a <= b |
== | 等しい | If a == b |
論理演算子を用いると、複数の条件を組み合せることができます。
演算子 | 意味 | 使用例 |
---|---|---|
&& | 論理積(かつ) | If a > 0 && b > 0 |
|| | 論理和(または) | If a > 0 || b > 0 |
変数定義では、四則演算と代入は中置き演算子を用いて命令します。演算記号は下の表の様になります。
演算子 | 処理内容 |
= |
左辺の変数に右辺の値を上書きする |
+ |
左辺と右辺の値を加えた値を戻す |
- |
左辺から右辺の値を引いた値を戻す |
* |
左辺と右辺の値の積を戻す |
/ |
左辺を右辺で割った商を戻す(整数、あまり切り捨て) |
結果
a=6、b=7になります。
項目 | 説明 |
---|---|
A.アニメーション名 | アニメーション名 |
B.ターゲット | 制御のターゲット(キャラ、背景) |
C.効果 | 効果(エフェクト)の種類 |
D.パラメータ1 | 効果のパラメータ1 |
E.パラメータ2 | 効果のパラメータ2 |
F.時間(ms) | アニメーション時間 |
G.表示(左) | 表示する左範囲座標。省略可 |
H.表示(上) | 表示する上範囲座標。省略可 |
I.R | 赤色値 0〜255 |
J.G | 緑色値 0〜255 |
K.B | 青色値 0〜255 |
L.アルファ | アルファ値 0〜255 |
出力範囲:選択中シートか全てのシートをCSVファイルで出力するか選択。
出力先フォルダ:出力先フォルダを記述。c:\\DXGSEXCEL.INIに初期設定値を記述しておく(自分の環境に合わせて変更しておくと便利)
CSVファイル出力:出力を開始する。
画面スクリーンショット
セーブ時刻
タイトルのコメント
ローカル変数
表示中の画像ファイル名と再描画に必要な情報
再生中のシート名と行番号
バックログ情報
取り扱うファイルデータ形式について、開発中は取り扱いやすさを重視しファイル圧縮なしで取扱い、
項目 | 開発中 | 製品版 |
---|---|---|
シナリオ等のテキスト | テキスト形式(そのまま使用) | ファイル統合&圧縮 |
画像 | BMP(24bitカラー)黒(RGB=0)は透過色 半透明透過にはBMP(8bitクレースケール)をアルファとして使用 | ファイル統合&圧縮 |
サウンド | OGG サンプリングレート…ファイルから取得 チャンネル数…ファイルから取得 ビットレート…16ビット | ファイル統合&圧縮 |
動画 | ASF、WMV(Windows Media エンコーダでエンコードできます) | ASF、WMV |
現在、仕様を考えながら手探りで開発を進めています。