2008/12/31

今日の回顧

・蘇生0.60リリース
・今年一年の回顧
http://cid-eccdf3ba5a7e82b6.skydrive.live.com/self.aspx/.Public/SS060.lzh?ppud=4&wa=wsignin1.0&sa=56500473 からダウンロード。
クリア可能証明と、道中Easy版と2回目以降の戦闘会話と技コメントと背景の調整を今日やった。技コメントは量産型なので大半が2行程度。
クリア証明の環境は剣Lv5と風雷Lv2と魔法型Lv3。

この日記から今年1年を回顧してみる。
1月は特にない。2月にD言語を一旦投げ出した。3月に蘇生最初のリリース。4月にTwitter開始。6月に玉手箱製作とVisualC++の使用開始と旧PCの死亡。
7月に新PC購入とほぼ毎日更新スタート。8月に紅白2作成。9月に緑青作成と3Dブーム到来と物理ゲームフラグとSkypeとDTM。10月に復讐製作開始とOpenGL+SDL開始とD言語本格使用開始とTouchlessとサイト一周年。11月に相対性理論関係と全方位STGブームとレーザー作成。12月にサイト引越しとJOI予選とケツイ。

2008/12/30

今日の融合

・道中完成
・新作ネタ
4面道中を書き上げた。縦横無尽に動くという理想を大体満たす形に仕上がった。装備によってパターンがだいぶ変わってきそうな好ましいバランス。中ボス後はエヴァッカニア・ドゥーム第2形態をイメージして作ったのだがだいぶ別物になった。
後はクリア可能証明と技コメントで完成。当然明日リリース。

そして昨晩思いついた新作ネタ。この頃、本格全方位弾幕STGを構想していて、昨晩それが相転移してダンジョン探索型全方位弾幕シューティングRPGに変化した。「本格」が抜けて「ダンジョン探索型」に変化。具体的なイメージとしては2Dゼルダの伝説+全方位弾幕STG。地形の概念が強かったり、特定の順番で敵を倒すといった謎解き概念があったり、新しい武器によって新たな道が開けるようになったり、というイメージ。ゲームの性格としても、求められる規模からしてもSS第3弾向きにしか見えない。
問題としては復讐以上にギミック性が強くなるためにこまごまとした物を大量に作らないといけないことと、それによって発生するであろう大量のバグ。それを復讐と合わせて1年ぐらいで製作するのはまず無理なので実際作れるとなると数年後になる。

今日は一番大きなタスクを終わらせてリアルでのタスクもほとんど消化した、はず。なので明日はリリースへ向けてじっくりと。腱鞘炎になりさえしなければ大丈夫。

2008/12/29

今日の誘導

・道中組み始め
残る2種類の敵の攻撃パターンを考えたので実装して、道中を組み始めた。テーマとしては画面をダイナミックに動いて張り付いたり最下段に逃げたりとなる道中。現在最初の15秒程度が完成。

作業しながら弾幕を眺めて愛でることのできる弾幕盆栽的なものはないだろうか。サイドバーで弾幕が流れているとか。それぐらい現在の自分はおかしくなってきている。

明日はまだ年賀状タスクがたっぷりと残っているのでノルマは設けない。といっても残り2日しかないので道中を完成させるぐらいしないといけない。あとは技コメントとか。

今日の高速

・道中作成中
昨日考えた道中の敵たちを一通り実装してバランスも見ておいた。後2キャラぶん残っているがどうするかが全く決まっていない。この頃高速弾やら大玉やらうねうねと自機狙いが延びてくるやら大きくふれるワインダーやらが好きになってきて作りたいと思っているが、残っている枠が普通の雑魚敵なので作れない。

明日は掃除と年賀状が山場となりそうなのでノルマは設けないでおく。

2008/12/27

今日の背景

・中ボス調整
・技コメント製作中
・背景絵作成
・背景描画方法改善
・道中構想
道中を作り始めようとして、曲に同期させるために色々時間を計っていて、中ボスが異様に固くて安定しなかったので軟らかくして弱体化させた。その調整でそこそこ時間がかかった。
次に技のコメントをいくつか作成。4面は名前よりも弾幕が先に浮かんで作った弾幕が多いのでなかなか書きにくく、そのうえネタが結構被っているので更に書きにくい。
そして背景の絵を作成。普段よりかはクオリティが上がっていると思う。
それでステージの設定に合うように背景をスクロールさせようとしたら現行のシステムでは上手く行かないことに気がついたので改良しておいた。以前書いたコードは読んでもわからなかったので新しく書き直し。
それで結局道中の敵の製作には取り掛かれていない。ある程度キャラクターの役割を考えてはあるが実際に作っていない。時間を計ったら今までの道中よりもだいぶ長かったので大変そう。

今日のノルマは予想外に問題が出てきたので達成できず。明日からはリアルでやることをそろそろ消化していかないといけないのでスキマ時間を見て作っていかないといけない。今年中のリリースは守りたいが、お年玉と名付けてのリリースという逃げ道も用意されている。

あとはケツイにだいぶ感化されてきて、巨大ボスが出て部分破壊も出来てのど本格なSTGを作ってみたいと憧れ。

2008/12/26

今日の収束

・雑魚敵絵完成
・ボス戦後会話完成
雑魚敵を沢山描いた。色違い系をのぞいて5種類、色違い含めて7種類。みんな獣。なのに中ボスは鳥でボスが龍でミスマッチ。もっとも中ボスと被らないように雑魚敵を作ったということもある。
ボス戦後の会話も完成させた。4面は中盤と終盤への橋渡しという位置づけなのでこれまでの展開を収束させるフラグを立てておいた。そうは言えどもラストまではずっと遠い位置。いい加減ストーリーの全貌ぐらい明かさないといけないと思っているのにオープニングとかをまともに作るのが面倒で放置している。

今日のノルマは達成。明日のノルマは道中を完成させる。このノルマが達成できるかがリリース日を決める。
ケツイをやって、というより特典についていた裏2週目の道中の壮絶な撃ち返しを見て、そういう道中を作ってみたいとあこがれた。これまで、1面はあまりにも簡単すぎて2面もパッとしなくて3面は堅い敵を出しすぎて、と満足のいく出来ではなかった。ただ納得の行くできの道中が1日で組めるとも思えない。
あとはエヴァッカニア・ドゥームの第2形態が気に入っているのでそんな感じの弾幕を出したいと思っている。

2008/12/25

今日の山嵐

・中ボス完成
・ボス戦調整完了
・ボス戦Easy作成
・雑魚敵絵2つ作成
中ボスを完成させた。従来の中ボスよりもだいぶ強め。
そしてボス戦の調整も完了。こちらはかえって難易度を下げすぎたかもしれない。とっさの魔法が効かないのは相変わらずだが魔法を決め撃ちする事で難所を飛ばせるからそれで十分かもしれない。中ボス、ボスを通してプレイしてある程度安定しているので道中も合わせてちょうどいい塩梅になってくれそう。
あとEasyの作成。ボス戦は調整した時点で既に自分にとってやさしめなバランスなのでこれ以上Easyにするにはどうすればいいのかと悩んだが、とりあえず速い弾を大幅に削って弾の密度も下げておいた。これでEasyと思ってもらえるといいが。
雑魚敵は熊と山嵐を描いた。出そうと思っていた動物のメモを紛失して困った状況。

昨日はノルマを書き忘れていたのでとりあえずボス戦を完成させて置いた。今年も後1週間を切っているので急がないといけない。明日のノルマは雑魚敵の絵をそろえて、ボス戦後会話もしくは技コメントの完成。リリース目標は28日だが厳しいかもしれない。

2008/12/24

今日のサンタ


・クリスマス絵作成
・4面ボス戦背景描きなおし
・ボス戦調整開始
・ケツイDL購入
まずはクリスマスということで描いてみた稲荷クリスマスバージョン。こういうものは多分ドット絵で描くものではないのだがドット絵でないと描けない。サンタ=紅白=巫女の等式を当てはめて描いたのだがそもそも稲荷は白がメインなのでよくわからない。
次もまた絵の話題。ゲーム画面の背景のクオリティを上げろという要望を受けて、適当に塗っただけの背景を描き直した。EDGEで描くのは辛かったのでHyper-Paintというものを入れて描いた。操作を覚えるの含めて所要時間は2時間ほど。

そして、問題としてあがった難易度。今日はそこそこ弾避けセンスがさえていたのにやはりクリアできそうになかったので全体の難易度を引き下げる調整をしている。調整によって、無傷で突破できる可能性はあがったが、相変わらず気合避けを要求するため魔法が撃てずに抱え落ちする。ただこの点を何とかしようとするとステージの構成のコンセプトが否定されるのでどうにもならない。

で、ケツイDLを買った。いろいろなところでほめられていたので買いたくなった。プレイした感想としては画面が小さいせいもあるのだろうが自分の持つ弾幕の典型的イメージとはだいぶ違っていた。画面内の弾が少なくて、弾が速くボスが大きいため弾が広い角度から飛んでくる。一つ一つの弾幕の難易度が高いが、基本的にはボム数が多くてオートボムがあって短めなので何とかなっているという感じ。DOOMは例外。
一応一時間半ぐらいでHardCまでクリアしたVeryHardの長さに憂鬱になっている。

2008/12/23

今日の合格

・JOI予選突破
・蘇生ボス戦作成中
JOIの予選を、上の画面の通り通過してしまった。温室プログラマの自分では本選なんて敵う気がしない。
まず与えられる環境に日本語のCのドキュメントがないので一通り使うものの仕様は覚えないといけなく、使用するメモリ量や実行時間制限があるので「プログラミングはパワーだぜ!」が通用しない。あとアルゴリズムとかを勉強しないといけない気がする。
自分の属性としてはプログラミングを学問のジャンルとして捉えるのではなく、何かのシュミレーションをするときの道具や、ゲームを創って楽しむ物、自分で使う道具を作るためのものとして捉えているので、アルゴリズムを勉強したりするのは自分のベクトルからずれている。

と、こう書いた後に美しくないプログラム=蘇生の話。
まずは昨日考えた中ボスの弾幕を2つ実装。そこまで作ったところで今日は弾避けのセンスが冴えていないと気がついたので弾幕の製作を止めて、暫く絵を描いていた。5面中ボス。今作っている場所とは全く関係がない。昨日サンタクロース=紅白=巫女ということに気がついた後にいろいろと妄想した結果が吐き出されている。
それで、絵を描くのに行き詰ったのでボス戦の作成。技取得ボーナスを適当に割り振って4面ステージの作成に向けて色々書いて、ボス戦前会話も執筆。今回の会話はなかなか気に入っている。
それで、ボス戦を通してもやってみて、調子が悪かったせいもあるのだろうがホイホイと落ちた。比較のために1~3面もやって4面の異質さを感じた。ギミック弾幕をだいぶ封印してその分気合避けを要求している為、弾が基本的に多くて速い。自機狙いが多くてかすりやすいのでMPは溜めやすいが先ほどの理由により魔法を使うタイミングも難しい。あとボスが堅い。
ということで、現在の難易度を全体的に下方修正する必要が出てきたのでEasyの実装はそれ以降。

明日のノルマは難易度の調整と中ボスの完成。もしくは絵の大量生産。

2008/12/22

今日の箱

・ゲーム作成
http://masa128.okitsune.com/のGameの「猫~」。3時間で作成した1分パズルゲーム。公開するのにいろいろライセンスがややこしくていやになった。結局この形でいいのかどうか。使うライブラリ数もう少し絞ったほうが楽かもしれない。DLLも何か作るために数メガ配布するのは大変なのでDLLやライセンスをパックとして別に配るべきだと思った。

蘇生は中ボスの弾幕を3つ考えた。でも箱猫で何か疲れたので実装していない。ボス戦も同じく。

今日はノルマを完全に達成していない。休日でないと作業をするのは大変だと実感。明日はボスと中ボス両方の完成がノルマ。

D言語でC++のクラスライブラリを使えると世界が大きく広がると思うのだが、どれだけ大変なのかがやはり問題だと思う。

2008/12/21

今日の山

・ボス弾幕完成
・道中構想開始
ボスの耐久弾幕完成。予想以上に取得可能証明をするのに時間がかかって、会話が作れなかった。残るは会話全般とEasy版作成と得点ボーナスの作成。
道中の構想を開始。。山に何が出るかと考えて、山~という名前の動物を出すことにした。そのほか山にいるものを考えて、ツキノワグマを描いてみたのが酷い出来だった。変に人間型にしたせいでよくわからないことになっている。

明日のノルマは今度こそボス戦の完成と、中ボス弾幕作成。

2008/12/20

今日のオーロラ

・弾幕2つ作成
ノルマどおり。実は、ボスの弾幕は残りわずかだったのでボスから仕上げることにした。それでLv2魔法に相当する弾幕と奥義を作成。今回の奥義はまた、随分と変なものに仕上がった。オーロラをイメージして作ったらよくわからないものに。要求していることはシンプルで、見た目もシンプルなのに難しい。
残るは中ボスの弾幕4つと、耐久弾幕の後半分。それと道中。

今年も後10日ほど。実は完成までギリギリ。明日のノルマはボス戦の戦闘前会話含めた完成と、道中の敵の絵の作成開始。

2008/12/19

今日の整備

・引越し大方完了
・D講座完成
新ウェブサイトへの引越しがひとまず完了。もともと内容なんてほとんどなかったから楽だった。これからは内容の増強をしていくことになる。
D言語講座も書き終えた。開発環境の組み方とDLLの使い方に絞って書いて、後は他のところを参照してくださいという形。校正し次第公開予定。

今日はノルマを達成。だがプログラムはまったく書いていない。明日のノルマは蘇生の弾幕2つ作成。弾幕は思い浮かべば作れるが浮かばないとどうにもならないのでノルマを作りにくい。弾幕が浮かばなかった場合は全方位STGで敵を出すところまで作りたい。

2008/12/18

今日の再引越し

・移転先変更
・D関連情報まとめ中
fc2について、いろいろと調べたところフレーム周りの問題があってユーザーにかなり叩かれていて、fc2でフレームを使うのを断念。そこで、今度はninjaに登録して作ったのがhttp://masa128.okitsune.com/
こっちは問題があまり発生していないそうだが広告は付く。こちらで何か問題が起きなければninjaを使っていくことにする。

D講座執筆中。書いていてどこまで書くのがいいのかわからなくなってきている。情報源とサンプルコードが載っていれば十分だろうとは思うが。

それで、今日のノルマとしていたD講座の完成はならなかったわけだが、その代わりに年賀状を作った。ノルマを達成せずに他のことをやるというのはOKなのだろうか、社会主義的に。明日のノルマは今度こそD講座の完成と、ウェブサイトの引越しを完了させる、

2008/12/17

今日の引越し

・移転開始
・全方位STG作成開始
・蘇生4面ボス絵描き直し
・蘇生会話システム改良
ウェブサイトの移転作業を開始。新しいアドレスはhttp://masa128.web.fc2.com/だけど、現在fc2側の問題らしいものによってトップページが出せない。フレームが使えないのかもしれない。ファイルのアップロード先にはWindowsLiveのSkyDriveを使う予定。

全方位STGの作成を開始。テンプレートにセミオート連射機能を追加。
それと蘇生4面ボスの絵を描き直した。今までに比べるとだいぶ見栄えがよくなった。中ボスは大まかに描いたところ。
会話システムは、あまり変なことをやるとリプレイずれとかで憂鬱になりそうだったので、プラクティス画面の改良にとどめておいた。

というわけで今日のノルマは達成。明日のノルマは、D関係講座の作成。

2008/12/16

今日の霧

・弾幕作成
今日から作業がはかどる、と思ったのだが何故かずっと遊んでいた。なので日記に書くネタを作るために弾幕を作成。恐ろしいぐらいにシンプル≠手抜き。シンプルな物はそれはそれでバランスの調整が結構難しい。4面は今のところ皆そんな感じで、シンプルゆえに難しめによっているという感じ。
それとボスである風神雷神の書き直しを開始。直感で線を引いて形を作ったら結構いい感じになった。

復讐のマップチップの一単位の大きさを、やはり32にしようかと思い始める。キャラクターを16にするとほとんど見えなくなりそうなのと、マップチップが小さければ配置する手間が4分の1で済むのと。

何か目標を書いておかないとまた今日のように時間を無駄に使ってしまいそうなので、これから一週間、一日単位で目標を書くことにする。明日の目標は、引越しの開始と蘇生の会話システムの改良。それと4面ボス、中ボス絵の作成。ノルマ制だと共産主義国家のような結末に陥りそうなので、今年中に、昨日書いた予定の今年のToDOと全方位STGを遊べる形にまでに出来たらボーナスとして何か買うことにする。どうせ自分の金だが。

2008/12/15

今日の基

・STGテンプレート作成
以前書いた、アイデアをすぐに実装する為のテンプレートを作った。既に作りたいネタが2つある。全方位STGと角運動量保存則STG。


今後のToDo
今年中
・蘇生0.6作成
・サイト引越し
・D言語情報まとめの記事作成
冬休み中
・全方位STG試作
今年度中
・復讐基礎部分作成
・物理ゲーム全般の完成
特に期限なし
・卓上式神作成

今年のノルマが妙に多い。

2008/12/14

今日の予選

・JOI予選参加
ソースやらなにやら一式
疲れた。普段のプログラミングでは再帰なんて使ったことがなかったから、考えるのが大変だった。あとulongでも収まらない範囲の値なんて扱ったことがない。
問題は、1~4までを解いて、5番が値が収まらなくて2番まで。6は思考放棄。書いたやつはあっていると思いたい。

2008/12/13

今日の海神

・IDE探し
昨日はZeusがいいといっていたが、今度はPoseidonを見直した。安定版として出ているバージョンを以前入れて、その使えなさで即座に捨てたが、開発中の最新版を試したら全く別物にまで化けていた。
プロジェクト管理機能がそれなりにあって、デバッガが動かせて、入力補完機能も今まで見てきたもので最高の機能になっていた。それでいて起動も早い。且つ日本語に標準対応。コンパイラの設定も結構お手軽。ショートカットキーの編集も自由。さすがDユーザーが作っていることはある。

この頃の自分を少し自己分析。記憶能力と引き換えに計算能力が落ちて、単純な四則演算が遅くなったり三角関数を間違えたりするようになった。思考能力はわずかに上昇している模様。弾避けにおいては、パターン化能力が伸びたが決めボム意外にまともにボムが撃てなくなって気合避けしようという意志が薄れている。総合的に見ると、弾避け能力は大幅に向上している。これが、試験による一時的な変調なのかどうか。弾避け能力向上はありがたいが三角関数との仲たがいはよろしくない。

2008/12/12

今日のゼウス

・開発環境探し
以前目星をつけておいた開発環境を実際に試してみた。結果、宣伝文句から本命と考えていたUNAEditorは起動が遅く、なんだかよくわからなかったのでやめ。それで、新しく試してみたZeus for Windowsというのがなかなかいい感じ。
起動のたびに購入のウィンドウが出てきて鬱陶しいが、メモリ量でごり押し(=常時起動)すれば気にならない。D言語の文法を完全にサポートしていて、デバッガも分かりやすそうな形で使える。Phobosの内容のオートコンプリートが出来て、関数の引数とかも表示してくれる。多分同じやり方で自分の書いたコードでも出来る。まだプロジェクト管理の周辺の設定が出来ていないが、多分何とかなる。
暫くはこれを使っていようと思う。

それと、GUIの開発環境のEntice Designer+DFL がなかなか興味深い。まだ使っていないがWxSmithよりもお手軽そう。もっとも最近ではそういったフォームアプリケーションをほとんど作っていないからあまり使う機会はない。

2008/12/11

今日の隠し

・蘇生隠し機能構想
前書いた、裏設定を蘇生に登場させる案。何かしらの条件によってでてきて、更に何かの条件を満たすと隠し機能が使えるようになる、というもの。大体構想は固まっている。

2008/12/10

今日の雛形

・移転先探し
なんとなく。CGIとかはだいぶ諦めてきている。

思いついたネタをすぐに実装できるようにプログラムの雛形とかを準備すると便利だろうな、と思った。思っただけ。

2008/12/09

今日の加算

・レーザーグラフィックあれこれ
・D言語IDE模索
毎日更新がそろそろきつくなってきた今日この頃。
思うところがあったのでレーザーのグラフィックの描画方法を変えてみた。加算合成にして、明るさを感じられるようになったと思う。
それと、D言語関係のことを一回まとめようと思っていて、IDEについて少し調べなおしてみた。主に入力補完機能周り。手始めに既に入れてあるPoseidonを動かしてみた。どうやら同じファイル内の関数の補完は出来るようだがimportしているファイルの関数までは無理のよう。あと、ショートカットキーの設定が自由なようであまり自由ではなかった。結論としてCode::Blocksのほうが使いやすそう。
他にも暇が出来たら試したい。

3Dの飛行機系のSTGを作りたいと少し思ったがあまり興味を広げすぎると収拾がつかなくなるので止めておく。

2008/12/07

今日の籠

・SS新構想
・弾幕作成
SS全編を通じた裏設定を構想。隠しボスのような形で出したい。
それと、前々から考えていた弾幕の実装。今回作ったのを発展させてレーザーの本格運用も出来そう。偶然絶妙なパターンになって、偶然の素晴らしさを感じた。その偶然の絶妙さを偶然ではなく作れるようになりたいもの。

2008/12/06

今日の軽装

・復讐絵
絵に関することばかりしている今日この頃。金行のドット絵を三度描いた。出来るだけ身軽なイメージで描いてみたら、髪を描くまではどう見ても悪ガキ少年。髪を書いてもまだ危ない状況。獣系として稲荷と被らないようにというのも意識しているので、描くのがなかなかに難しい。

2008/12/05

今日の延長

・復讐絵について
金行の絵がしっくりこないので、下絵を書き直してみた。それでしっくりこない理由に気がついた。威厳がない。
威厳なんて皆大してないのだが、現在の案だと威厳どころかテーマパークにいるキャラクターのような状態になっている。そもそも、ベースは白虎のはずなのに何時の間にかただの猫になっていた時点でおかしい。

なんとなく、画面に大量にEXTENDと表示される物を作ってみたいと思った。3秒ごとにエクステンドするようなイメージで。実際作るとなると、タイムエクステンドで制限時間が非常に窮屈なバランスがいいと思う。Re:Actionでやってみるのがいいかも。

物理演算系のゲームでは、毎フレームごとに演算を行うよりも、状態が変化した瞬間にその先の軌道を全て計算して、描画用に座標を求めるときはその式の時間の項に時間を代入するだけ、というのがふさわしいと感じ始めた。実装が難しくなるが、計算精度は上がり、衝突でめり込むような問題も回避できて、FPSを変更してもプログラムを大きく変える必要がない。

2008/12/04

今日の相殺

・復讐仕様構想
復讐では属性として五行を使うことに決定しているのだが、五行を使うからにはそれぞれの関係も取り入れるべき。それで、ボスの弱点について構想してみた。単にダメージにボーナスがあるのではなく、戦いやすさにその相性を取り入れるのがふさわしいと思って妄想した結果、全ての属性にもともと構想していた形から大きく外れることなく、いい具合の弱点が作れた。偶然なのか必然なのか。
それと、金行のボスの設定を再考し、絵を描き直している。ただ、かなり描きにくく感じている。ほぼ単色。

2008/12/03

今日の鳥

・4面中ボス構想
・卓上式神試作開始
毎回毎回、蘇生の中ボスをどうするか迷っているが、今回もまた迷っている。蟲、式神、魚、ときたのでなんとなく鳥にしてみようと思ってみた。両生類という手もあるが水に縁のない場所で出すのは微妙。
暇だったのでGUIアプリケーションについて調べて、「猫でもわかる~」を見てそのややこしさに憂鬱になったが、VisualC++で試しにいろいろといじっていたら結構何とかなりそうな感じ。制作意欲が続けば作ってもいいかもしれない。wxWidgetsもDでの開発ができるので悪くないように思ったが、まだ進んだことのない道で茨の道を選択するほどの勇気は出なかった。

2008/12/02

今日のスケジュール

・レーザーグラフィック修正
・復讐主人公作成
・蘇生弾幕作成
昨晩更新するはずだったのにインターネット環境が落ちていたせいで更新できなかった。
まず昨日、レーザーのグラフィックを修正した。DirectX側の問題だと思って無視していたが、長方形に描画するはずなのに平行四辺形になっていたので、間違いに気がついた。三角関数を使って簡単に頂点を求めようとしたが、それで上手く行かず、三角関数をそれ以上いじるのも面倒だったので回転行列でごり押し。
次に、復讐の主人公の絵を描いてみた。アップしようと思ったのだが面倒なのでお披露目は他にも描いてから。全体的に上手く描けたと思っているが、使う色の関係からどうしても表現しきれない仕様もあった。今回描いたのは正面の姿なので、実際にゲーム内で見ることはあまりないことになる。

そして今日の作業。蘇生の4面の調整、及び新しい弾幕の作成。それと、操作性改善計画のひとつ、押しっぱなしでの操作。未定だった最上位魔法の仕様の案もようやく思いついた。

そして、一昨日のコメントに勢いで書いたことについて。今年中に蘇生の4面をリリース。それを決定したので、他にも予定を纏めてみた。
2008年12月末 蘇生0.6リリース
2009年3月末 パラボラ、卓球、リアクション等物理ゲーム完成
5月末 蘇生1.0リリース・完成、Webカメラゲーム作成
9月末 復讐完成
今年やってきたようなペースでは明らかに間に合わないので、これからはより製作に集中していきたい。
さしあたっては、蘇生4面の作成と、復讐のキャラクターの絵を描く。

2008/11/30

今日の面

・レーザー判定完成
太さのあるレーザーも実装。太さのないレーザーをすり抜けないように判定を取るのが面倒だったので全部ある程度の太さを持つレーザーにした。四角形でレーザーの判定を取るのは結構計算量があるので、ある程度の太さまではレーザーの四角形の中に何本か線を出して、その線に当たっているか判定を取るようにした。
残るは弾消しとカスりへの対応。予告線を出す演出はまだ作っていないがすぐにできる。
回転レーザーや、長方形にならないレーザーは作っていないが、普通に使う分は十分だと思う。必要になり次第個別対応という形。
あとは、レーザーを生かせる弾幕を作れるかどうか。

主人公の見た目がろくに決まっていない中、ボスの見た目が次々と決まっていき、絵を描き始めている状況の復讐は一体どうなっているのだか。

今日の貫通

・復讐土キャラ作成
・蘇生レーザー実装
土属性として昨日考えたキャラを試しに描いた。その結果黄色を使わないとならないはずなのにほとんど使わずベースカラーが紫になってしまった。土行のキャラクターとしてふさわしいか問題。

蘇生に、ついにレーザーを実装。暫く触っていなかったため、もともとのソースの汚さに加えてC++の文法に苦戦。もうこれ以上、システムをいじりたくないぐらい。以前に実装した、弾の連射による疑似レーザーと名前が衝突するのも厄介。
今日実装したレーザーは太さを考えない線レーザー。線なので当たり判定がすり抜ける可能性があるので、それを防止するための機構を書いたのだが、それのせいで当たり判定がうまく取れず、画面端ワープが使えなくなることもわかったので全部のレーザーに太さを持たせるように改良しようと思っている。あと、グラフィックが妙に細くなって見にくい。

日付がすでに変わっている点は無視。

2008/11/28

今日の土

・三作目構想
・復讐キャラクター妄想
・弾幕講座ひとまず完成
三作目を、ダンジョンアクション全方位弾幕シューティングRPGというジャンルだけでお腹いっぱいにするのを妄想してみたり。
3属性で行く方針にしていたのだが、やはり折角考えたのに使わないというのももったいないと思ったので、ネックとなっていた土行のキャラクターを30分ほど考えてみた。土行から思い浮かぶことを書き連ねて、それを組み合わせていった。その結果、キャラクターが出来たのだが、色々な面で紫と被る。自分の考えが無意識にそういった方向を選択したのか、それとも自分が考えた軌跡が神主のそれと重なっていたのか。黄色が似合うキャラクターになれば違ったキャラクターに出来るのだが、黄色が似合うというイメージが全然湧かない。
書いていた弾幕講座がひとまず完成。7ページ。サンプルプログラムに全くコメントがないのでまだ完成ではない。

2008/11/27

今日の目録

・サンプル作成中
文書とともに。案外ハイペースで進む

2008/11/26

今日の見本

・弾幕+D+SDL+OpenGLサンプル作成中
講座を書くので、3本の講座を纏めて一つのサンプルプログラムで済まそうという魂胆。分かりやすさと多彩な文法の紹介との両立が難しめ。
foreach文は、intの配列なんかを扱う場合、foreach(i;number)という形で書いていたのだが、この書き方だとiに数値を代入してもnumberの方に反映されないということに気がついた。正しくはforeach(ref i;number)と書かないといけない。クラスは元々参照渡しなので大丈夫。for文をポインタでまわすのと同じように考えて使っていたら思わぬミスを生む。

2008/11/25

今日の現実

・ライブラリバグ修正
仕様を変更した後、それを文字列の描画に入れ忘れていたので原因不明のバグになっていた。ただリサイズのやつの動作とは関係ないので相変わらず調査が必要。
アンドロイド開発に少し興味を持ったのでJavaを見てみたら、C++風の文法で結構なじみやすかった。暇があれば触ってみようと思う。

2008/11/24

今日の線分

・縮小機作成中
・多角形判定正確版実装
相変わらず縮小機を作っている。大方コードを書いたのだが、上手く出力が来ない。それどころか当然動くはずのコードさえ動かない。
前作った多角形の判定が、長方形同士が十字型に交差するような場合に判定が取れなかったのでアルゴリズムを変更。それぞれの多角形の辺の交差判定を取り、どれか一本でも辺が交差すれば衝突、また一方の図形の中の任意の点が他方に含まれている場合衝突。この方法であれば多角形の凹凸に関わらず正確に取れる。但し計算量は多い。

2008/11/23

今日の縮小

・縮小機製作中
前見つけたものでは透過色を思い通りに処理できなさそうだったので自作することにした。ピクセルの色を取得するのが意外と大変だった。二次元配列を一次元のポインタにするのがややこしい。
あとはテンプレートの文法を見てみたり。ただゲームを作るぶんには使わないと思う。

2008/11/22

今日の全方位

・多角形判定実装
・SS第3弾案
・復讐構成案
多角形同士の当たり判定を実装。凸多角形であればなんでも判定できる。面白い。ここまで作ってしまうと蘇生にレーザーを実装しないのはもったいないように思えてきた。なので、まだほとんど作っていない5,6面限定にレーザーを出してみようかと考えている。

SS三作目についてやや構想。戦略シュミレーションと考えていたのだが、実際に作るとなるとAIを作ったりパラメーターを調整したりで相当に大変そう。なので、一度その案を捨てて新しく練り直してみた。
蘇生がシューティングRPG,復讐がアクションRPG、と来たので、次は全方位シューティングアクションRPGが妥当、と思った。現在の構想段階だと両者を足して√2で割った感じ。もっとも復讐もまだ形になっていない。今のところ考えてある戦略シュミレーション向きのストーリーをどのように組み込むかが重要な要素。

復讐のボスの案についても練ってみた。近頃は五行に基づいてボスを作ろうと思っていたのだが、それだと上手く蘇生とのストーリーが繋げられない。それで蘇生と同じ3属性での構成を検討し始めた。五行の場合はどうしても土行のキャラクターが浮かばなかったのも一因。

2008/11/21

今日のベクトル

・ベクトル勉強
四角形との当たり判定を取りたくなったのでベクトルを勉強した。これまで書いてきた処理の内結構な量がベクトル演算で楽に計算出来そう。まずは多角形オブジェクトを作り始めた。
学校教育では実用的なことを教えるべきだと思う。三角関数とかベクトルとか行列とか複素平面とか。少なくとも軌跡を求めるよりはずっと役に立つ

2008/11/20

今日の壁

・壁反射実装
Re:Actionの完成目標が今日だったわけだが、一番ややこしい衝突周りの処理が書き終わったので、期限を完全に破ったわけではない、と言い訳。復讐を作り始めたことが主たる原因。
昨日大部分書いたのに実装に時間がかかったのは、衝突後の位置あわせと、クラスの参照に関する問題があったから。前者は、暫定的に書いた頭の悪い手法をスマートな方法に書き換えたのだが、式を間違えているのか、それともどこかで浮動小数点が整数に丸められているのかで、上手く行かない場合が出る。色々と試しているが未だ解決には至らず。
後者は、クラスは常に参照渡しされるというDの使用に則って書いていたつもりが、何かが上手く行かずクラスの参照を変更したはずなのに変更されていなかったことに気がつかず、色々な部分をいじっては悩んでいた。
一段落したことにするので、SSの製作に移行する。

復讐で使う画像データをドット絵で書こうと思っていたのだが、アクションゲームはSTGよりも絵をアニメーションさせる必要が多いことを忘れていた。そこで、以前考えていた3Dで作った絵を2Dにする、という方法を改良し、2Dのモデルにドット絵のテクスチャを貼り付けてそれをアニメーションさせて、キャプチャするというのも考えた。しかし、この方法は小さい絵に使うのには向いていない気もする。漫画的手法を使うことで少ない絵の枚数でも納得の行く動きにするのがいいかもしれない。

頭が放物線の人間と、双曲線の人間を書いてみたが、放物線の方がよさそうだった。それだけ。双曲線も悪くはなかった。

2008/11/19

今日の埴輪

・縮小機探し
・FPS調整実装
・直線演算機能実装
ドット絵の縮小ソフトを探した結果、Yukari(ユーカリ、紫ではない)というソフトが一番自分の用途に合っているように感じた。これで上手く行くようならそのまま使い続ける。ドット絵は、1ドットごとに考えてドットをおいていく作業も含めてドット絵と呼ぶ、というの言葉を見たが、大きめなドット絵を小さいドット絵に変える、という手法はドット絵と呼ぶのだろうか。
Re:Actionを再び作り始めた。まずはFPS調整の作成。表示機能の一部を流用して作った。PhobosにCで言うsleep関数がなかったのは意外。垂直同期を使うのは、Dだとやり方がよくわからなく、ABAGamesのやつもタイマーで作っていたので諦めた。
そして、壁との当たり判定を取り始めた。前作ったやつはソースが汚く、汎用性がなく、しかも動かなかったので没にし、新しく数学的な当たり判定を書いた。壁との反射は簡単だったが、壁との当たり判定を取ったり衝突した点を取ったりするのがややこしそうだったので直線クラスを作成。線分を扱うことも出来るはず。
これを蘇生に流用してレーザーを作りたいとも思ったが今更付け足すのも微妙。キャラクターのグラフィックは大きく書いたのを縮小するという技法を取り入れたいと思っている。

棒人間の代わりとなる新しい簡易人間を考えてみた。ジャガイモ、記号、色違いの記号、兵馬俑、埴輪、蝋人形、双子など。こう纏めると意味不明だがどれも長所も短所も持っている。

2008/11/18

今日の縮小

・ライブラリ画像描画修正
・復讐仕様書執筆
画像サイズが2の累乗サイズでないと異常になるのを放置していたことに気がついたので直した。ずっとそのサイズにあわせて画像を作ってきたから気がつかなかった。

復讐のキャラクターを考え始めたのでそれを仕様書に書いた。名前が元ネタそのままなのはイマイチだと思い始めたので、適当に名前をつけてみた。蘇生もそのようなネーミングにしていいかもしれないと思っているが今更変えるのも良くないか。
復讐のマップチップが16*16なので、それにあわせてキャラチップもその大きさで描き始めてみたが、情報量がどうしても少ない。そこで、大きめに描いた後に縮小するということを考えたのだが、どうもぴったり来る縮小ソフトがない。画像を縮小して、きれいに見えるアルゴリズムでの縮小は、縁の部分が黒くなる。ふちがきれいなアルゴリズムだと情報が失われすぎてなんだか分からなくなる。もう少し縮小ソフトを探してみるが、もしなければ自作しようかと思っている。
半分の大きさに縮小するのであれば、4ピクセルごとに画像を区切って、その4ピクセルのRGB値を平均して縮小後の画像に入れれば上手く行くと思う。透過色を指定して、透過に設定されているピクセルはその平均を取る対象から外す。こうする事で、ふちが汚くなることもないはず。
何故、このような手法を使った縮小ソフトがないのか。この方法では上手く縮小できないのか、それともこのような汎用性の全くない方法は使わないのか。

Re:Action完成まで後2日。システムを再考したが、プログラムは全く進んでいない。

2008/11/17

今日の式神

・文字列描画機能強化
・キャラクター部分製作開始
昨晩思いついた、文字列描画の強化を作り始めた。今までコンストラクタ以外は普通の画像描画と全く同じようにしていたのを、文字列に特化させる。
復讐のキャラクターの周りを作り始めた。まずは描画。RPGツクール2000ではマップチップが16四方の正方形で、キャラクターチップが48×32。それにあわせて作り始めたが、使い勝手が悪そうなので画像ごとに大きさを変えるほうが適当だと見た。

ゲーム以外のネタを考えたので記録。妖怪が式神を使い、その式神が式神を使う。これを言い換えると人間がコンピューターを使い、コンピューターがコンピューターを使う。そこから思考を飛躍させ、卓上式神という物を考えた。
普段はデスクトップ上をうろうろしていて、命令を与えることでちょっとした機能を行うユーティリティ式神。機能を実行するのはWindowsAPIを使えば大体足りるのと思うが、常駐のデスクトップマスコットの作り方について要調査。

2008/11/16

今日の大きさ

・弾幕発案
・BulletML環境導入
蘇生の弾幕を考えた。名前ありきの弾幕。なかなか絶妙なネーミングだと自分では思っているが、掛詞という文化を駄洒落という今の世の中は嫌いだ。
使うかもしれないのでBulletMLの環境を構築。具体的に言うとBulletML,libBulletML,Bulletnoteの導入。
Eclipseのバージョンが、Bulletnoteが開発された当時からだいぶ変わっていたのでインストールに苦戦。Pluginフォルダに解凍したファイルを入れたり、プラグインのインストールの画面にそのフォルダ名を入力してみたり、プラグイン開発として開いたりしていたら何時の間にかインストールできた。プレビューアが動かない原因が分からない他は上手く行っている。

SDL+OpenGLでの、実行速度の調整法について色々調べていたが、垂直同期の使用はグラフィックカードの設定によって変わるらしい。wglを使えばプログラム側でも変更できるがWindows専用。垂直同期が可能な場合は使って、使えない場合はタイマーを作って調節するのが妥当のよう。

画面の縮尺、特に自分でスクロールのできるタイプのゲームについて少し考えてみる。
倍率が大きい、つまり拡大される場合、一つの画面内の情報量が少なくなり、画面端から画面端までのゲーム内の距離が短くなる。その一方、物が見やすい。これをSTGに当てはめると、画面に表示される弾数が少ないので関係のない弾に惑わされにくくなり、大局的に見られないのでパターンを把握しにくく、画面外から突っ込んでくる弾が画面中央の自機に届くまでの時間が短い、つまり処理が難しくなり、弾の狭い隙間が見やすくなる。
倍率が小さい、つまり縮小される場合はその逆。これを当てはめると、パターンを把握しやすい代わり関係ない弾に惑わされやすく、画面外から弾が飛んできても十分に処理でき、高密度の弾幕はスキマが見えない。
これらを考えると、遅い弾を気合避けは画面を拡大して、速い弾をパターン避けは画面を縮小するとやさしい。
結局何を言いたいのか分からない当たり前の結論に達してしまった。

2008/11/15

今日の巻物

・FPS計測機能作成
・マップエディタひと段落
FPSを計る機能作成。ミリ秒単位を秒に直していなかったのが失敗の原因だった。それで、FPSを測ったところ160程度。どうやら自動で調整はしてくれないらしいことが判明。フルスクリーンは試していない。画面サイズが1100*750と普通よりも大きい他はほとんど処理をしていないのにこのFPSしか出ないというのは、動作の重さに若干の不安がある。

マップエディタもひとまず出来た。まず、マウス入力でマップチップをマップに配置する機能を作成。その結果、マップの読み書きを行う際にチップが一行ずれるという問題が出てきて格闘していた。それを直して、マップの描画位置のずれも解決して、最低限のマップチップ配置機能は完成。
ゲームのほうからマップを表示するのも滞りなく進んだ。キャラクターとチップとの当たり判定の取り方の構想を纏めたので、今度はそれをしようかと思う。

Re:Actionは絶賛放置中。ゲームのコンセプトを守ろうとするとプレイヤーに不親切になるジレンマに陥っている。

エレベーターで、押されたボタンに応じてエレベーターを操作するというゲームを少し妄想してみたが、考えて1分ぐらいで止めた。

2008/11/14

今日の初期化

・パラボラ改良
・復讐問題解決
パラボラを、有効ポテンシャルを利用することで改良。軌道がまともになった。しかし、未だに計算中に虚数が出て詰む場合が多く、最終的に落下する軌道しか描けない。
PCが重くなった原因は、メモリの浪費にあったらしい。時刻の画像を実際に必要な量の300倍作っていたらメモリが数秒で500MBぐらい消費されていた。
本を返却したので、12月半ばぐらいまではパラボラは置いておく。

復讐の画像表示の問題が解決した。SDLの初期化の前に、画像の読み込み処理をおいていたのが原因。初期化前にSDLの機能を使おうとして、バグの原因になることがしょっちゅうあるので、初期化前に呼び出したら例外を投げるよう改良しようと思っている。
OpenGLはウィンドウモードでも垂直同期が取れるのでFPSが安定する、という情報を見たので、確認する為にFPS表示機能を作っている。だが、何故か上手く行かない。

2008/11/13

今日の楕円

・一般相対性理論的軌道シュミレーション動作
昨日上手く行かなかった原因は、半径の扱いもあったのだが、時間の増分が暗黙のキャストによって1/60が0に切り捨てられていた為。本当に良く引っかかる。
それ以外にも色々と式を直して、ひとまずブラックホールに落下していく軌道を描くことは出来た。または円を描いて公転。
ただ、現状だと天体の質量をある程度以上に上げるとPCの時間が遅くなったかのごとく重くなったり、本来楕円軌道を描く場所がそうでなかったり、ブラックホールに落下する以外の軌道が描けなかったりと色々問題。
ただ、本の返却期限なので一旦この問題はおいて置き、完成予定まで1週間となったRe:Actionや序盤で組むのが楽しい復讐なんかをいじる。

2008/11/12

今日の半径

・パラボラマスター製作開始
5つ又開始。ようやく軌道の計算が出来そうな段まで差し掛かったのでプログラムを書いた。角運動量の算出が上手く行かない。シュヴァルツシルト半径との比として中心からの距離は表せるのだが、そのまま扱う場合が上手く行かない。明日までにベースの軌道計算は確立したい。

戻り弾幕の作り方について考えてみた。途中で軌道が変化することのない単純な式で表せる弾幕は、射出直後に弾の位置から速度を何回か引いて、初期位置を設定し、その後速度を足していけば自然な動きに出来る。

2008/11/11

今日の警告

・改良型マップシステム実装中
パレット+圧縮のマップシステム作成中。ファイルの入出力が出来るようになった。容量が従来の100分の1まで減ったがそれは圧縮効率しだい。
ファイルの入出力が出来るようになったので、マップエディット機能を作り始めようとしたが、読み込んだ画像が真っ白になるという原因不明のバグが発生中。パレットエディタとほとんど変わらないコードのはずなのに真っ白。画像を保存してあるメモリ領域が使われている、なんてことはないだろうに。

ネタゲームを思いついたのでそのうち作る。

2008/11/10

今日のパレット

・マップ機能改善中
・蘇生作成
ファイルの容量が何とかならないかと思案した結果、3つの解決案。一つは、何も埋めないチップのデータは書かず、何か書くチップのところだけ、座標を指定してチップを置く。もう一つは圧縮。同じ内容のチップを圧縮する。そして最後に思いついた最良の方法が、パレット形式。256色ビットマップの要領で、パレットデータをあらかじめ置いておいて、マップチップ一つを1バイトで表す。パレット形式の場合は圧縮との相性もいい。1番目との併用は効果が薄くなりそう。
それで、パレットエディタを作成した。ファイル読み書きのインターフェース以外は出来た。マップエディタはファイル読み書きだけ出来た。

蘇生も久々にいじった。命名規則の適当さや、ショートカットキーの違いに戸惑った。4面の耐久弾幕を少し作った。5面前後のシナリオもだいぶ練れてきている。

2008/11/09

今日の二次元

・マップファイル読み書き作成
まずはマップ機能から作るということで、マップファイルの読み書きを作成した。ファイルを開くときの設定を間違えていて30分詰まり、動的配列の長さをのばした後クラスのコンストラクタを呼び忘れて1時間詰まった。
SDLを使いながらメニューバーなどのGUI環境の使い方を知らないのでエディット画面以外をCUIで作っている。WxWidgetでも勉強するのがいいかも。
D言語、というよりPhobosの関数を使ってCUIアプリケーションを作るときに引っかかった点があったので一つ。
文字列を読むときなどにC言語で言うscanf関数としてPhobosのreadln関数を使っているのだが、同じように使うと、readlnでは読み込んだ一行に改行文字(Windowsでは\n)が含まれている。これで得た文字列をそのまま使うと上手く行かないので、文字列(char[]型)の最後の一文字を消してから使わないといけない。

300×100の二次元配列というと軽く感じるが実際には3万ある。3万ものオブジェクトをGCに管理させると突然動きが止まったりしそうで怖いので、自力でメモリ管理している。あとこの配列をファイルに書き出すとintegerの配列でも100KBぐらいに届く。二次元恐ろしや。

イベントの管理にSQLiteを使ってみようと思い、データベースを作ってみているが使い方が良く分からない。OpenOffice Baseも試したが分からない。データベースの基礎ぐらいは勉強しておかないといけないらしい。

2008/11/08

今日の始まり

・復讐本格製作開始
製作開始宣言からやっと本格的な製作の開始。思えばその間にDirectXからSDLからOpenGL、CからDへと随分と方針が変わった。
今日はプログラムの基礎の方針と、マップチップの表示を作成。蘇生では適当だった命名規則を統一し、D言語の分かりやすい関数ポインタを生かした設計を行う。
マップシステムの設計は今まで考えていた方針をベースに40分ほどで考えた。
目標は、今年中に基本的なシステムを完成させること。

それでもってネタを色々妄想。
まずは豆電球STG。画面が真っ暗で、豆電球と、普通の弾が飛んでくる。豆電球は光源になっていて、豆電球の光で弾を照らして避ける。豆電球を撃ってくる敵に挑発ビーム的な物を当てると豆電球を沢山撃ってきて明るくなるが、豆電球も弾扱いなので弾幕が濃くなる。豆電球を出しすぎると明るすぎてかえって弾が見えなくなる。
実際に作るとなると、点光源をどうするかが問題。OpenGLでの光源については知らないが、DirectXでは50個も使えなかった気がする。2Dで作るのも有りだが結局自前で光源の計算をしないといけない。

もう一つはカードゲーム。こちらは二つ案がある。一つは戦略シュミレーションと混ぜた物で、毎ターンカードを引いて手札にして、手札を使って何かイベントを起こしたり、ユニットを出現させたりする。敵と自分のユニットの間で交戦して、カードのパラメーターや、イベントの使用によって対決する。戦闘にはランダム性がない代わりにカードの引きの面にランダム性を与える。
もう一つはRPG。キャラクターにカードを装備させて自由度の高いカスタマイズをして、装備カードとは別に、戦闘するときにカードを使って色々と。

SS3弾目に2番目に書いたネタを使うかも。作り始めるのはいつになるか分からないが。

2008/11/07

今日の壁

・壁との当たり判定実装
衝突の式も入れたが適当にやったので予想通り上手く行かない。汎用性がない上に汚いので作り直し必須。

再びOpenCVやOpenALに興味を持ってみた。特に後者の日本語情報の少なさが魅力。OpenCVでもカメラの画像の取得にはDirectShowを使っているようなので微妙。どちらもC言語で書かれているので、大きな面倒はなくD言語のインポートヘッダを書ける。

2008/11/06

今日の時計

・エネルギー計算
昨日に引き続き。式は変わっていないはずなのに、今日試したら直感にあまり背かなかった。衝突面の角度によって大きく差が出る模様。

一般相対性理論勉強中。シュヴァルツシルトの解をだいぶ理解した。今の状態でもプログラムが書けそうだが、この先の章に具体的に運動の計算が載っているのでそこを読んでから。

SQLiteに興味を持ってみた。ただ、蘇生に使うのは今更感があるし、復讐では必要性を感じない上D言語用にするのが大変そう。現状使い道があるとすればパラボラマスター程度だが、毎回ランダムで設定をしたほうがいい気もする。

2008/11/05

今日の直感

・エネルギー計算
衝突によるエネルギーの損失が、どうも変なように感じたので損失を直接計算する公式を使うのをやめて、前後それぞれの運動エネルギーの和を求めてその差を取るという方式に変更したのだが、結果が変わらない。その式はあっているはずなのだが、どうも直感的に変に感じる。運動エネルギーの損失はそんなに直感から背く結果となるのだろうか。

Re:Actionで、ボス敵を出そうと思って暫く構想。普通に大きいだけの丸では面白みがないので、もう少し複雑な形を取りたい。だが、衝突判定の都合上円以外のものを使うの大変。ということで、円をいくつかつなげた物をボスにする事に。ただ円を繋げるだけでもあまり面白くないので、化学からネタを引っ張ってくることにした。

相対性理論の勉強を開始。学部3,4年生向けと書かれていたので、4年生の自分にはぴったり。まだあまり進んでいないが、ややこしさがなさそうでいい感じ。

OpenGLでモデルファイルを読み込むライブラリを見つけた。まだ試していないが、これで上手く行くようであればフォトンとかもOpenGLで作りたい。

2008/11/04

今日の鵺

・Re:Action進行
全方位シューにしようと思っていたが結構きつかったので横シューにした。弾と敵との間の判定実装。

Re:Actionの完成日を宣言しておいてなんだがそろそろSSも作りたくなってきた。

それから少し考えたこと。「個性的な鵺」について
鵺というのは西洋で言うキメラのような物だが、キメラ程はパーツになっているのが変な動物ではない。でも個性的な見た目をしている。
しかし、平凡な要素を沢山足し合わせたゲームや物語というのはたいてい没個性的。奇抜な要素を組み合わせても個性的になれないことがある。この鵺と、ゲームや物語の間の差は一体何であろうか。

2008/11/03

今日のトンネル

・デバッガ使用成功
・Re:Action進行
Code::BlocksでのDdbgの使用に成功。デバッガを指定するところに、ddbg.exeではなくもう一つのバッチファイルの方を指定すると使えるようになる。その際、ファイルを選択するダイアログではExeファイルしか指定できないようになっていて、ファイル名を手書きで指定するのがミソ。使ってみた感じ、Descentから使ったときよりも使いやすく感じたが、何故かSDLの初期化が異様に遅くなる。

乱数を使いたかったので、ドキュメントを参考にしてやったら何故か未定義と出る。良く見れば使っているDMDのバージョンが1.0系列で、使おうと思っていた乱数の機能はDMD2.0系列からのサポートだった。そこで、2.0を入れてコンパイルして、最初に文字列がconstであることに引っかかった。これはキャストを使って解決したが、今度はOpenGLのリンクでずっと文句を言い続けた。インポートヘッダを書き直したり、インポートライブラリを作り直したりしてリンクが通ったと思えば、変数を使うと変なタイミングで例外が出て、OpenGLの関数を使うと確実に落ちる。
色々試したが上手く行かなかったので諦めて1.0の乱数を使っている。マルチスレッドを使わない限りは大きな問題が発生することはないそうなので妥協。1.0に戻すとき、ライブラリファイルを変えたまま戻し忘れていたせいでOpenGLの機嫌を損ねてその原因の究明にも時間がかかった。

なんだかんだあってD1.0でRe:Actionの開発を進行。仕様書を書いて仕様を固め、その実装に入った。現在敵を沢山出して動かすまで。ランダムの関数の戻り値がuintだったことで微妙に詰まったり。
ゲームの救済システムにトンネル効果が登場予定となった。トンネル効果が意味を持つスケールよりも明らかに大きすぎるのだが、トンネル効果と呼ぶのが一番しっくり来る。
Re:Actionの完成目標は今月20日に設定。

2008/11/02

今日の演習

・開発環境変更
・反動ゲームタイトル決定・進行
・蘇生ストーリー発案
D言語の開発環境を、DescentからCode::Blocksに変更した。Descentに比べて、正式にコンパイラがサポートされているのがいい。コード補完機能はある程度動くが不完全。Descentでは他のファイルに書かれたものは補完されないようだったが、こちらはまだ基準が分からない。このIDEは本来はC++用なのでC++の文法で通じるように書いたところは利くのかもしれない。
デバッガは動かない。Ddbgと連携できると公式には書かれていて、スクリーンショットもあるのだがその設定方法が書いていないように見える。

反動ゲームのタイトルを決定。「Re:Action」。つまりは反作用。アクションゲームに対する一つの回答、とかいう訳ではない。そもそもアクションゲームというよりはシューティングに近くなりそう。GIMPを使ってロゴを描いたりもしてみた。
衝突の式を自分で計算せずに他のところを見て実装。これから一般相対性理論を自力で学ぶのだからこれぐらいわざわざ車輪の際発明をしなくても許される、と無理やり妥協。めり込む問題は美しくない形で解決。そのうち直す。
衝突によるエネルギーの損失に比例した量のパーティクルを出す機能を付けた。パーティクルをただの演出から、ゲームの重要なアイテムに格上げ予定。

蘇生の4面から5面へのストーリーの展開も考えてみた。これまで考えていた案に比べてより筋が通っていて、且つキャラクターの名誉を傷つけない妙案。ついでに5面のコンセプトを考えてみて、その結果奥義の名前が決定。

2008/11/01

今日の回転

・衝突仮実装
物理のノートを読んだら式が出てきた。複素平面を利用して、速度ベクトルを衝突面に沿うように回転させ、衝突の法線方向の要素に関して衝突の演算。その後保存されている衝突の水平方向の要素と合成して、最後にXY座標に合うように再び回転させる。
行列が出来なくても複素平面を使えば2次元なら簡単に出来る。3次元も多分可能。
今のところは、衝突した後相対速度が落ちて、物と物がめり込むようになっているが、衝突後に適当な距離に矯正してやれば解決するはず。

ブロック崩し風の背景に、色々とグラフを書こうかと思っていたが、数式をそのまま背景に描画するのも悪趣味でいいと思った。衝突するたびに背景に衝突の数式を出してみたり。ブロック崩し風の演出のコンセプトは数学、反動ゲームのコンセプトはパーティクル。
画面が見えなくなるぐらいにパーティクルを出すネタというのはいいと思う。

2008/10/31

今日の一歳

・ここ一周年
・反動ゲーム製作開始
・衝突方程式作成
何時の間にかの一周年。でも今出せるネタがあるわけでもない。困った物だ。移転先は未だ検討中。何のお祝いもない誕生日。

昨晩思いついたアイデアを1.5時間ほどかけて実装した反動ゲーム。でもこの程度ではお祝いに出来ない。
今日は頭がそこそこまともだったので衝突の方程式も書いた。合っているかは知らない。少なくとも効率のいい計算方法ではないはず。

作っていて、ライブラリにベクトル演算機能を標準でつけるのも悪くないと思い始めた。

2008/10/30

今日の0.5

・数学遊び
昨日の式は積分が間違っていたので正確に積分を行ったが、そもそも積分を使うこと自体が誤りであることに気がついた。そこで、積分のロジックを当てはめて長さを計算してみたが、平方根の計算で詰んだ。(1+h^2)^0.5+(1+2h^2)^0.5+・・・+(1+(n-1)h^2)^0.5という感じ足し算を行う公式を知らない。存在するかも分からない。
計算結果の検算に使うために求めていた概算の方法で誤差が出ることを妥協して求めるのが最も現実的な計算と思い始めた。どうせグラフの点を打つ位置は整数にするのだから構わないのではないか。

衝突の公式を求めようとしているが今日は妙に頭が働かない。

2008/10/29

今日のリスト

・ToDoリスト作成
・円描画実装+α
・数学遊び
いろいろやることを思いついたのでToDoリストを作っておいた。日記だと日々の更新で埋もれる可能性があるのでWS本体の方に作成。

円の描画機能の実装。他に比べて格段に処理が多いので多用は禁止ということにしておく。Zバッファを実装しようと試みたが、αブレンドとの併用はやはり上手く行かない様子。作ってもあまり使う機会もないので諦める。

ブロック風の背景に色々グラフとかを書こうと思い、毎フレームごとに同じ長さが伸びた方がきれいだろうと思ったのでy=x^2のグラフの長さを求める計算をしてみた。微分っぽいことと積分を組み合わせてやったが、積分した時点で数字が異様に大きくなった。第一段階で求めた長さは√(4x^2+1)。これは手法が根本的に間違っていない限り合っている。これを積分した結果が16/3*(4x^2+1)^1.5+C。計算を間違えている可能性があり、そもそも積分を使うことが正しいのかわからない。明日にでもy=xやx^2+y^2=1のグラフについて同じ処理をして考え方があっているか調べようと思う。
正直微積を使わずに概算でも構わないようにも思うが折角なので使う。

あと、衝突の計算法を思いついたので休み中に実装する。衝突が扱えれば3本できる。
一般相対性理論も入門の本を借りてきたので頑張ってみたい。
プリンの落下は物理法則無視で適当に縮んでバウンドすればいいと思う。

2008/10/28

今日の空間

・ライブラリ関数整理
・プリミティブ描画実装
思いついたのでライブラリの関数を変な風に整理した。関数のジャンルごとにabstract classに分けてstatic関数としてつくり、namespace的に使う。この利点はジャンルごとに変数を宣言できる点と、staticコンストラクタやデストラクタが使えること。scope文を使っても良かったがこちらは何も意識せずにちゃんと終了処理をやってくれる。

今まで面倒がっていたプリミティブ描画関数もようやく実装。点、直線、多角形の描画を作成。同じ名前の関数なのに4種類作ったりしたので無駄に面倒だった。頂点カラーを指定する機能もつけておいた。
円の描画はOpenGLの機能としてなかったので保留。実装するにしても相当重い処理になる。
折角3次元なのでZバッファ機能も実装してみようかと思っている。

2008/10/27

今日のうずまき

・ブロック崩し風製作中
あまり進歩はない。ブロックの部分をどう作っていくかを考えている。そろそろ物理や数学の資料をあわせていかないと困難な部分に差し掛かってきたので製作が停滞しそう。物理は物体同士の反射、数学は背景模様の作成に使う。
ゲームのメインの部分はモノトーンで作って背景はランダムな色のパーティクルで描こうかと思っている。目が痛そう。

パラボラマスターに使う重力の方程式を考えている。ニュートン力学での重力の公式はただの3次方程式なのでその解を求めさえすれば済むのだが、一般相対性理論でやろうとなると一転して分からなくなる。一番分かりやすいはずのシュヴァルツシルト解でもよく分からない。フォトンではカー解が必要なので全く分からない。主に前提として使われている記号の意味が分からない。あとそれをちゃんと実装できるのか。R言語という数学専用の言語があるらしい。

何だかんだ言って中規模作品系よりもSSの方が作りやすい。
古典物理である剛体の衝突運動が扱えれば卓球とブロック崩し風と反動STGが、ゴムのような物と床との衝突が扱えればランチャが、シュヴァルツシルト解を理解すれば超重力天体にまで拡張できるパラボラマスターが、カー解まで理解すればフォトンが作れる。実際のところフォトンはどれだけ妥協するかが重要なポイントである。

2008/10/26

今日の複素数

・文字列描画作成
・ブロック崩し風本格製作開始
文字列描画がようやく上手くいった。表示や、透過の問題はSDL_ttfにあったサンプルを参考にしてやった。日本語はフォントのせいだったらしい。テストにずっとArialを使っていたのを、VLゴシックに変えたら上手くいった。Arialも日本語表示に対応しているはずなのに不思議。
ソースコード内に日本語を書いても元々D言語のソースはUTF8で保存しているのでDのstringからC形式の文字列に変換するtoStringzを使うだけで使用できるのは強み、だと思う。コンソールやウィンドウのタイトルに日本語を使うにはtoMBSzを使うと行ける。が、Eclipseのデバッグ用コンソールは何故か日本語を表示すると化ける。もっともコンソールに日本語を使う必要はあまり感じないので構わない。
ライブラリはあとは音楽再生機能の実装と各種プリミティブの描画の実装。それから描画関数のバリエーションを増やす。

手始めにブロック崩し風の製作を本格的に開始。パドルを回転させるのだが、その操作方法に少し悩んでいる。単純に2つのキーに時計回り、反時計回りを割り当てる方法と、上下左右キーを使ってその方向にパドルが来るように回転させる方法と、押したキーの方向のベクトルを加算していってスカラーは変化させない方法との3つを考えたが、どれも一長一短。最初のやつは一番シンプルだが直感的な操作かというとあまりそういえない。2つ目は直感的ではあるが、ソースが長くなるのとパドルが一番横や上に行ったときの挙動が問題。3つ目はソースがきれいなのと直感さが両立されているが、回転する角速度が変化するので微調整が不便そう。

2008/10/25

今日の反動

・オブジェクト指向にライブラリ変更
・拡大回転描画実装
・新作ネタ
クラスのコンストラクタでファイルを読んで、クラスに描画関数を持たせ、デストラクタで開放する。GCを活用することでだいぶすっきりした。D言語にはデフォルト引数指定がなさそうなので関数のオーバーロードで代用。
回転拡大描画も実装。回転描画だけ指定する座標が中心座標というのも気持ちが悪かったので全て中心座標を指定して描画するように変更。平行移動、回転、拡大の行列変換を使っている。
SDL_TTFをOpenGLで使おうと試みていて、文字色が青になるのと、文字の背景が透過してくれないのが問題。UTF8なので日本語が使えると思ったがそれも上手く行かないのが予想外だった。ソースコードをUTF8で書いているから問題はないはずなのだが。Phobosの変換機能を使って解決すればいいのだが。

またネタが出来てしまった。中小規模作品で6本目。自機を回転させて、ショットを撃った反動で移動する。慣性が働いて、その上移動手段がそれだけなので相当難しくなりそう。敵の弾に当たっても自機が大きく弾き飛ばされる。それで、壁にぶつかるとダメージ。受けるダメージが速度に比例する形式でも取りたい。

2008/10/24

今日の捻り

・OpenGL使用開始
OpenGLが動くようになった。何だかリンカエラーが出てどうしても解決しないと思っていたが、glutのヘッダにextern(Windows)が付いていないのが原因だった。
それで早速OpenGLを使った画像描画を実装。実装するのが面倒で放置していた回転縮小描画や図形描画機能が一気にサポートされた。機能不足気味だったSDLから一転自由度が高すぎて困る。
描画用の関数の美しさも考えて、C言語的なスタイルで設計していたライブラリをオブジェクト指向へ転換しようと思う。デストラクタに終了処理を書けばGCで確実にメモリを開放できるはず。
VC++でOpenGLが動かなかったのはDirectXを使わせようというMSの陰謀だろうか。

2008/10/23

今日のプリン

・ネタ考案
何か作業をしたわけでもないが。中小規模作品4つ作るとなると、それを纏めるランチャが欲しくなった。ので、物理ランチャのアイデア。OpenGLが動くかどうか試してみて、動くようなら3D&やわらかい物落下シュミレーション。

昨日のパラボラマスターはコンセプトを変えてみる。この世界の物理法則の定数を忠実に再現して、縮尺が正確になるようにして作る。ニュートン力学において重力を精密に計算して動かす。投げ方しだいで公転を始めるようなこともできるかも。パラボラといいながら二次曲線ですらなくなる。60FPSだけど、1フレーム毎に2,3周計算を行うことで動きの精度が上がると思う。

あとはライブラリをD言語風に書き直したいと思ったり、GCに頼った書き方ができるようにしたいと思ったり。

2008/10/22

今日の赤色

・ディレクトリ整理
・Touchless実験
ソースのディレクトリを整理。今までソースファイルもオブジェクトファイルもDLLも全部いっしょになっていたが気持ち悪かったのでビルドの出力先とソースコード、プロジェクトファイルの場所を分けた。
DSSSはコンパイラがエラーを吐いてもそれが見られないようで、Rebuildも機嫌が悪く、Antは入れるのが面倒なので結局バッチを書くような形でDMDをそのまま使っている。変更していないファイルまでコンパイルしなおしてしまうが、コンパイルが早く、今作っている程度ではソースがあまり長くもないので問題ない。

ManyCamという仮想Webカメラソフトを使ってTouchlessを実験してみた。ManyCam側の問題でFPSが5程度しか出ないが、問題なく動いている模様。TouchlessのデモのソースがついていたもののC#だったので読めないが、ドキュメントを読んで分かりそうだったので何とかなると思う。あとはマウスの位置に小さなウィンドウがくっついてくるプログラムを書いて実験に便利なようにした。

変なネタが思いついたのでメモ。お題の放物線が示されて、その放物線に近くなるように物を放り投げてどれだけお題に近いかを競うゲーム。玉手箱と同じで、「どうでもいい事にわざわざ拘る」スタイル。色々な場所の重力を忠実に再現したり、重力をニュートン力学ではなく一般相対性理論で計算したりしようと考えてみたが、それらによる誤差よりも他の場所から及ぼされる重力の方が誤差の範囲として大きいので挫折。その放物線よりも、別の面に無駄に拘るというのも考えている。例えば通信対戦にしてSkypeのボイスチャットを組み込むとか、合成音声なりで少年漫画的な無駄にかっこいいセリフを棒読みさせるとか。たとえば「私の幽雅なパラボラの前に打ち砕かれるがいいわ!」とか。

2008/10/21

今日の相似

・ブロック崩し風製作開始
ライブラリをずっと作っているのも飽きてきたので製作を開始。オブジェクト指向を意識してやってみる。あとDスタイルでのコーディング。
演算子オーバーロードやプロパティがD言語だと分かりやすく使えるので積極的に使っている。Descentの入力補完はまだ不完全らしく、プロパティの記法に対応していないようだがあまり気にならない。
D言語パーフェクトガイドを再び借りてきたので契約プログラミングや例外処理もやってみたい。特にライブラリにおいてはそういう処理をやる価値が有りそう。
Phobosのドキュメントを読むと色々と便利そうな機能がある。C++と違って分かりやすく資料がまとまっているのでいい。ただ昔から話題になっているらしいのに未だにUnicodeからマルチバイト文字への変換が簡単にできるようになっていない。自分で変換関数を書くのも何だか面倒なので日本語はSDLの文字列描画以外で使わないことにする。
そろそろ復讐も作り始めたいところ。マップエディタのシステムは大体考えてあるが、キーとなるであろう地形とキャラクターとの当たり判定の仕方を何も考えていない。

2008/10/20

今日の蛇

・移転先検討開始
・Python導入
・Touchless導入
本格的に移転先を探し始めた。掲示板ぐらいは自作して載せようと思っているのでCGI可能で、そこそこ容量があるところを探した。2,3ほどよさそうなのが見つかったので後は比較。移転する内容は大してないので作業は楽なはず。

なんとなくPythonを導入してみた。Python+Pydev。とりあえずHelloWorldをやっただけ。スクリプト言語用として勉強予定。
あとTouchlessもインストール。Webカメラがないのでサンプルの起動が出来ない。サンプルのソースを見て、手に負えそうなレベルであればWebカメラを買って本格的に始める。

習得済み・予定言語をリストアップしてみる。Object Pascal with Delphi(簡単なGUIアプリケーション製作)、C++(ライブラリの使用、GUIアプリケーション製作、CGI製作?)、D(SDL/OpenGL使用、メイン)、Python(スクリプト)。こうしてみると色々触っている気がするわりにそうでもない。

2008/10/19

今日の倍率

・画面全体の拡大縮小機能実装
復讐は320*240の画面サイズで作ろうと思っているので。3Dをキャラのグラフィックに使うと、絵が小さい方がいいかは微妙だが、マップチップは描きやすいはず。

ブロック崩し風について。ブラックホールの蒸発という要素を考えていたが、蒸発し終わる直前だと質量が小さいから引力が小さくなって物が振って来難くなるが、この効果を再現するとバランスが崩れるので無視せざるを得ない。それだと何だか癪なので、ブラックホールの蒸発という要素は無くし、蒸発の影響を考えないような十分な質量のブラックホールにする、もしくはそもそもブラックホールではなく抽象化する。背景を数学的な図形を使った抽象的なものにしたいと思っているので後者が有力。

D言語では実数型から整数型への暗黙のキャストをやってくれない模様。VCでは警告が出るものの暗黙でキャストしてくれていたので、警告を非表示にしてごり押ししていたので少し面倒に感じる。
あと、D言語には参照渡しの機能があるがSDL等ではポインタ渡しを使っているのでその統一感のなさがやや気になる。D

今日の纏め

・製作予定物纏め
ふと思ったのでいつもと時間帯が違うが纏めてみる。
タイトル、言語、ライブラリ、その他、の順で

・蘇生 C++ DXライブラリ 0.50まで完成。操作性改善計画
・復讐 D 自作ライブラリ アクションゲーム
・フォトン C++ DXライブラリ3D ブラックホールシュミレーター
・Lunatic卓球 C++ DXライブラリ3D Touchless (Skype) 壁と物体との衝突
・全方位ブロック崩し風 D 自作ライブラリ 物体同士の衝突 数学的背景画面 (ブラックホールの蒸発)

五又。まるで昆虫のよう。下の3つは中小規模作品で、大体今年度中の完成。上二つは大規模作品で完成時期未定。
下の3つの内どれが完成しないか。フォトンはモデリングをしたから今更引けない。卓球は夢の技術天子盛り。行き詰る要素が多い分完成すると嬉しい。ブロック崩しはDでのゲーム作り第一弾。2Dだから作りなれている。
物理・数学面で詰まりそうなフォトンとあらゆる面で詰まりそうな卓球とD言語で詰まりそうなブロック崩し。製作のモチベーションがどこへ行くかに多分全てがかかっている。モチベーションが弾避けに流れたりする事の無いよう。

2008/10/18

今日の動的

・D言語でDLL使用法まとめ
implibが必要。http://www.digitalmars.com/download/freecompiler.htmlのBasic Utilitiesに入っている。
Pathを通して、使いたいDLLを用意。で、
implib /system hoge.lib hoge.dll
とコマンドプロンプトに打つと、hoge.libが生成される。
これで、

module hogedll;

pragma(lib,"hoge.lib");
extern(C){
int hogehoge(int hogera);
}

という形でDのソースを書く。C言語で言うヘッダファイル。extern(C)の部分はDLLの関数の呼び出し規約による。cdeclならextern(C)、stdcallならextern(Windows)。後者は試していないが。
それで、後は使うだけ。

import hogedll;
void main()
{
hogehoge(0);
}

という感じ。当然、実行するにはhoge.dllも必要。
SDLとかのメジャーなライブラリなら、ヘッダが既に公開されている場合が多いので、必要なのはimplibでインポートライブラリを作る作業だけ。
なければ、素直に手書きしていってもいいし、htodを使うのもいいかもしれない。
結局のところ、CとかでDLLを使うのとほとんど同じ手順で出来る。
動的にDLLを使う方法は知らない。C言語でも動的に使ったことはない。

2008/10/17

今日の変換

・D言語環境完成
・ライブラリをD言語に移植中
DSSSにコンパイラをインストールする機能が付いていたので、それを使って対応しているコンパイラをインストールした。あとはパスを通したりドキュメントを読んでみたりでそれなりに使い方は理解。

これまで開発していたライブラリをD言語に移植。一通りコンパイルできて、ウィンドウを出すことは出来たが、画像の読み込みが上手く行かない。今のところD言語とC言語とで一番大きな壁に感じているのはポインタと配列の関係。と書いたら解決策が思いつく。でも美しくない。
C言語においてはポインタも配列も全く同じように扱えるが、D言語だと配列の機能が拡張された代わりにポインタとの互換性が失われたように感じる。多分解決する為の構文はあるのだろうがまだ勉強不足。
あと、SDL_gfxを使うのがDだと少し面倒そう。とは言ってもこれぐらいの面倒があるのが普通なのかもしれない。

あと、昨日の日記の訂正。OpenALは音関係のライブラリでOpenCVが画像認識。

2008/10/16

今日の埋火

・D言語熱再燃
・画像認識の妄念
カタテマさんを見ていてD言語熱が再燃。調べてみるとDecentというEclipseの拡張機能があって、これに立派な入力補完機能が付いていてびっくり。以前D言語に初めて触れたのが昨年12月28日で、Decentが出たのが今年の2月のはじめ。入力補完がついたからもうDを使うのに問題がなくなってきたので、今作っているライブラリをD言語に移植してこれからはD言語での製作に移行するかも。
一つだけ問題としてあるのはDecentを使ってコンパイルする為のDSSSという奴がコンパイラの1.xにしか対応していないこと。最新版のコンパイラを取るか、VC++感覚でコマンドラインとか何も考えずにコンパイルできる便利を取るか。D言語はあまり深い機能は使う予定はないので、「コンパイラのバージョン上げたら通らなくなった!」ということにはならないだろうけれど、一度そのバージョンにあわせて書き始めたのを別のバージョンのために書き換える面倒は踏みたくない。
Eclipseを入れた勢いでJavaとか始めるかもしれない。始めないか。

マイクロソフトがTouchlessというのをデモ公開したのを見て、画像認識を使った何かを妄想。何も触らずにカメラの前で動くだけで入力になるのは見世物として面白い。Wiiリモコンを更に発展させたという感じがする。MSが公開したSDKを使うのが多分楽。だがOpenALという茨の道もある。だが、一つ大きな問題なのはウェブカメラを持っていないということ。いくらぐらいで売っているだろう。あと画像認識にはどれぐらいマシンパワーが入るのか。携帯電話で文字認識が出来るといってもあれは静止画だから。
音声認識のできるライブラリでもあったらもっと面白そう。

2008/10/15

今日の速度

・SDL_gfx導入
まだ動作を試しただけ。コンパイラが通らないようなソースコードを公開しているのはなかなか凄い物だと思う。
メモリリークを発見してくれる関数というのを見つけた。MSはこの関数の使用は推奨していないらしいが。
Windows標準のフォントのディレクトリを取得する方法も発見。
あとはSDL_gfxで詰まったりしなければライブラリの完成まで問題はない。製作中に必要な機能はどんどん追加する予定なのでライブラリが本当に完成するのはもっと先だが。

ジャンプ問題について調べる為に洞窟物語を見たところ、ボタンを押している間の上昇中は重力加速度を小さくしている模様。ただジャンプの高さは押す時間によって滞空時間ほどは変化していなく、ジャンプの頂点辺りで急激に重力が弱くなっているよう。
自分のアイデアとしてはボタンを押す長さとは関係なく、ジャンプの高さは歩きジャンプと立ちジャンプの2種類で、空中操作で2段ジャンプをさせる。一段ジャンプでそのままだとかなり高いジャンプなのを、何かの行動によって上昇をキャンセルや急速落下させるというのも考えたが操作が煩雑になりそうなので微妙。動きが速いとタイミングを取るのも難しいし。ただ使いこなせれば一番小回りの利きそうなスタイルであることも確か。マップシステムの基礎を書いたら色々と試してみるのもいいかもしれない。

2008/10/13

今日の垂直

・紅白改善
昨日書いた後、マルチスレッドを使う必要が何もないことに気付き、昨日のあれをマルチスレッドなしで実装した。まだテストはしていないが、少なくとも遅くなることはない。
ただもともとの設計とは違う通信のタイミングなのでソースが汚く、バグが潜んでいる可能性は大きい。おまけに作ったのが寝る直前なのでますます怪しい。
一番の不安なところは通信開始した最初のループ。

2008/10/12

今日の糸

・文字列表示動作
ライブラリの文字描画機能を作成。文字描画のシステムを開始していなかったのが原因だった。フォントの読込先がカレントディレクトリ内からのみなので、フォントの入っているフォルダを取得したい。

ネットワークプログラム構想。現在使っている手法は「ループ開始→入力取得・送信→入力受信待ち→ゲーム処理→ループ終了」という形。これだと受信待ちでとんでもなく遅くなる。
そこで考えたのがマルチスレッド。入力の部分を別のスレッドに分離して処理する。入力を受けるスレッドを入力を扱う部分が終わった直後に開始して、入力が必要になる部分にたどり着く直前のところでそのスレッドが終わるまで待機する。この方法だとスレッドを作成するのにかかる時間が一つの問題。
もう一つは常に入力を受けるスレッドも併走させておいて、メインのスレッドとは無関係にひたすら勝手に通信し続ける方式。これだとタイミングが微妙になってややこしいことになるかもしれない。
そして書いていて思いついたのが両者を足して2で割ったもの。入力を受けるスレッドは常駐させつつ、シグナルを送らない限りは動かないようにする。
int signal,hoge;

int main()
{
 start(sub);
 signal=1;
 while(~~~)
 {
  mainloop();
  while(signal==1){piyo++;}
  InputProcess();
  signal=1;
 }
 signal=2;
 return 0;
}

void sub()
{
 while(signal!=2)
 {
  while(signal==0){}
  ~
  ~
  ~
  hoge=1;
  signal=0;
 }
}

みたいな。わかりにくい。これならデッドロックも起きないだろうし、同じ変数を同時に参照しておかしくなる心配もないと思う。これでpiyo++が何度も繰り返されるようなことになると通信が重いことだって分かる。

2008/10/11

今日の落下

・ライブラリバグ改善
・蘇生操作性改善作戦
・作品ネタ考案
ライブラリのウィンドウ移動バグが解決。デバッグ実行するときにはウィンドウを動かして閉じると例外が出るが、普通に実行する分には何もメッセージは出ず、メモリをヒープしている様子もなかった。色々悩んだのは何も意味がなかったということ。
OpenGL+SDLは他の環境でも非動作確認。でも環境によって結構差が出る。

蘇生の操作性を全般的に向上させる作戦を思いついた。今ある案としては従来の一文字ごとに会話を送るのと、行ごとに会話を送る2つの設定を使えるようにする。それから、ボタン押しっぱなしで項目の選択が出来るようにする。これを実装してどれぐらい改善されるか。

あと作品ネタ。ドッヂボールをやっていて思いついた。当たり判定の周りに板か何かをまわして弾を受け止めて当たり判定を守るゲーム。ブロック崩しっぽい。結構ありきたりなのでこれをどう変な物に育てるか。
原子核の周りに電子をまわして突っ込んでくる光子か何かから守るゲーム。何かの周りに鉛の板をまわして核分裂で出来た中性子から守るゲーム。ブラックホールの周りに何かをまわして降ってくる物質をブラックホールに入れないようにするゲーム。
最後の奴をフォトンに絡めるのがいいかもしれない。ブラックホールの蒸発まで時間を稼ぐとか。
これだけだと単調なのでショットでも出して降って来る物質をはじき返すようにしてみるのもいいかもしれない。ショットは重力でブラックホールに向かって落ちてくる。
別に意味づけしなくても抽象ゲームとしても構わない気もする。

2008/10/10

今日の数式

・グラフ描画プログラム作成
ふと思いついたので、関数のグラフを書くプログラムを書いてみた。純粋な好奇心と弾幕に使えるという期待とがきっかけ。∞という形を数式で表したいと思って三角関数をいじったりしたがあまり納得の行く形が作れず。
x=cos(θ),y=sin(θ*√2)でグラフを書いたら正方形が出来て面白かった。
適当な軌道でも弾源も動かしながら撃てばそこそこきれいな形になりそう。

2008/10/08

今日の卓球

・効果音再生実装
・αブレンド実装
どちらも結構簡単だった。
そして文字列描画だが、DLLを入れても上手く行かない。多分原因は使うライブラリ周りにあると見ているが不明。
あとは音楽の再生と、拡大・回転描画でもあれば十分に使える。どちらも実装の目処はついている。
ウィンドウ移動問題は強制的にフルスクリーンを使わせるか、終了時にエラーメッセージが出ても気にしないようにするか。

卓球をやっていて思いついたネタをメモ。卓球台が動いたり、小さかったり、卓球台に当てては駄目な卓球。

2008/10/07

今日のフォント

・画像描画修正
・文字列描画多分作成
・マウス入力作成
PNG等を読めるように。透過色の設定とかが良く分からないので標準の画像フォーマットはPNGということにする。
文字列描画のコードを書いたが、DLLがなかったので実行できない。
音再生のコードを書こうとしたが情報不足で書けなかった。
マウス入力は上手くいった。
だいぶ必要な機能は揃ってきたがウィンドウ移動のバグはやはり直らない。必要な機能をそろえるにつれてDLLが大量に必要になってきたのもあまり気に入らない。現状でDLLが5つ必要。Libファイルに変更しようとしたが良く分からない理由でビルドできなかった。

ジャンプというアクションについて考察。精密な回避を要求するようなゲームではボタンを押す長さによるジャンプの高さの変更は必要。だが、初速度は飛び始めるときに設定しなければならないしジャンプ中に重力を強めるのも軌道が不自然になる。そこでボタンをリリースしたときにジャンプするというのも考えたがそれだと即座に高いジャンプが出来なくて不便。どうすればいいか。ジャンプの高さは一定にして空中ジャンプを作るか。

2008/10/06

今日の分割

・ライブラリグラフィック周り作成
256色ビットマップの読み込み、及び分割読み込み。もっと色々読めるはずなのだがSDLの機嫌が悪い。ウインドウを動かすと終了するときにエラーが出たり、OpenGLが使えなかったり画像の透過情報が読めなかったりと、とことんSDLの機嫌が悪い。
SDLのソースコードを持ってきて自分でビルドしなおしたりしているし、メジャーなところのサンプルを引っ張ってきたりしているのに上手く動かない。これだけ不安定な状況だとまともな製作に取り掛かりにくくて困る。

2008/10/05

今日の断念

・OpenGL使用を断念
ベンチマーク以前にどうやっても動かない。色々なサンプルコードを実行したがいつもエラーが出る。Vista対応のベンチマークソフトを入れてみたらOpenGL2.0対応と出たが、レンダリングテストをしたらメモリ保護とかで落ちた。調べてみてもOpenGLの動作が遅いという現象はあれど動かないという情報はなかった。でもなぜかABAGamesのゲームが動くので妙。
というわけで、重さ以前に動かないのでOpenGLはきっぱり諦めることにする。完全にSDLのみで作成。どうせ一度に表示するグラフィック数は1000以下なので大丈夫のはず。ひとまずは特に変形のない画像描画と文字の描画と分割画像読み込みでもあればグラフィック面でのことは足りるはず。そのほかはFPSの安定や音周り。
緑青をタイピングゲーム化するとか考えた。弾幕を制御するスクリプト的な文章を打たせて弾幕を張る。タイピングが遅くても弾避けが得意なら勝てるステキなルール。いっそ文字弾幕。

2008/10/04

今日のSDL

・ライブラリ開発開始
SDL+OpenGLだがOpenGLに関する資料が不足していたのでそのときの資料だけで出来たメインループと、入力を作った。
どうもOpenGLでの2D描画のサンプルを見る限り、SDLの2D機能を使った方が無駄が少なそうに思える。OpenGLだと2D描画専用の関数ではなく3D空間にZ軸無視で四角形を描画し、それにテクスチャマッピングをするという形。汎用性が高い分凄く重い気がする。ベンチマークを作ってみてSDLとどちらが重いのか試してみる。2Dゲームの画面を斜めから見ても嬉しくないのでSDLの方が速いならOpenGLを使わずSDLのみでやってしまおうと思う。

2008/10/03

今日のGL

・復讐計画変更
語弊のある書き方。仕方がない。
DirectXで使う部分だけの3Dと2D+αを実装してライブラリを作ろうと思ったのだが3Dのサンプルを見て嫌になった。何でモデル読み込む関数が標準でついていないんだか。
それで、計画変更。まず復讐での3Dの使用を諦めた。もともとゲーム自体のZ軸はなく、普通のゲーム画面でZ軸を含めて描画すると「どうしてZ軸移動しないのだ」というツッコミをしたくなる。イベントや背景に3Dを使おうというのがもともとの考え。だが、そのために3D作成は明らかに労力に見合っていないのでやめた。
次に考えたのがDirectXで2Dのみを使用。だがそれならDXライブラリを使わないメリットがなく自作ライブラリを作る気がなくなったのでそれも止めた。そこで、どうせライブラリを作るならあまりライブラリを見かけないOpenGL+SDLでやってやろうと。
暫くその組み合わせについて調べていて、D言語での使用という手が出てきたのでそれを試した。1時間以上情報を集めた後実際に作り始めたのだが、温室プログラマにとっては開発環境が辛かったのでD言語を諦めた。BCC時代よりも厳しい環境だった。エクリプスやvimを使うと便利ではないかと思っても見たが良く分からなかったのであきらめた。
そして結局C++でOpenGL+SDLを使うという計画に落ち着いた。まだ実際の作業をしていないからどれだけ厳しいのか分からないがD言語を調べていたときにみたサンプルでは2Dの分には結構簡単そうだったので頑張ってみる。
この組み合わせなのでWindows以外の環境に移植が容易になりそうだが、今のところLinuxもMacも使っていない。アンドロイド移植にはJavaが必要でどうしようもない。

2008/10/02

今日の復讐

・SS製作開始一周年
・蘇生0.50リリース
・SS第2弾製作開始
実は今日がSSの製作開始一周年。一周年ということで大きなことを二つ。

一つは蘇生0.50のリリース。予定通り。これでバージョン番号も0.5となり、ステージも半分が完成。長かった。タイトルも『a Story of the Sword 蘇生』で正式決定にする。

そしてSS第2弾『復讐』の製作を開始。今度は「破壊的ジャンプアクションゲーム」と銘打ったそのままの内容。蘇生がC++の勉強をしながらだったのに対し、こちらはDirectXの勉強をしながらの製作。DirectXのサンプルを見ながら必要な機能を自作のライブラリに纏めていく。
アクションゲームの製作は実質初めてなのでDirectXあわせてかなりの苦戦が予想される。あとはよりC++ライクなスタイルでの作成をしたいと思っているがまだクラスの設計などをしていない。namespaceを使っているだけ。

あと前々から思っていたが、そろそろウェブサイトを移転しようと思っている。ファイルアップロードが遅かったりFTPが出来なかったりがそろそろデメリットとして目立ち始めたから。Bloggerは継続。


BlackMan.KCLC.googlepages.com/ss

2008/10/01

今日の時計

・システム時計変更ツール作成
・SS0.50仕上げ
ふと思いついたので、システム時計を指定の時刻に変更するツールを作った。変更後元に戻す機能はまだ作っていない。形になったら公開するかも。APIという物が少しは分かってきた気がする。あとMSDNの情報はやっぱり強い。
SSは会話を書いた。これでほぼ完成。明日リリース。上手く会話を纏められなかったのと奥義取得後イベントが保留になっているのが問題点。

2008/09/30

今日の雨

・設定機能改善
・マニュアル更新
設定機能が自分でも使い難いと思っていたので改善。
マニュアルは最新版に向けて。10月2日リリースと書いたのでその日に出す。

2008/09/29

今日の空

・Skypeいじり
・3D主人公作成テスト
・弾グラフィック調整
ウィンドウなしでもSkypeが使えることが分かったが使い方が良く分からない。
3Dの主人公を作ったが明らかに他の絵と浮いている。当たり判定も自機中央からずれている。蘇生では基本的にドット絵で行くことにする。
弾の回転描画が美しくなかったのを何とかしたいと思い、暈しとかをしてみたが効果が良く分からない。弾が詐欺判定になるかもしれないので保留。弾に縁をつけるだけでだいぶ見た目が変わるのかもしれない。そもそも弾のグラフィックが小さいのか。どうすればフルスクリーンでも解像度が高いように見せられるのか。アンチエイリアスか。
明日リリースは諦め。10月2日を目指して。フォトンとかをいじる気が薄れているこの頃。
SS第2弾のキャラグラフィックはトーン調で統一するのがいいかもと思い始めた。でもこのままSeleneを使い続けるべきなのかも分からなくなってきて鬱々としている。

2008/09/28

今日の英語

・Skypeいじり
・SS奥義ボーナス仕様変更
・SS文章執筆
Skypeをまだいじっている。が、英語の壁とかに突き当たってどうも先が見えない。PythonとかJavaとかなら専用の物があるので、使うのならそちらがいいのかも。C++で本格的に使うのは諦めムード。他の言語で何か作ってプロセス間通信。他の言語の学習の手間を考えなければそれがいいのかもしれない。Javaなら色々な展開先が有り、情報も豊富。Pythonはスクリプト言語を学んでおきたいというのにあっている。両方学ぶのがいいかも。
奥義ボーナスの仕様をやさしくしておいた。作成するにもプレイヤーにも優しい。だいぶLv3魔法は敷居が下がった。
SSの文章を作成。今月中に出すという実感をあまり持っていないスローペース。まだ3面は丸々書いてない。リリースは10月2日あたりでもいいかも。

2008/09/27

今日の電話

・Skypeいじり
SkypeのAPIをいじっている。電話をかけるのに成功。これで紅白のオンライン対戦でもやりたいところだが、果たしてDXライブラリを使っていてもCOMが使えるのか、それが問題。多分使えるのだろうけど。

2008/09/26

今日の女神

・フォトン進行
・弾幕作成
モデルの表示まで。若干ソースが汚くなってきて癪。メインのオブジェクトにたくさん持たせれば解決できるがそれだと多分余計に汚いので仕方なくグローバル変数を使っている。クラスの設計が悪い気も少なからずある。
フォトンちゃんのモデリングがひとまず完成。妖精というよりも女神というような貫禄。
ブラックホールの本を一気に読んだが一気に読むと良く分からない。というよりそんな読み方で数式が頭に入るはずもない。そして本を読んで色々と大変そうなことに気がつく。背景は重力の影響でブラックホール内部ではなくなる。時空が歪むから単純な描画だと十分に表現できない、むしろ表現はまず無理。どこまで簡略化するかの線引きが難しい。

SSは弾幕の作成。3面の会話を仕上げる気はない。4面が着々と進行している。風神雷神に天候を操る能力を付加する予定。現状でほとんどギミックがない。現状、弾源はボスだけで機動の変化は壁での反射と交差弾のみ。気合避けだらけだとバランスを取りにくい。精神を削る。

2008/09/25

今日の髪

・フォトンちゃん作成中
髪の毛を作った。基本形の短冊を作った後それを大量にコピーして髪の房を作り、それをまたコピーしていじって髪の毛らしく。スキマがあって微妙にはげている部分があるが無視。ポリゴン数が2000を越えているがパワーで。
ブラックホール関連の本を見つけてきたのでそこそこまともに動きを実装する、かもしれない

2008/09/24

今日のカプセル

・フォトンコーディング開始
Seleneの勉強が一段落したところでコーディングを開始してみた。C#のグローバル変数が一切使えないという過激さを知ったのでそれでも通用するようにきれいなコーディングを目指している。Seleneは機能はいいが直接関数を書こうとすると面倒に感じたので、完全にカプセル化してしまってDXライブラリの関数と同程度のシンプルな関数にしたい。
現在は動かす上での基本のオブジェクトと、3D描画用のオブジェクトの初期化まで書いた。
製作方針として、まずはフォトンちゃんを発射した後は操作不能のゴルフ的なものを作り、それが十分になって余裕があったら直接操作や、鏡での操作を作ろうと思う。

SS第2弾について色々妄想。アクションゲームはドット絵をいちいち描くのが大変そうなので3Dを使おうと思っている。で、3Dのモデルをそのまま描画するか、それとも2Dアニメーションを撮影してそれを使うかで迷っている。ゲーム自体は2D横スクロール。3Dは基本のコーディングが大変でその分拡張は楽で、動作が重い。2Dは基本は簡単だが拡張するたびに色々と設定が必要で、アニメーション撮影も多分そこそこ大変。ビルボードを使って2D3D半々という手もありかも。
完全2DならDXライブラリが使えるのだが背景は3Dにしたいという思いもあるのでどうするか。
そろそろカテゴリ分けの都合でSS第2弾にもサブタイトルを与えたい。一応の案はあるが何だか安直過ぎるのであまり気に入っていない。出来れば『蘇生』に絡んだ物をつけたいのだがいい言葉も出ない。

2008/09/23

今日の取り消し

・Selene把握
・フォトンちゃんモデリング
・SS選択キャンセル機能実装
Seleneでモデルの描画の仕方まで分かった。あとはインプット辺りが分かればゲームを作る基本は揃う。
フォトンちゃんをモデリング中。残りは頭のみ。3Dペイント便利。だけど上手く描けない。髪の毛とかは相変わらず難問。いい加減勢いで付けたフォトンちゃんという名前もアレになってきたが、呼び捨てだと作品名予定と被るのでよろしくない。
少し本を読んだところ、膜宇宙どうしが少しぶつかってできたワームホールに突っ込むという設定だとあまり理論を無視することがないのでいい感じ。操作方法は、自分の視点の方向にフォトンちゃんが突っ込んでくるような視点にして、カーソルキーで鏡の角度を調整、Zキーで鏡を設置、という形がいいと思ってきた。3D酔いが怖いが。
ブラックホールと光というテーマだが相対性理論なんて実装できないので、光に対してニュートン力学を働かせるという偽理論での実装を予定。

SSは選択肢のキャンセルを付けた。操作性がだいぶ改善されたのかもしれない。自分では今までの形に慣れていたのであまり気にならない。
あとは4面の弾幕を調整してまともに遊べるようにしたり、5面の弾幕を試作したり。4面のコンセプトはシンプルさ。出来るだけギミック弾を使わず、単純な動きをあわせて弾幕を作りたい。
0.50のリリースは3面の会話の完成と奥義取得ボーナスイベント作成。3D関連はまだ時間がかかりそうなので2面のみにしておく。

2008/09/22

今日の月

・Selene勉強開始
・3面後会話作成中
Seleneの勉強を始めた。ドキュメントやサンプルがDXライブラリに比べて充実していないので、結構大変。まだ2Dで直線を描画するだけ。テクスチャの描画を一つの目標として進めているとこ。C++らしい書き方でライブラリが作られているのでC言語ライクな書き方ばかりしている自分にはまだ慣れない。
3面のだいぶ前から考えていた会話を実装している。あまり会話が盛り上がらない気もする。まあ3面だし。
あと実装したいと思っているのがXキーによる選択肢のキャンセル。これを実装すれば町の操作性が大幅に良くなるはず。「戻る」の選択肢を上におく必要も多分なくなる。やり方は考えてあるので手間がかかるのみ。

ちょっと本を読んだところフォトンちゃんは特異点につく前に無限の青方偏移を起こしてしまうらしい。質量はないけれどエネルギー無限大だと特異点になるのだろうか。まあそうすると駄目なので赤・青方偏移の影響は無視。表現できないので重力による時間のゆがみも無視。ブラックホール内部はどう表現すればいいのか難しい。フォトンちゃん以外にも何か外から降らせようか。宇宙船を操作するという構想の段階では外から降ってくる物を避けるという事も考えたが光の妖精が何かにぶつかるというのも違和感があるので、当たり判定のない何かの粒でも降らせるのがいいか。

2008/09/21

今日の就任

・一年終了
・適当作品作成
・SS4面作成開始
・新作構想開始

今日で一年が終了。これからまた一年が始まる。


まず、今朝の電車内での「当たり判定で自機を操作するゲーム」の構想をゲームにした。
つぎにSS4面の本格的な作成を開始。弾幕を4つほど作成し、マルチボスシステムの動作を確認。0.50は0.50で今月中に発表。

そして新作。テーマは「物理演算」。小説的で運命的な偶然で先の適当作品が物理演算らしきことをしていて、それを大幅に強化した(3D)作品を作る。構想もまとまってきたのでここに記録。
まず、ずばり「ブラックホールに吸われるゲーム」。きっと世界初、のはず。ストーリーは
『百億年以上前から宇宙空間を飛んでいた光の妖精「フォトン」(体重0g)が、ブラックホールに差し掛かる。ブラックホールに気がついたフォトンちゃんはあわてて軌道修正をしようと試みるが・・・』。カオスの一言。最初宇宙船にでもしようと思ったがブラックホール内を飛ぶなら光速で、それが質量を持った物だと癪なので光子に、ただの光子だと軌道修正できないから擬人化。
ゲームの方法としては自転しているカー・ニューマンブラックホールのエルゴ領域の近くからフォトン発進。基本的にそのまま事象の地平面内へ突入。その後、ブラックホール中心のリング状の特異点を通り抜けて異世界に飛べばクリア。特異点にぶつかって特異点になったらゲームオーバー。凄く上手く操作することで突入前にブラックホールから逃れるという終わり方も作りたい。
作るうえでの課題として、
・フォトンちゃんの3D作成
・Seleneの勉強
・3Dでのベクトル演算の勉強
・ブラックホールの自転での影響の再現
・物理演算
どれも重め。最初はネタ。真ん中はそれほど難しくないとは思う。
事象の地平面以降は観測不可能な領域で、特異点では相対性理論が通用しなく、特異点リングの先の世界は全く分からないからある意味でファンタジー。フォトンちゃんも。
加速器での発見でこの仮定が覆ったりしないといいが。
それにしてもこの説明でそのままわかる人がどれだけいるのか。5年前ぐらいから自分のその方面の知識もあまり進歩していないので、しばらくそっち方面の本を読み漁ろうと思う。
SS第2弾はフォトンが一段落するまでやらない。どうせSeleneの勉強なしでは始まらない

2008/09/20

今日の特別

・SS特別版アップ
・踊るPC完成
ここから。おまけで紅白緑青。マニュアルが中途半端に古いバージョンのままなのは仕様。特別版の賞味期限は0.50リリースまで。一応今月中を予定。ストーリーとマニュアルを書けばいいと思う。

2008/09/19

今日の焼き

・ランチャ完成
・踊るPC進行
ランチャはいろいろと機能拡張された。結局12個制限から18個までに許容量アップ。
踊るPCはあとはモデルの動きの追加と曲の作成。ようやくコントロールチェンジの使い方を理解。SSは結局簡易マニュアルどころか最新版に対応したHTMLマニュアルも書いていない。何とかなるだろうが。

2008/09/18

今日の地霊

・SS特別版完成
やっと。残るはSS簡易マニュアルと踊るPCとランチャ。簡易マニュアルは古いバージョンのテキストマニュアルを適当にいじればいいと思う。踊るPCはまだ全然。適当に作ればいいと思っている。ランチャは文字サイズを変えて収容数を増やせばOK。後入れるソフト集め。
SSは3面の完成と特別版での機能削減。3面は敵の挙動を適当に作ったので道中があまり美しくない。ザリガニやカニのはさみをイメージした攻撃だが良く分からない。3面はドットイート困難。斧Lv3あたりだとだいぶ楽になりそうでいて、実は槍の尻撃ちのほうが使える。弾数がやたらと多いのが3面の特徴とでも。2面はパターンの緻密さが特徴といってみる。1面は簡単さが特徴でいいか。
ボス戦は作る前は楽しく作っていると飽きてくるが道中は作る前は憂鬱だが作ってみると楽しい。
明日辺りにリリース。

2008/09/17

今日の鋏

・緑青完成
・SS進行
・踊るPC作成開始
まずは緑青の完成。色々と考えもあったのだがあきらめたのでシンプル化。プレイ時間はかえってちょうどいいぐらいかもしれない。よほど評判が高ければもう少し作りこむかもしれないが自分としては現在のまま放置の方針。アップロードは面倒なので適当なときに。
SSは雑魚敵の挙動を完成と、アーケードモードの調整。3面は硬さをはじめとする鬱陶しい敵が多め。地形で狭い画面上に遠慮なく自機狙いをばら撒いたり。あとは敵のテーブルを書けば3面ひとまずの完成。
アーケードモードは、面終了時にゲームオーバーの判定を行うようにしてみた。途中でどれだけミスしても面の最後までは絶対にたどり着け、一定数以内のミスなら次の面に進めるというシステム。あと説明の簡易化のために技を一つ取ったらその場で回復。1面はプレイ時間が3分程度。
踊るPCはモデリングとボーン作成と、プログラムの基礎の作成。モデリングを30分かけずにやったので恐ろしい適当さ。適当にアニメーションさせたが悪くない。マルチモーションをまだ使ったことがないので詰まるとすればそこだけ。AquesToneで入れている暇があまりなさそうなのでMP3を適当に流しておくか、蛙の歌で延々とやるか。

2008/09/16

今日の展示

・デモプレイ実装
・3面道中製作中
時間が半端なので今書く。
デモプレイ機能を実装。タイトル画面で暫く何も決定せずに放置しておくとデモが流れる。もちろんコメントつき。デモなので謎な死に方をわざとしている。
道中製作中。道中合計で3600フレーム。それを埋めればおしまい。2面よりもわずかに短い。半分の敵の挙動を書き終えた。

0.50の完成は今月末の予定。20日までには会話とかシナリオとかLv.3魔法とか3D背景とかは間に合わないので。最小限に3面を完成させることだけを20日までの目標にする。

SSの完成まではあと3面道中の完成、及びアーケードの調整。ネタはでている。緑青は紅白と同様な対戦システムの完成とドキュメント作成。紅白は完成。ランチャは入れるソフト。踊るPCはまだ何もやっていない。

2008/09/15

今日の通し

・アーケードモードシステム完成
・ボス戦Easy対応
・道中製作開始
・全技取得可能証明
どうにも緑青をやる気が無かったのでずっとSSをやっていた。
まずはアーケードモードのシステム完成。まだ動作を確認していない部分もあるが、一通り正常な動作。ゲームオーバー直後にアーケードモードを終了させるとメモリ確保の関係でエラーがでたのでランキング表示をはさんでそのタイミングをずらした。ランキング表示を第一の目的とせずに実装された哀れなランキング機能。上位五位までのスコアと名前を記録。名前入力はDXライブラリ標準の奴を利用。
まだ難易度は通常プレイそのまま。何度もやっている自分からすれば通常のままでも全く問題がないから困る。操作の簡易化のために基本技能はどんなに進んでも上がらないようにしてあるので自分にとって難しいのはその程度。アーケードモードは一通りプレイし終えた後のスコアアタック的な性格を持たせたいと思いはじめたのでどうすれば初心者向けに変えられるか。ライフ無制限でミスのたびに得点にペナルティが付くようにしてみようか。

3面ボスをEasy対応。Easyでやると1面から3面まで難易度の変化を感じられないから不思議。
そして道中の作成開始。見た目が固い敵が多いのでどういった位置づけをするか困ったがカニを汎用雑魚敵扱いすることにした。今のところは目玉になる地形の実装を完了。
ようやく3面全技取得可能証明完了。奥義が発想の転換で簡単に避けられるようになったので難易度を上げるべきかも知れない。耐久はとんでもない難易度。どうしても避けられなかったので妥協して難易度を下げたりボスの当たり判定の条件を少し変更したり。全体のうち半分をパターン化して避けている。Easyではまともに避けられるのだが通常だと超低速を使わないとかなり厳しい。

アーケードモードのテストとして2面を何度かやっているが3Dのボス戦背景が普通にゲームになじんでいる。道中もスクロールなしで3D一枚絵にしたい。必要に応じてαブレンドなりを使って背景の切り替え。3面背景は水面をどうにか作らないといけないので早速難題になる。

2008/09/14

今日の街頭

・緑青進行
・SSアーケードモード作成開始
もう少しまともに戦闘ができるように緑青をいじり始めた。が、本格的に試してみるとバランスがかなり悪い。自機狙いに全方位を混ぜるだけで簡単に避けられない弾幕が出来る。折角ここまで作ったから一応完成させたいが完成してもバランス調整が困難なのでどうしようもないゲームになる予想。無念。バランスとしては全く被弾せずに決着がつかないか、壮絶な勢いで被弾して被弾するまでどれだけ生き延びられるかを競うゲームになるか。後者は所謂運げー。
SSはアーケードモードを作り始めた。全面を通しでプレイする物。そのまま通しでのプレイを要求するとそれなりに難しいのでライフをインフレさせる。初見でも取れるような技はあまりないので回復を充実させるよりもライフの初期値をひたすらに多くする。魔法がそれなりに使えるなら初見でもそこそこいけるのだろうが、魔法を使えないならライフを多くするしかない。
SSは一箇所を何度でもプレイできるからこそ初見に優しくない攻撃が多いのに、初見で突っ切ることを目的とするアーケードモードはそもそもコンセプトに反している。

2008/09/13

今日の鼠

・ランチャ完成
・緑青進行
・3面雑魚敵作成
・3面ボス絵修正
今日は調子が良かったので沢山進んだ。沢山進んだから調子がいいと判断したのだが。
まずはランチャの完成。多重起動問題は起動されるプログラム側を変更することで妥協。ゲームのスクリーンショットが出る以外は何も演出がないが、動作が重いと困るランチャで下手に演出を作るよりもSSとかの背景を改良する方を優先すべきなので演出なしで完成にする。12本までに対応していて、それぞれ本体の起動とマニュアルを開くことが出来る。マウス操作。
緑青はまともに弾が出るようにしたのとマウス操作対応。どうも操作性が悪く、弾幕を張る準備をしている間に結構撃ち込まれてしまうのでボス側の準備が出来るまでは戦闘を開始しないようにする予定。一旦開始したらボスが弾幕を変えている間も容赦なく時間は進む。後は対戦に向けたシステムの作成とバランスの調整。

SSは3面の雑魚敵のネタがなくて困っていたのだがネタが提供されたので一気に描いた。やたらと甲殻類の多いゲームになってきた。2Dだと上手く書ける気がしなかったいくつかの物は3Dでモデリングしたのをレンダリングして使うことにした。256色ビットマップのドット絵と24bitぐらい有りそうな3Dの絵とが調和してくれるかが心配。主人公3D化もその問題がある。
そしてボスの元ネタの伝説を図書館で見たところ自分オリジナルの見た目とはだいぶ違っていたので本来の見た目に絵を変更してみた。藍色から金色の髪に変更。見慣れないからか凄い違和感。性格も適当に書いたのでもう少し元ネタに沿ったまともな性格にしようと思う。現状では見た目も性格も色々な要素を盛り込みすぎてカオスになっている。

今日の作業で引っかかっていた部分がだいぶ解消されたので何とかなりそうな目処がついてきた。明日明後日の連休で緑青を完成させ、それ以降SSと歌って踊れるPCの製作に集中したい。SSは簡易版マニュアルを作る必要も有りそうだし。

2008/09/12

今日のコメント

・リプレイコメント機能実装
・緑青進行
・ランチャテスト版作成
SSのリプレイにコメントをつける機能を実装。リプレイ再生中に文字を入れることでそのタイミングから入力した文字が表示されるようになる。使い道としてはデモプレイ中に操作説明を表示してみたり、リプレイをアップするときにコメントをつけてみたり。再生中にコメントが出るのは結構斬新だと思うのだがどうなのだろうか。その気になれば制御文字を入れることで表示するスタイルを変えたりもできると思うがそこまでの必要性は今のところない。
緑青はボスが弾を撃つところまで。まだ挙動がおかしいがひとまず弾は出ている。
後はランチャ。3Dで作ろうと思っていたがそれだと古いパソコンで動かず、ゲーム本体は動くのにランチャが動かないという本末転倒の事態になるので2Dで作ることにした。作ってみてでてきた問題として、DXライブラリで作ったランチャからDXライブラリで作ったソフトを起動しようとすると多重起動と認識されて起動できない。それを解決できる関数もあるのだがランチャ側ではなくゲーム側に変更が必要。それが問題。上手くスレッドとかプロセスとかをいじれば解決できるのかもしれないがその辺りの知識がない。
ランチャということでWindowsAPIをいじったのだがなかなか面白い。Delphiのころに比べて本当に何でもできるので遊びがいがある。自分のスタイルに合ったランチャとか作ったら便利そう。

SS計画第2弾の構想を考えてみたり。11月ぐらいから製作に取り掛かりたい。蘇生と並行しての製作になる。3Dライブラリを使うとやはり古いPCで動かないことが悩みどころ。背景に3Dを使う程度で古いPCを切り捨てていいものか。

2008/09/11

今日のそれから

・緑青作成進行
大体の画面表示を組み終えた。アイコンで弾幕の属性を表現することになった。そこそこ見て分かるようなデザインにできたと思うが、マニュアルをある程度読まないと分からないかもしれない。
ボス側の操作方法はキー4つに落ち着いた。マウス操作だと分かりやすいかもしれないので検討してみる。
まだ肝心要の弾幕の生成を実装していないのでこれからが本番。
弾幕の製作コストを掛け算で計算するようにしたところ最小でも288になる。最高で25000*4とか。数値のインフレが酷い。

これからのやるべき事を纏めてみる
*SS
三面道中の完成
三面Easy作成
アーケードモード作成
(主人公グラフィックの3D化)
(背景の3D化)
*緑青
弾幕生成
対戦システム
マニュアル作成
*喋る(歌う)PC
合成音声作成
(3Dキャラクター作成)
*ランチャ
作成
(3D演出)

ざっと考えてみてこの量。それを後9日。素晴らしい修羅。

2008/09/10

今日の手抜き

・主人公モデル作成中
・主人公名選考中
今日は何だかプログラムを書く気が起きなかったのでモデリングをしていた。曲面をあまり使わなかったりで結構手抜き。マントの陰に色々隠したり。マントを作る前は別にマントを作る必要性はないと思っていたが作ってみると上半身の大部分を隠せたのでマント使用。
まだモデリング中だからどうなるか分からないが、折角作ったのに現状のドット絵よりも見栄えがしなかったりすると残念。主人公の絵だけ3Dで他はドット絵というのもアンバランスかもしれないし。ダメダメに思えてきた。
主人公名を選考中。候補をいくつかに絞ってどれにするか。どれでもいい気もする。漢字を当てたいとも思っているがどうなんだか。それにしても性格の適当さといい、この辺りの扱いといい主人公に対して冷淡すぎる。
今度から公開するときにデモプレイでもつけようと思っている。デモをつけることで魔法の重要さでも説こうと思うが、1面は別に魔法なしでクリアできるから困る。あとデモを見てもらえるか。

2008/09/09

今日の揺らぎ

・緑青製作中
ボスのシステムを組み始めた。操作があまり煩雑になるのは良くないのでボス側が使うキーは6つに抑えることにする。現在弾幕に与える要素をどう4種類に絞るかを考えている。
SSの主人公関係を変更しようと思う。名前とグラフィック。名前は現在の物はあまりパッとしないので別の名前にする。案は出ているが時間が無いのでまだ決まっていない。それからグラフィックを3Dにして動くときに傾くようにしたいと思っている。あと2Dではなんか描きにくい。稲荷のモデルを流用すればあまり時間はかからないはず。

2008/09/08

今日の貼り付け

・新作タイトル決定
・新作進行
・SSバグ修正
新作のタイトルは「緑青」。銅の錆のアレ。白黒とかも考えたが白や黒を使うと背景や文字に使いやすい色がなくなるので封印し、次に紫色でも使おうと思ったが暗いので明るめの色の「緑青」。
製作の方は自機を動かしてショットを撃つまで。謎のバグの原因はマルチスレッドデバッグに変更したつもりだったのにマルチスレッドデバッグDLLのままだったこと。「マルチスレッドDLL」がデフォルトだが一体何に使うのだろうか。
紅白は横シューだったが緑青は縦シューにする。SSと同じスタイル。このゲームのウリは「プレイヤーがSTGのボスのような弾幕をはれること」なので、そこの部分に力を注ぎたい。グラフィックを3Dにしようと思ったが時間がなさそうなので円と四角形だけの簡素なゲーム画面。
SSはリプレイの時に画面ワープ能力が動かなかったバグを修正。ソースのコピー&ペーストをしたまま変更をし忘れたのが原因だった。リプレイの互換性は失われていない。

SSは難しいとよく言われるが、それは魔法を使わないのが悪い。SSで魔法を使わずにクリアすることはRPGで装備の相性も考えずひたすら通常攻撃だけをしてクリアしようとするのと同じ行為。この辺りしっかりマニュアルに書こうと思う。

2008/09/07

今日の流用

・SS3D背景作成中
・難易度名変更
・新作作成開始
2面のみ3Dの背景を作った。なかなかいい。道中も作ったがスクロールさせられない。スクロールを取るか3Dを取るか。
難易度の名前をよりゲーム内容にフィットするように変えてみた。昨日のまったり製作の難易度はまだ追加していない。
そして新作を作り始める。1から作るのが面倒だったので紅白のコードを流用しているが、謎のエラーが出てコンパイルが出来ない。あと13日で3面とこれと間に合うだろうか。あと3D背景と。
作った奴を載せようと思ったが一通り揃ってから載せる。

今日の2週

・ゲーム上からコンフィグ実装
・4面作成開始
・3面ボス戦完成?
いい加減Delphiでコンフィグツールを作るのが嫌になったのとキーコンフィグをソフト上以外で行う方法が浮かばなかったのでゲーム上からコンフィグを行うようにした。それにあわせてコンフィグ項目を増強。
そして4面の作成も開始。適当にボスを描いたのとボスを2体出せるようにしたのと。
3面ボスも一応の完成。ただ作った弾幕を未だに避け切れていないし、通しプレイでのクリアもまだ。

そして、次期版リリースまであと2週間。それまでに3面道中+システムを除く4面全部を作るという超がつく修羅場。それなのにこの頃弾避けに対する熱意が下がっている。そのため弾幕のネタも浮かばなければ作った弾幕を避けられない。避けていても精神力がすぐに消耗する。一旦弾避けから離れるのがいいと思うのだがこの状況でそうも言っていられない。精神を病みそうだ。
それからもうすぐ製作開始から1年が経つ。それまでにもやはり一つ製作に区切りをつけたい。
やる気がなくなっている原因として、紅白を作ったときにSSのコードの汚さに気がついたことと、進むにつれて難易度がインフレしていき、きつめの調整にした結果「回避可能証明」をするために数十~数百回もプレイを繰り返すことになること、他にやりたい事が出てきたことなど。あと生活の乱れとかも結構影響しているかも。
いっそ製作者の精神に優しいイージーとノーマルの中間程度の難易度を作ってまったりと作り、ノーマル以上は避けられる保障をしないでリリースするとか。それだと4面に間に合わないが、紅白のようにまた別の作品を作ってごまかすとか。ネタはある。あと背景を3Dにしてみるのも今の好みに合っているから精神に優しい。実際今の調子でエキストラステージとか作りたくない。
一応2面に登場するオブジェクトは全部モデリングした。地形以外。
普段デバッグがウィンドウモードだからフルスクリーンでやると動きが速く感じる。2pixel/Fを標準の速度にしているがそれは速いのだろう。

2008/09/05

今日の行列

・3D中断
・設定項目追加
DXライブラリのDrawModel関数は実用性が厳しかったので断念。3Dを色々配置してそれをレンダリングして背景にするという代案を考えたがそれだと3Dでスクロールさせるには行列計算とかが必要。3Dのグラフィックを今までのように縦スクロールさせるのが現実的。道中は従来どおりでスクロールの必要のないボス戦の背景だけを3Dにしようかと考えたが、そうすると道中の今までのスクロールさせる背景から突然3Dの一枚絵に切り替えることになる。で、突然背景を一枚絵にするのに背景が普通の建物とかであるのはどうかと。だからといって普通の建物以外だとモデリングするのが大変。3Dグラフィックを縦スクロールさせる選択肢が一番現実的か。もしくは3Dを捨てて今までどおり2D手書き背景。
画面のリフレッシュレートを変える方法を発見したのでそれをコンフィグに追加。自分の環境では60fpsで普通に動いているので影響を特に感じない。速い弾をずっと見ていると少し違和感を感じるのと意図的処理落ちを使ったときに滑らかに見えるのと。

2008/09/04

今日の調査

・ちまちまモデリング
ポリゴン数を大幅に削ったり形を調整したり。真横から見ると服のスキマから中が見えるという問題も修正。調整したらボーンの構造が崩れたので構造ファイルを修正したり。アニメーションをさせないならモデルデータを用意した後もメタセコイアで変形させた方がポーズをとりやすいのではないかと思い始めた今日この頃。
それから背景に使えそうなものも作り始めた。鳥居と提灯。提灯は何故か中の炎の明かりが透けて見えなかったので提灯の紙自体を光らせた。
で、それを実際にプログラム上で表示しようとしているのだがそれが上手く行かない。モデルデータの読み込みは上手く入っている様なのだがDXライブラリのバグらしき物で阻まれている。と書けばいつものアレで解決法を思いつく。
上手く行ったら背景を3Dにしたい。出来ればノベルパート含めて3D。そうするとドット絵と背景のクオリティの断絶が問題になるかもしれないが背景のモデルのクオリティも高くないので大丈夫のはずだ。

2008/09/03

今日の歩行

・モデリング進行
髪の毛を除く部分が完成&ボーンを入れた。ボーンを入れるのは素直にメタセコイアでやったほうが楽。ボーンの階層構造を書くには手書きで構造のファイルを書いたほうが楽。プラグインの「BoneCreate」を使えればもっと楽らしいがシェア登録していないので使えない。
ボーンをアニメーションさせ始めて、とりあえず歩かせてみた。歩かせるだけなら動きが小さめなのであまり面倒なことをする必要がないのだが、手を動かそうとすると袖の大きさが祟って袖がめり込む。腕をひねれば袖と衣の本体とのつながりが崩れる。袖にボーンを入れて腕と独立させて動かすのがいいか。
後手を握らせようとすると指を動かすだけで手の周りの部分まで一緒に動いて大変。設定をすれば解決するのだがその設定がまた大変。
困っていたらちょうど今日バージョンアップされて困っていた問題の一つが修正されるという素晴らしいタイミング。

それにしてもこれをモデリングして何か使い道があるのかが難しい。主人公の立ち絵もないのにあまり重要でもないキャラの立ち絵があっても。だからといって他のキャラまで立ち絵を作っているとモデルデータの流用が効くからといって間に合わない。作るのならもっと背景のような所要時間が少なくて効果の大きいものを作るべきだ。試しに火の玉は作ったが。まあ背景を作っても3Dのまま描画するのは資料がないから難しい。

2008/09/02

今日の瞼

・稲荷のモデル作成

に化けた。まだ製作中だが。両手を広げているのは人類が十進法を採用したこととは無関係。単にボーンを入れるときにこの体勢のほうがいいから。
まともにモデリングしたのは初めてなんだが、髪の毛と目が難しい。特に目は瞼を作ろうとするとクマのようになったり目に瞼がめり込んだり目が閉じられなかったりで難しい。アニメーションさせることを考えなければ間違いなくテクスチャ張ったほうが楽なんだろうが、リアルタイムにアニメーションさせるとなるとどっちもどっち。ボーンが細かくなるので難しいかもしれない。睫毛も難しそう。
服の形も体にめり込まないように調整するのがなかなか大変。結果として微妙なしわがついた。本当は和服なので体に巻かないといけないのだがどうなのだろう。「日記に書くとそのやり方が浮かぶ症候群」によって簡単そうなやり方が浮かんだ。後は帯の結び目なんかが鬼畜そう。現状帯がちょっと低いかもしれないが帯を体にフィットさせるのも大変。と書けばそのやり方も浮かんだ。後袖と本体をくっつけるのも難しい。
周りに火の玉を浮かせると一気に面白くなるだろうが質感を出せるかどうか。

Bloggerから投稿するとこれまでのタグの多さに驚く。

昨日の挙手

・3Dでいろいろ
誰かさんが辞任したおかげで生活リズムが崩れて日記を書き損ねたので今日書く。
AquesToneに3Dアニメーションでもあわせようと思って3Dをいじり始めた。XSIを入れてみたのだが使い方が分からなかったので、メタセコイアとRokDeBone2を組み合わせて作っている。
今のところボーンを入れて簡単な動きをさせるまで出来ている。これからは動きを組み合わせたりテクスチャを張ったりが必要。

2008/08/31

今日の明転

・暗転作成
・魔法ドキュメント作成
・弾幕進行
無敵時間中の暗転をつけた。これで親切。それに伴って背景を少し明るくしたり、喰らい奥義受付中を暗転から明転(ホワイトアウト)にしてみたり炎Lv.3をいじってみたり。
あと昨晩眠い中26時ごろまで魔法の詳細な性能ドキュメントを書いてみた。ネタバレするのでマニュアルに添付しにくいという残念な状況。ドキュメントを書くことで魔法の性能のバランスをより詳しく把握できたので時間に見合った結果は得られたと思う。
そして耐久弾幕の進行。時間経過で弾源が増えるのと避ける範囲が狭まるのとが想像以上に難易度を押し上げ、最高レベルの難易度になりそう。通しプレイで取れるのか、そしてどうやってEasyにするのか。範囲制限をなくすとEasyになるのか?
中ボスは慣れるとかなり弱く感じる。ボスは慣れても強い。道中はどうなるか。

8月ももう終わるわけだが正直に言うと紅白2を作らなくても3面は間に合わなかった。ゲームをやらなければ紅白2を作っても4面が間に合った。

2008/08/30

今日の駆除

・耐久弾幕進行

・ジョイパッドに正式対応
・リプレイファイル圧縮
3面の耐久弾幕はかなりソースが短く仕上がりそう。数学弾幕のデータを外に逃がしているからだが。手抜きそうに見えて手抜き。きれいではある。時間の経過で弾源増加+行動範囲制限という発狂なんだが弾が消える前に次の弾幕のパターンを生成し始めるという発狂もロマンがある。
ジョイパッドは今日初めてテストした。ポーズに対応し忘れていたのを修正して正式対応。だが自分にとってはキーボードの方がプレイしやすい。
リプレイファイルの容量を半分に圧縮した。今までデータの7割がムダだったとか。改善したことで4割の無駄になった。boolの配列にすれば無駄をなくせるが今更面倒なので。
あとこれから魔法の無敵中に暗転でもつけようと思ったり。

2008/08/29

今日の国会

・絵を修正
テストプレイしていてボスがふとましく感じたのでほっそりと。腕の長さが左右で倍以上の差があったのも直しておいた。
テストしてみたところ精神がクリアな状態で避けても避けにくい。一つ一つ単独でプレイして取得率5割だと楽なように思うがこれが10連続だと難しい。
この頃テストプレイを沢山やっているなどの理由で弾避け能力が向上している模様。とくに全方位系の弾に対する耐性が上がっている。その自分でちょうどいい塩梅になるように弾幕を調整しているから普通の人が避けたらどうなるのか。この頃Lunaシューター属性が付いてきたほどだし。
STGの腕前を上げたい人は自分でSTGを作ればいい、と勧めてみる。

もう月末だが、やはり3面は間に合っていないので9月中旬ごろに3,4面纏めてリリースしようかと思う

2008/08/28

今日の漁

・奥義取得後イベント作成開始
・中ボス弾幕完成
イベントはまだ1面のたたき台しか作ってはいないが。1面はむしろボーナスの説明要素が強いといった感じで特に面白いイベントにはならなさそう。見ることの出来る人が少ないであろう一面以外にはネタを盛り込む予定。捻くれている。
中ボスの弾幕を2つ作成。弾が黒いからずっと避けていると精神を消耗する。一番目は色々調整しているうちに名前とずれたが無視。2番目は作ってみたらどこかで見たことのある攻撃になって残念。でも採用する。
中ボスが出来たのでボスと通してやったが長い。長い上にいやらしい攻撃が多いので精神を非常に消耗する。これにいやらしい道中とラストの耐久が加わる。ライフは回復してもプレイヤーの精神力は回復しない。
エキストラなんかこの倍。精神が持たなくなりそう。

2008/08/27

今日の2倍

・紅白修正
・背景作成
・魔法作成
・3面奥義作成開始
紅白はここから。通信時に乱数種をあわせていなかったことを修正+通信速度が2倍になったはず。でも使い物にならない通信速度だと思う。
SSも少し。3面の道中背景と地形の絵を作成。
それからLv3水魔法も試作。非常にシンプル。威力はあるが凄く地味。
あと奥義も作り始めた。というより前作った弾幕を引っ張り出して弾幕に意味を与えただけ。耐久弾幕として作ったのをダメージで倒す物に変更するのでこれから色々と調整が必要。
毎度毎度耐久弾幕の製作にはやけに時間がかかって困る。一分近く避け続けても飽きないように面白くするのが大変。あと時間という明確な指標があるからそれに応じて発狂させるのでその調整も難しい。

今日のDTM

・AquesTone使い方把握
ようやく。REAPERというのとMusic Studio Producerというのを組み合わせて使っている。前者は英語ソフトだけどhttp://www12.atwiki.jp/free_dtm/pages/1.htmlから日本語化パッチが入手できる。後者は日本語ソフト。
REAPERだけでも全部できるのだが、MIDIの作成に関してはMSPが使いやすい。逆にMSPもVSTiに対応しているのだがAquesToneは上手く動かないみたい。
コントロールチェンジを使って歌詞の行の切り替えも出来たが行が飛びすぎたりするのでもう少しいじってみる。
これでAquesTone環境は出来たわけだが、音楽のスペックが低い自分。実験の為に作ったのも「かえるの歌」。

2008/08/26

今日の蛙

・紅白2改めて完成
・AquesTone色々
実況機能も実装。ここから。相変わらずネットワーク対戦や二人対戦は未テスト。そしてマニュアルも適当。永久パターンが組めそうな気もするが仕方ない。
それからAquesToneを色々といじってみた。使い方は理解できたがMidiを打ち込むソフトの使い方が分からない。日本語だからちゃんと読めば分かるがちゃんと読んでいない。もっと分かりやすくてかつ機能が足りるソフトはないものか。そしてWave出力をするソフトが壊れたっぽい。
SSもまたネタが出てきた。道中を地形っぽくするという案。RPGのマップチップみたいにして作ろうと思う。ステージのファイルが膨大になりそうで怖い。

2008/08/25

今日の実況

・紅白2ほぼ完成
・魔法作成
・絵修正
紅白2が予定した内容は完成。もっともマルチプレイやネットワーク対戦については未テスト。今日思いついたのがAquesTalkを使って対戦の実況を流すこと。効果音代わりに。間違いなくネタだが、結構盛り上げてくれそう。実況を作成し終えたら公開予定。
それからSSもネタがやや出てきたので作った。まずLv3風魔法。天孫降臨の道しるべっぽく。炎魔法に比べるとまだ見栄えがしないので雷でも降らせようと思う。画面の下だととんでもない威力になるが上のほうだとそれほど威力がないというマニアックな性能。雑魚敵相手にもあまり強くないのでやはりマニアックな性能。見た目もあまりロマンがないのでやはりマニアックな性能。
水Lv3も一応案は出たが、微妙な物になりそう。津波の方が洪水よりまだ派手だと思うがそれでも炎には劣る。攻撃もシンプル過ぎて地味。波の形を物理シュミレーションで作ったりしたら面白くなるだろうが無理。
あとはなんとなく変化稲荷の絵をいじった。だが奥義でしか出てこないので日の目を見ない。2週目以降だとデフォルトで変化済みの絵を表示するようなモードを作ろうか。それだと他のボスも人間化しないといけない。

それにしてもSSのネタがない間のつなぎとしての目的も持たせて紅白を作っていたのに2日で完成されるのは困る。通信対戦あたりで大きなバグ出てくれないものか。

2008/08/24

今日の高速

・紅白2製作中
やけにハイペース。作り始めてからまだ丸1日ぐらいなのに既に遊べる段階。作業時間はまだ10時間ない。
きれいなコードを目指して書いているが実際きれいかは自分の判断基準でしか分からない。SSに比べればずっとマシだけど。やや無駄にソースを分割しすぎている感はある。
後最低限ではネットワーク対戦の実装とゲームオーバーの処理の作成、必殺技の作成。後演出程度。
なんとなく純和風を目指して作ってみているのだが、文字を横書きしてフォントがゴシック体の時点で駄目な気がする。ということでエセ和風に。まあ縦書きもSSで使っているからやろうとすればいけるが。フォントは元々入っている日本語フォントが凄く貧弱なので探してこないといけない。和風なのでカタカナ語封印を予定しているがなかなか難しい。当て字とか中国語表記とか使うかも。使わないか。ジャンルは「対戦型弾幕射撃遊戯」とでも名乗ってみる。

2008/08/23

今日の対戦

・新ゲーム発案
対戦型弾幕STGを発案。タイトルは「紅白弾合戦2」とでも。日記の文章では書きにくいので作ったら発表する予定。作りこもうと思えば結構作りこめそうなので適当なところで止めないといけない。弾をよけるAIなんか書いていたら大変なことになるだろうから2人プレイ専用の予定。1人でやるとすればただの耐久避けゲーとなる。
ある程度Cの知識もついてきたのでSSよりはきれいなコードで書くのが目標。SSのコードは命名規則がばらばらでわかりにくい。

SSは気が向いたら引き続き作るつもり。今月中に3面はたぶん間に合わなくなるが9月末に4面まで作るのは確定事項としておく。それまではリリースもないかも。

2008/08/22

今日の反射

・弾幕作成
・弾グラフィック作成
・3面会話作成開始
昨晩「ネタがない」と書いた後ネタが浮かんだので日が変わる前後に作った。避けていて眠くなるような攻撃にしたかったので単調に、弾を遅くした。QEDもどき。実はボスの弾幕は後2つだけ。
昨日作った中ボスの攻撃も調整。微妙に難しい。中ボスは後2つ残っている。
で、起きた後は色々弾のグラフィックを描いた。菱形弾のデザインを変えてみたり中ボス専用の魚弾を作ってみたり。
ボス戦前の会話も書いた。適当に書いていたら設定していた性格とは結構ずれて変なことになった。今後の会話に繋げられるかわからないが、このボスはストーリー上一番どうでも良かったりするのでキャラ設定は適当で構わないと思う。
ボス戦の出来たところまでを通してやってみたが結構難しい。簡単だと思ったら自機の当たり判定を切ったままにしてあったり。個々の弾幕はそれほど難しくないと思っているのだが事故率が高い。事故が多いからあからさまに当たったということが少なく、判定を切ったままでも気が付かない。

2008/08/21

今日の参照

・デバッグ
今日はやる気が起きなかったのでほとんど作業していない。コードの分割によって発生したバグを修正した程度。この調子で9月末に4面が間に合うのだろうか。弾幕も曖昧なイメージしか浮かばず具体的な形が浮かばない。こういうときはストーリーを書いたりするべきなのだろうか。

http://www.forest.impress.co.jp/article/2008/08/21/aquestone.html
が面白そう。これで歌を作ったりしたら面白いかもしれないが多分カオス。

2008/08/20

今日の黒赤

・弾幕改善
・弾追加
・魔法作成
・弾幕作成
・コード整理
昨日の弾幕をまたいじった。だいぶ形が変わったが式が理想どおりの形なので攻撃よりも式の美しさを優先。
それで必要になったので方向つきの小弾を新たに作成。菱形なのでアイテムと紛らわしいかも。まだ納得の行くデザインでないので修正予定。
それから爆炎Lv.3魔法作成。画面全体に圧倒的な制圧力を持つが動くボスには相変わらず弱い。なかなか使って面白いが道中では詠唱がなかなか間に合わない。残念。使用条件はかなり厳しい。他の属性は名前もロクに決まっていない。というよりネタが見つからない。
3面中ボスも作り始めた。ゲーム中最も適当な敵グラフィック。透過色を除いてほぼ一色だけ。
そしてソースコードの整理。分割したほうが便利な部分を分割したり、巨大化したヘッダを3分割したり。

この頃ボムが撃てない病が再発してきた。
あと一ヶ月でそれなりに仕上げないといけない。そして都合により9月17以降の作業は止まりそう。

2008/08/19

今日の祟り

・弾幕作成
・2面背景調整
弾幕はこのところずっと作っていた奴を完成させた。試行錯誤の結果よくわからない形に落ち着く。円形の弾の起動を曲げるときれいになるので使おうとしてみたが上手く理想に合わず、洗濯機型にした。安地を潰す為に何か壮絶なことをやっている。
5面の構成を考えた。ボス戦の14技中半分がそれまで登場したもののアレンジ。それと5つはプレイヤーの魔法をアレンジ。結果完全オリジナルが2つで済む。
2面背景はボス戦の背景。道中も何とかしないといけないと思っているが描けない。
後は魔法の名前を色々と考えてみたり。洪水か津波かでずっと悩んでいる。

このペースだと案外今月末に3面が間に合わない気がしてきた。不味い。

2008/08/18

今日の黄金

旅行から帰還した。色々神仏を見てきたのでその辺りを糧にしてなにかしたい。さしあたっては鳥居の絵を書き直す

2008/08/14

今日の米

新PCにSoundFont導入成功。だが、ドライバのアップデートをするように出てきたのでアップデートすると見事に音が出なくなった。色々試したが生き返らず、システムの復元を使ったところ復活。だがドライバのアップデート後にSoundFontを入れたのでそれが消えて入れなおす羽目になった。
プログラムの方も作業をしようとしたのだが、入力補完が動かず、解決法を調べたが一向に見つからない。特定のソースファイルのみで、enumの定数を使うとその関数内で後のコードから入力補完が出なくなるという不思議。一応の解決法としてその関数内の書く場所以前をコメント化してから書くというとても面倒なことをしている。
あとVisualC++のSP1を入れた。これで入力補完の問題が直ると思ってわざわざ旧バージョンを消して入れたが直らないとか。
明日から再び外出。某イベントにいけない。

2008/08/13

今日のボウリング

・弾幕3つ作成
・プラクティス画面改善
弾幕を3つ一気に。これでボスの弾幕で名前が決まっていないのは後ひとつだけ。メテオストライクはロマン。今日作ったものはすべて5面あたりでアレンジして再登場予定。同じ系統で3つ作る予定のものがそのうち2つ。
プラクティス画面はプレイしていない技は名前を隠すようにした。後はソースコードの最適化。

スカイ・クロラを観てきた。ドライブインの誘蛾灯や老人なんかの細かい部分は変えていないのに大きな部分が変わっていてみょんだった。笹倉が女性キャラになっているとか
この投稿はノートPCからの初投稿

2008/08/12

今日の縦書き

・ステータスレイアウト完成
縦書きを試したら予想以上に良くてスクリーンショットまで撮ってみた。写っている弾幕は見た目のわりに結構難しい。本に書かれている文字は適当。キーボードをやたらめったら打ちまくって作った。
ボスのライフゲージを見るときの視点移動が以前よりも大きくなったので難易度上がっているかも。ボスのライフが減ってきたときに効果音でも出そうと思う。
この頃のお笑いは発狂しているような物が人気のように感じたので、見た目発狂しているような弾幕でも作ろうと思う。むしろオリジナルを越える難易度のモードも作りたいと思い始めたり。調整する時間ないけれど。

今後の弾幕製作として、数学弾幕や既存の弾幕のアレンジ、キャラ弾幕なんかを活用して製作ペースを上げられると思ったのでメモ。

今日のゲージ

・弾幕作成
・プラクティスバグ修正
・リプレイバグ修正

・ステータス表示デザイン一新
弾幕を一つ作成+昔作った物をアレンジして使用。最初は純粋な気合避けを予定していたが作ってみたら気合では避けられない代物になった。
プラクティスでは左右に画面を切り替えるところが上手く動作していなかったようなのを修正。ただステージ2の奥義を出さなければ影響がないので問題はない。
ここまでが昨日の作業。
今日はまず昨日作った弾幕に致命的過ぎる安地があったのでそれを潰した。結果、元とは別物の弾幕に化けた。そしてパターン化が通用しなくなったので気合避けできるバランスに調整。密度は薄いのだが微妙に避けにくい。金閣寺っぽい。
リプレイに結構大きなバグがあったのも修正。リプレイファイルの仕様を変えたのに変え忘れていた部分があったのが原因。リプレイの再生自体には問題ないのでまだよかった。
そしてステータスの表示のデザインを大幅に変更。ボスの絵を描こうと思っていたのにステータスの背景を描きたくなって描いた。背景を作って当然字が読みにくくなったのでフォントを変更。フォントサイズを変えたら表示が画面に収まりきらなくなってレイアウトを変更。するとボスの技の名前が収まらないという悲劇発生。ギリギリまで字を小さくして更に使うフォントをプロポーショナルフォントにした。これで現在ある技は収まるようになったが字を小さくしたことで今度は逆に漢字が読めなくなりそう。名前の長さに応じて字のサイズを変えるなり、カタカナを半角にするなり、最悪表示する技名を省略するなりしないといけない。悩みどころ。
縦書きという手も無きにしも非ず。でもどうだろうか。

今月末のリリースは3面まで作成して、システムを完成形にしてリリースしたい。ストーリーももっと書きたい。ただこのペースだと9月末には5面ぐらいまでしか間に合わない。ステージが進むにつれて1ステージ辺りの弾幕数も増えるわけだし。

2008/08/10

今日の手鞠

・Normal実装
・3面作成開始
・弾幕作成
Normal=一昨日のアイデア。ステージの短い今のところは回復システムよりも初期ライフ数を3にしたことの恩恵の方が大きいが終盤にもなれば最大で7,8回ほど回復できるので影響があるはず。オリジナルとして今までのライフ2回復なしも残してある。凄く簡単になったように感じられる。
後、バグを解決する為にやっているとき、槍のレベルを2にしたらとんでもない火力に感じた。普段斧レベル1でしかプレイしていないのでバランス崩壊しそうなぐらいの火力に思えた。
あと、回復システム作成に伴いライフの表示方法を数字ではなくハートマークの数で表すという方式にしてみた。
ここまでが昨日の作業。

今日は3面の作成を開始。システムを3,4面に対応させ、弾幕も一つ作った。なかなか忙しい攻撃だが攻略法に気が付けば回復ポイントに化ける、はず。

2008/08/08

今日の火星人

・難易度大幅低下計画
見ての通り。風EXをクリアして思った。抱え落ちを沢山しても結局クリアできるのは残機が多いからだと。まあ特段不思議なことでもないが改めて実感。
で、思いついたのが回復システム。今のところ初期のライフは固定でそれをライフの最大値として、技を取るとライフ回復アイテムが出る。それを3つ程度集めるとライフが回復。ライフがマックスの場合はMPが回復するなり更にボーナスが入るなり。
それを考えてみると、技取得のボーナスがあまり必要ない気がしてきた。それだと難しい技を無理して取りに行くメリットがあまりなくなるので要熟考。
技を取らなければライフが回復しないので技を取れる程度の腕前の人にとって簡単になるだけであり、そもそも技を取れない人にとっては何の恩恵もない調整だと今気が付いた。が、そこは時々簡単な攻撃を作って回復スポットにするのでいいかもしれない。
ライフの上限を3にしてもいいかも。まだステージ2の段階で製作者のクリア率が3割程度は結構不味いので。

回転寿司に行くと経済の事を考える。今日の結論は「回転寿司は客に不利」

2008/08/07

今日の換装

・技能追加
レベル5の技能まで作成。これを最大レベルにする予定。奥義の威力純増やオートボム、魔法コスト低減や魔法版奥義、移動速度変更に装備武器変更と、バランスブレイカーっぽい技能を作ってみた。
敵奥義取得のボーナスも作り始めた。それに伴いレベル3魔法も作り始める。レベル3魔法は条件がかなり厳しいので強くしたい。名前はあらかた決まっているがどういった動きにするか未定。ただの全体攻撃ではつまらないし、属性による特性も出したい。
色々バグを潰しまくりもしている。リアルデバッグが雨で出来なかった腹いせ。機能拡張すればバグが出る。
あと、おまけモードとしてアーケードモードでも作ろうと思っている。全ステージを通してプレイするようなバランスではないので大量にエクステンドするなり魔法を乱射できる仕様にするなりと考えている。
弾幕もネタが温まってきたのでそろそろ作り始めようと思う。

2008/08/05

今日の崖っぷち

・数学弾幕実装
・サーチアルゴリズム強化
・コンフィグ項目追加
・ボス戦拡張
ようやく帰ってきた。ネット接続環境はあったのだがいろいろあって更新していない。
まずは数学弾幕。内トコロイド弾幕をファイルを読み込んで作る機構にした。
次に深夜に実装したサーチアルゴリズム。寝ようと思ったら思いついてその場で実装。軽快な動作で今までよりも頭のいいサーチを行う。
コンフィグにはミュートを作った。デバッグの時に音楽を聞きながらやるためという自分の問題。
ボス戦は、一度の戦闘に複数のボスを出せるように。まだ試してはいない。

崖っぷちというネタを使ったらその次に本物の崖っぷちに遭遇した。「一年分の死亡フラグを使い切った」とか。
予知能力も習得。早押しクイズで問題文をほとんど読んでいないのに正解したり、いい問題を引き当てたり。

2008/07/31

今日の失踪

・特になし
特に書くネタがないがここのところ毎日更新していたので更新。強いて言うのなら明日から5日までお出かけ。よって連続更新は途絶えるはず。作業はする可能性あるけれど。
で、今日は何をしたかといえばブックマークの整理やら、新PCの環境整備やら、ゲームやら。ブックマークを整理したせいで一気に分かりにくくなった。覚えるまでやや苦労しそう。
環境整備のほうは色々と実用的なソフトを入れたりゲームを集めたり。サウンドフォントを使いたかったのだがVistaでの導入方法がどうしても分からなかったので一旦諦めた。ゲームを集めて、それをジャンル分けしたら何故かSTG>SLG>RPG>ACTという順に。この世に存在するそのジャンルの総数に反比例しているのではないかという順番。単純にジャンル分けしにくい物が多いから順番は結構入れ替わるかもしれないけれど。

2008/07/30

今日の展望

・PC到着
PCが届いた。メモリがやたらとリッチなんだが256MBの環境に慣れ親しんできたものだから大量に窓を開くということに慣れていない。後画面の縦幅が微妙に前の奴よりも縮んでいる気がする。
外付けHDDを落としたせいか動きが怪しくなっている。最低限のデータを救出した後だったからまだよかったが。

昨晩色々と仕様を考えて、音楽の美しさを数学の美しさに変えてみよう、という言葉では良く分からない計画を立ててみた。内側に収束していく弾幕はやはり美しい。既に3面のボスの仕様は大部分決まった。中ボスをどうするかはまだ何も決まっていないが。
あと、Terragen2を入れて、これで全部背景作ってしまいたいな、と妄想。全部作ったらレンダリングだけで丸1日かかるだろうから妄想。使い方もよくわからないし。イメージとしてはモデリングしてそれを背景に取り込む。モデルのクオリティが低いと背景に浮くことになるがtrueSpaceあたりでも使ってみようと思う。背景とドット絵のクオリティに比べればマシだろうが。

2008/07/29

今日の簡易

・SS0.41完成・リリース
・イージー実装
ここから。0.40を別の場所で出した後にイージーを作ったので0.41。もしかすると明日か明後日にまたリリースがあるかも。明日のいつごろにPCが届くかによる。
いつもどおりセーブデータ、リプレイデータに互換はない。が、これ以降のバージョンで互換があるようにしたのでこのバージョンからは少なくともセーブデータの互換は付くはず。そのまま使えなくても引継ぎツールを作るはず。リプレイは少しいじるだけで互換がなくなり、変換をやるのも困難なので互換性は期待してはいけない。
で、イージー。ゲームオーバーになっても経験値が入るという今までに比べて恐ろしいまでの親切さ。当然ステージの難易度もある程度は下がった、はず。弾は減らした。
その代わりイージーでは奥義に挑戦できない。バッドエンドにしかならず、エキストラにも進めないようにする予定。
あと、細かいところだがノベルシステムも微妙にスマートになった。
後は3面の構想を練ったり。まだ弾幕の名前ぐらいしか考えていないが。あとはボスをどういう性格にするかで迷っていたり。

2008/07/28

今日の魔法使い

・SS040完成
会話を完成させたのと背景の作成。あとはポーズ画面に「最初からやり直す」を追加。結局背景は祭っぽいイメージにした。といっても提灯が脇に浮いているだけ。いかにも不自然な浮き方で気持ちが悪い。
会話は文章バッファオーバーが鬱陶しかった。オーバーしているのかしていないかの見極めが面倒だったり。2行に分けたら今度は画面全体の行数制限に引っかかったり。これは見極めるまでもないだけ楽だったが。
改めてテストプレイして、1面と2面の差の激しさに驚いた。同じゲームとは思えないような差。何というか、1面は全体的にレベルが低い。2面がひねくれ過ぎるのもあるだろうが。2面はパターン忘れると面白いように死ぬ。
奥義は結局何もテストしていない。どうせ出せる人なんていないはずだ。
リリースはいつも通り明日。バージョン番号を0.32にするか0.40にするか迷ったが、流石にステージ一つ追加してマイナーバージョンアップと呼ぶのには難がある。
これからの予定は毎月末にリリースを予定。8月中に3,4面を作らないと9月に間に合わないのだが、8月は合計で10日ほど旅行に行くうえ、某イベントやら、新しいPCに移行するなどといった作業の妨害をするであろうことが大量にあるので4面まで作りあがる気がしない。まだ弾幕のネタも練っていないし、ボスのシステムを大きく変更することで発生するであろう大量のバグといった意図をも感じる妨害ラッシュ。3面を出すのなら奥義取得のご褒美も作らないといけないし。あとイージーの作成とか。イージーはそれほど実装が大変ではないと思っているが、ステージの製作速度は間違いなく低下する。後バランスの調整も。難しい方面では製作者だからテストが楽だが簡単な方面ではテストプレイヤーが必要。

某魔法少女小説読了。だからといってコメントは特にない。

2008/07/27

今日の夕焼け

・道中完成
完成。ボス戦を除いて1分強。難しそうに見せてパターン化すればドットイートでも楽に突破できる。むしろ撃ち返しがあるから下手に撃ちまくるよりも楽だったり。結局2面はパターン色がかなり強い。
「スキマが見えないのに抜けられる弾幕」というのが出来たが道中で出しても仕方がないので取っておく。タネは簡単だが。
後は会話の作成と戦闘背景の作成。何かやり残している気もするが分からないので放置。洞窟は天井があるからどのような視点で描けばいいのか難しい。というよりもオブジェクトが少ないから難しい。鍾乳洞にでもしようと思ったが設定的にそれも出来ない。だからといって鉱山とかにも出来ない。いっそ祭りの街道とか。

2008/07/26

今日の玄

・道中作成中
・戦闘後会話作成中
道中は敵のグラフィックと、敵の挙動を作成。3種類にそれぞれ3つの色違い。全体的に鬱陶しい敵が多くなる予定。撃ち返しとか、大挙して押し寄せて弾を撃つだけ撃って逃げていくとか。一応間に合う予定は付いた。元々道中の作成は好きではない、というより道中そのものが好きではないので適当に済ます。
戦闘後会話は以前よりはある意味においてまとも。選択肢が若干謎だったりするが1面ほどではない。

HDDケースを購入。HDDは無事だったらしく普通に動いた。これでもう古いPCに思い残すことはない。新PCの到着は今月31日前後。前なのか後なのかそれともちょうどなのかが非常に重要。後だったりすると残念なことになる。

2008/07/25

今日の花火大会

・ボス戦完成
ようやく。意図的処理落ちを実装してみた。ずっと見ていると気分が悪くなったので要注意。意図的処理落ち使っているのに全く気分が悪くならないようなことがあるのは気分的な問題なのか、それともプログラム的な問題なのか。後者だと思うが。弾の動きがカクカクしているのはどうすれば解決できるのか。
明日は隅田川の花火だが花火の弾幕は今日完成。
まだ奥義は何もいじっていないが一応前作ったバージョンもあるのでそれで済ませるかも。
実行するたびにバグが出る習慣が続いている。潰せど潰せどキリがない。果たして終わりは来るのか。
あと雑魚敵の絵を少し描いてみた。やっと3種類は浮かんだ。1面も3種類だからこれで済まそうか。後は攻撃のパターン考えて組み合わせればステージは出来る。

2008/07/24

今日のスターマイン

・ラスト弾幕作成中
・色々修正
パターン化重要なボス戦だったのに最後2つが気合要素大き目。微妙に避けにくかったのでどんどん弾を減らしたら簡単になってしまった。普通の人には簡単でもないかもしれないが少なくとも弾の密度は相当に低い。前座にひたすら降り注ぐ粒弾を気合避け、その次は避けられそうで微妙に避けにくいキャラ弾幕+α。最後の締めは考えてはあるがまだ作っていない。最後も気合避けを予定。
キャラ弾幕は48×48を画面いっぱいに拡大するのではスキマが判定ギリギリの大きさだったのである程度飛んだ後に弾が半分消えるという仕様にした。半分といっても弾のライン上で一つおきに消えるのではなくX軸で一つおきに消えるので場所によっては全然スキマが空かないという事態が起きる。
グレイズの餌だったのを再修正。理不尽な死に方が多かったのを直せた、はず。
テストプレイのたびに問題が出てくる気がする。それも結構大きな問題だったり。

2008/07/23

今日の人化


なんとなく描いてみた。いつかの人魚の人間Var。狐から人間は少し狐のパーツが残るが、人魚から人間は魚のパーツを残さない。むしろえらとかつけてもつまらないからという理由がメインだったり。脚が短く見えるのは仕様。もう少し顔を小さくすればいい気もする。
前の奴はまだゲーム内で使う予定があるがこれは使えない気がする。出す機会とすればシナリオだがシナリオでドット絵は寂しいし、そもそもシナリオではキャラは出さない。ノベルゲームとは文章の部分では背景の絵しかないという固定観念を持っている。
流石に蝿やら龍やらは人間にしないつもり。狐はシナリオとしてそういうシーンが出るから、人魚はそのままでは陸に出せないから。

ついでに関係ないが書いておく。前何度か取り上げた弾幕講座は書くとすれば来週以降。それまでは製作を進める予定。
ゲームのバランスを取るうちプレイヤーの技術の向上が弾幕講座、難易度の低下がイージーの製作。2面の製作した後も時間が余るor2面道中を作る時間はないが中途半端に時間が余るという場合イージーを作ろうと思っている。どれぐらいの難易度がちょうどいいのか分からないのが問題である。1面は難易度の下げ方が大体イメージできているが2面はどうやって難易度を下げるか全然分からない。下手に下げれば弾幕のコンセプトがなくなる。

今日の目眩まし

・弾幕1つ作成及び調整
若干ペースダウン。最後から2番目にして突然気合避け弾幕。初見殺しというほどでもないが初見だと焦るはず。あとSTGに不慣れな人にとっては難しいかもしれない。慣れてしまえばただの全方位を避け続けるだけだが。夜雀の歌の反対という感じ。
後またバランス調整。精密操作系パターン弾幕だったのを簡単なパターン弾幕に変えた。元々考えていたコンセプトに若干近いからこれでいいのだと言い聞かせる。
あとはグレイズの餌だったのがあまりにも酷かったので弾の数を大分減らした。もっと減らすなら減らせるが演出上これ以上減らしたくない。
何十回もやっていて弾の規則も完全に把握しているから簡単と思うだけで普通の人がやったら相当厳しいかもしれないと思い始めた。
折角会話中に選択肢があるのだから何かしら戦闘以外でイベントでも作ろうかと思った。

今日某魚映画を観て来た。魚が人になるのは悪くないのかもしれない。
頭の悪いIMEは「肴が人になる」と出した。酒飲み妖怪だろうか。

2008/07/22

今日の大文字

・弾幕2つ作成
・得点バランス大幅変更
2つ作成+調整。またかなり変わった弾幕。グレイズを壮絶な数安全に稼げたりする。グレイズ回数は結構ゲームシステムの重要な位置を担っているが弾幕を作るときにそんなことまで気にしている余裕はない。難易度も低めだからむしろ回復ポイントとでも考えるのがいいかも。1面にも稼ぎどころはあったし。
後全般的に調整。難易度を大分下げた。30Wayを25Wayにしただけで相当体感的な難易度は下がる。テストプレイの結果通しでやって最後までノーミスノーボムでいけた。これぐらいの難易度なら大丈夫なはず。このステージはパターン化がかなり重要なので慣れればそれなりに簡単。パターン化なしだとかなりのハイペースで死ぬだろうけど。あと、一度弾消しすると一気に楽になったり。
得点バランスは冷静に考えて弾消しが得点のほとんどを占めるのはまずいと思ったので思い切って弾消し点を十分の一にした。
このペースなら明後日ぐらいにはボス戦は大体完成しそう。来週の0.32に2面は間に合うか。道中作るのが好きではないからペースは大幅に落ちることを想定。あと雑魚敵の種類が浮かばない。最悪の場合光るコケとか出しかねないぐらいネタがない。
この頃IMEがとても頭が悪い。

2008/07/21

今日のPC

・弾幕作成
久々のこの見出し。全く新しく作ったのが2つ、改良をしたのが3つ。どれも初見殺し、パターン化しないと回避困難。その上弾源が近かったり弾速が早かったりで魔法を撃とうにも間に合わない。2面でかなり難易度インフレしているので要修正。ただどれもネタとしては面白いと思っている。
あと弾のメモリを動的に確保するようにしてみた。そのついでに弾の上限数を2048に倍増。キャラ弾幕を使うと一つで1000単位で弾を出したりするので。
2面が29日に間に合わなかった場合はプラクティスだけでも出そうかと。

ノートPCを注文した。DellのInspiron1526.CPUはAMD Athlon 64X2 TK-57、メモリは2GB、HDD160GB 、Windows Vista Home Basic。これでギリギリ6万台。ファンがうるさいという意見と静かだという意見が二つあるという不思議はあった。
メモリは従来の8倍、HDDは4倍。CPUは2.0GHz。流石に2.0×2GHzという意味ではないだろうが。10日から2週間で届くそうだが、できれば今月中に来てほしいもの。

2008/07/20

今日の停止

・キャラ弾幕効率化
BMPからバイナリに変換するようにした。+コンフィグを書いて色々と設定を変更できるように。で、バイナリを読んで弾幕を作る。まだムダはあるがNWay弾と同程度のムダにまで削った。
あとポーズ時に曲が一時停止するように変更。決して開発停止の「停止」ではない。
3面中ボスをスイミーにしようかと考えた。魚群という扱いで誘導やら大量に尾が付く弾やら変な弾幕にする。
今日は忙しかった。

2008/07/19

今日の馬

・SS0.31リリース
ここから。昨日の段階からいくつかのバグ修正。0.30とセーブデータは互換がある、はず。リプレイは互換がない。
今日リリースする理由もまたなくなったが予告した上、折角リリース用の形にしたのでリリース。
次回0.32は29日頃。いい加減作業のネタも尽きてきたので仕方なくステージ2を作る。他にシステム的にはキャラクター弾幕の効率化や弾の最大数を可変にすること辺りが目標。あとはレベル3魔法を作るかもしれない。攻撃のイメージは一応出来ているが、それだと名前にあまり合わないので悩み所。
ステージ2を作ろうにも道中のネタがないのが問題。攻撃のパターンにしろ敵の種類にしろ。ひとまず蝙蝠でも出そうか。あとは火のお化けとか。

締め切りというのは少し先の日付に設定してその日になったら延期するという方式だと作業の効率が上がるみたい。人参を鼻先につけた馬みたいに。あまりそれが続くと狼少年になって逆効果だろうが

2008/07/18

今日の輪郭

・弾幕変更
・ストーリー執筆
・効果音実装
・BGM再生実装
・バグ修正
生命輪舞曲の最後をネタにした。具体的に言うとキャラ弾幕。ボスの輪郭がそのまま弾幕となって飛んでくる。が、速度が遅く弾が届く前に攻撃が終了する場所もあるのであくまでネタ。
ストーリーは1面終了後。これで確定だと思う。ネタやら伏線やら満載の会話。あとOPに昨日の背景を付けた。凄くNepheshel。案外バランスが取れていて安心。屋内とかは作りようがないからそこでギャップが生じるかも。
効果音は決め始めたら1時間かからずに決定。ただどこか変ではあるが。
BGMの再生も実装。道中曲が山場に入ったところで道中が終了という悲劇が起きたので次回バージョンで道中を大幅に伸ばすかも。
バグは大きな物2つ。ボス戦中にゲームオーバーになると次にプレイしたときにボス戦の描画が残るという大きなバグ。普段デバッグするときにボス戦しかやっていないからずっと気が付かなかった。
もう一つは会話時、場合によって会話が進まずにクリアされる現象。これはずっと前から分かっていて直そうとしていたが原因が分からなかった。が、今日見たら一瞬で原因を把握して処理の順番を入れ替えるだけで直った。

0.31リリースは多分明日。見た目が大きく変わったが本質はほとんど変化なしのバージョンアップ。でもリプレイには互換がない。

キャラ弾幕はビットマップファイルを弾幕のソースコードに変換するツールを作ったことで可能になった。そのソースを受け入れるSSの方は何も仕組みを変えていないので無駄が非常に多い、というより一つ作るだけでソースコードが数百行単位で増える。真面目に使うのならば要改良。
リクエストがあったら作ります。リクエストというかビットマップファイル送ってくれれば作ります。送ってくれない場合は文字の弾幕しか作りません。
将来的にはストーリーを弾幕で語ったり(文章なりアニメーションなりで)何か関係のある文章を弾幕にしたりキャラ弾幕ラッシュを作ったりしてみたい。

2008/07/17

今日の島

・OP背景作成
・バランス調整
・バグ修正
・ストーリー執筆
まずは見ての通りのOP背景。手描き、のはずはなく、とある物を使って1時間ほどで作った。ゲーム内容が背景に明らかに負ける。まあ背景も山が変な形だが。ノベルゲームなんてそんなものなんだと思ってみる。これだと一枚絵はハイクオリティになるが肝心の戦闘シーンの背景は低品質のドット絵。このギャップがアピールポイント。流石に道中の背景も動かない一枚絵にするのは駄目だと思う。で、ボス戦だけこういうグラフィックというのもやはり違和感。終盤ではこのタイプの背景が通用しなくなるし。
バランスは魔法、奥義のバランス全般。持続時間や威力の調整。ローリスク・ローリターン、ハイリスク・ハイリターンなバランス。バグが見つかったが再現性がなかったので諦めた。
バグも魔法関係。世界Lv.1発動中にボスに張り付くと大変なことになったのを修正。あと当たり判定処理を2倍ぐらい高速化。むしろ今までのコードが理解できない無駄の多さ。あとは魔法の当たり判定が異様に小さかったのも修正。結果雷魔法の威力が大幅低下。
あと風Lv1を名称変更に伴って少し変更。あとは世界属性魔法の名前を変更。
その他にも何かやった気がするがこまごまとしていて覚えていない。
ストーリーはひとまず1面クリア後を書き始めた。若干の非シリアス。OPは背景作っただけでどう進めるか未定。あの背景を使うなら後文章だけで済ませられるかも。その場合は残念ながら新キャラは誕生しない。そしていつぞやの狐がヒロインになる危機。まあ新キャラの仕様全然考えていないのだが。OPデモにしても世界観の説明シーンぐらいでしかあの背景を使えない気はする。
それにしても夢島やらNepheshelやらの影響を大きく受けるストーリー。
効果音を選ぼうと思って背景が生まれた。そのため効果音は進展なし。最低で被弾、グレイズ、ショット、ショット命中、敵撃破、魔法発動ぐらいあればいいだろうか。

2008/07/16

今日の回復

・ソース整理
・MP回復アイテム作成
・ボスの動き微変更
ソースを整理。これから更に肥大化しそうな部分をあらかじめ分離して、後不要な部分を消したり。
MP回復アイテムはひとまずボスの形態移行時に出してみた。2.5形態で魔法一回分。強めの雑魚撃破時に出すのも悪くない。
ボスは加速度をつけて動くようにした、はずだが見た目では分からない。何か間違えているかもしれない。
効果音を探してみたが、しっくり来ない。こだわりすぎるとどうにもなくなるからどこかで妥協は必要。
あと、ストーリー書こうと思っているが面倒臭い。いっそマニュアルだけに全部書いちゃうとか。文章だけではつまらないからオープニングデモぐらい付けたいのだが、あまり絵にならない光景だから微妙。オープニングデモ用に新キャラでも作ろうか。そうするとゲームとしてのベクトルがみょんな方へ傾きそうだが。
男性キャラは頭に付属品を付けにくいから書くのが難しい。だからといってここで主人公女性キャラに変えるとストーリーが崩れる。崩れはしないが良く分からなくなる。

2008/07/15

今日のテレポート

・レベル3技能作成
・パーティクル追加
・背景機能強化
・主人公絵描き直し
レベル3を作成。喰らい奥義、喰らい魔法、テレポートの3つ。テレポートは画面端から端への瞬間移動。瞬間といっても1秒かかるが。今のところ有効な使い道がない。まあそのうち切り返しが難しい攻撃とかできるはず。
パーティクルは被弾時と敵の撃破時。そこそこ派手。
背景はステージスクリプト上からスクロール速度をいじれるようにした。疾走感のあるステージが作れる。多分作らないけど。
主人公絵はふと気がついたので。色使いは適当。短髪だと寂しかったので長髪の青年という仕様にしてみた。装備によってグラフィックを変えるかもしれない。
あとはキャラ設定書き足し。5面辺りの設定を書いた。シリアスだけど筋があまり通らないシナリオと普通のシナリオとどちらにするか考えた結果後者に決定。どんどんシリアス成分が減る。もうラストバトルぐらいにしかシリアス成分がない。

2008/07/14

今日の背景

・背景実装
縦120の絵をループさせてスクロールする背景。ボス戦の時にはちゃんとスクロールが止まる。ステージデータから読み込んで背景の変更も出来る。一つの絵を大量にコピーして貼り付けてまともに見える背景にした。やっぱり背景があると見栄えが全然違う。

早速マニュアルに何だか謎の書き間違いを発見したが問題ないのでアップしなおしたりはしない。

今日のマニュアル

・HTMLマニュアル公開
ここから。本当はウェブ上で直接見られるようにしたかったがGooglePageCreatorではFTPの類が使えないので圧縮してアップロード。今までのテキストファイルのヘルプの内容は一通り網羅しているはずだが、書き漏らしがある可能性もある。
無論今度からのバージョンには標準で添付する。「データ集」として書く事でゲーム中での説明を減らす。
あと、正式なマニュアルを書くに当たってゲーム内の用語を統一する必要性を感じたので統一しておいた。それも次のバージョンでマニュアルの用語とゲームの用語を一致させる予定。

昨日考えたがエクステンドなしで長期戦になるとほとんどミスが許容されなくなって厳しいと気付いた。そこで、エクステンドシステムの作成、喰らいボムシステムの充実、ステージの2分割という案が出た。エクステンドはあまり作りたくない、喰らいボムシステムは装備タイプによってつけられずバランスが崩れるという問題がある。
で、ステージの分割はアイディアが浮かんだ。エキストラステージを二つに分けて、クリアするとバッドエンドになるという。大分5面とエキストラの関係の構想が固まってきた。

2008/07/13

今日の説明書き

・SSHTMLマニュアル執筆中
KompoZerという物を使って。フレームに対応していなかったので手書きとのハイブリッド。基本的にでてくるHTMLはきれいなんだが、変なところに改行が入ってそれが半角スペースに化ける。テキストエディタとしてのスペックはあまり高くないように感じた。
昨日の絵は少しいじったがやはりしっくり来ない。等身を変えるとか。

2008/07/12

今日の絵


今日描いた絵。なんとなく公開。
上のほうは昔公開した2面ボスの変化版。なんだか妹紅っぽくなったが別にそう思って描いたわけではなく、白い狐だから髪が白くて、あとは御社に住んでいるから巫女服っぽいものにしただけ。
下のほうは3面ボス。ローレライ。描いているうちにどんどんと付属品が増えた。透過色の問題で髪が見にくい。
両方とも顔が同じになっているのが悩み。色々工夫したがこの気の抜けた顔しか描けない。

今日の抱き合わせ

・玉手箱リリース
・SS0.30リリース
・絵を描いた
ここから。まさかの抱き合わせ提供。別に分けて出しても良かったのだが、なんとなく抱き合わせにしてみた。
玉手箱は不可思議なバグの原因が分かったので修正。SSはMPの上昇量をあげておいた。100グレイズでやっと魔法一回と言うのは流石に酷だったので。MP回復アイテムでも作ろうと思っている。
実は今日リリースする理由がなくなったのだが、昨日予告したので出すことに。次回リリースはちょうど来週、二面を作るには厳しいのでパーティクルの追加や装備の充実、バランスの調節、背景制作、効果音などシステムの本筋以外を作ろうと思う。あとHTMLヘルプとか。

絵は3面ボス、及び4,5面ボスの試作。3ボスは自分としては悪くない感じに描けた。4,5はボツ。キャラの設定は大体決まっているが。後なんとなく2ボスの変身バージョンを描きたくなった。大分自分の趣味が入りそうだが。公開するかは未定。

2008/07/11

今日の圧縮

・SS0.30完成
・玉手箱完成
SSの完成によって玉手箱のバグがわかったという。どちらも明日アップ予定。
明後日からはかなり暇になれるので0.31に向けて進めたい。あとそろそろHTMLのマニュアルも作ろうと思っている。テキストでの説明は限界と言うわけでもないが、多分今の時点でもかなり分かりにくい。
結局ショット命中時、グレイズ時のエフェクト、MPシステム、買い物システム、新装備システム、Lv2魔法が0.2からの主な変更点。
0.31は大きなバグが見つからない限りは今月末。ステージ2、ストーリ-、バランス調整、HTMLマニュアルあたりを作りたい。これだけ大きく変更するのならバージョン0.4と呼んでいいかもしれない。
あとは弾幕講座。月曜あたりから執筆したい。
あと早く新しいPC買いたい

2008/07/10

今日の妨害

・買い物大体作成
大体。コードは書いたがまだ試していない。上手く動けばこれで買い物システムはほぼ完成。
グレイズ時にエフェクトが出るようになった。今度のバージョンからはグレイズも重要な要素。
あと風魔法の名前を変更。レベル3をカミカゼというような名前にするので、それに伴い風系統は全て変えた。
その他、リザルト表示をまともにしたり、バランスを取ったり。
昨日今日で色々とやった。

あと、プログラムとは関係ないがSoundFontというものを導入。MIDIの音質が格段に改善された。が、今の時代MIDIはあまり使われていないのが残念。でもMIDIも捨てたものじゃない。
http://eindows.seesaa.net/category/4148192-1.html
に詳しく載っている。

2008/07/05

今日の結果

・買い物作成開始
・リザルト表示作成
リザルト表示は買い物システムに必要だったので。適当に書いたが、冷静に考えるととんでもないバランス。あと、普通のゲームオーバー時にも表示してしまうので要修正。
買い物は装備の強化を購入するところ。まだ肝心の装備の強化の効果を作っていない。武器の強化とかはまた少し違うシステムが必要だし。面倒。
装備タイプは一種類減らした。流石に二刀流やらショット強化やらは強すぎるので没。
今作っているパーティクル、買い物、得点、装備のシステムは最低限作らないといけないが、それ以外の要素を12日までにどれだけ間に合わせることができるか。今月末までにはステージ2含めて完成させたい。

このタイトル、前使った気もする。この頃はあまりタイトルを意識しないで付けているので結構被っていそう。

2008/07/04

今日の劫

・新MPシステム実装
・描画明度変更
新MP作成。適当だがそれなりになっている。あとはMP上昇アイテムや、表示を親切にするとかが必要。後魔法のバランスの調整。
描画は暫定的なもの。予想していたよりも明るさにメリハリが出なくて残念。
いい加減買い物システムも作らないといけないが、なんとなくやる気がしない。華がないから?
広辞苑を見ていたら何だか使えそうな仏教用語があったので記録しておいた。広辞苑見ているだけで結構ネタが出るから面白い。
一方レベル3魔法の名前も大体決めた。神話由来の最新宇宙論用語だったり神話だったり日本史だったり。

暇があったら弾避け講座のページでも作ろうかと思っている。

2008/07/02

今日のバージョン

・新装備システム実装開始
・セーブデータ等にバージョン確認
あくまで開始しただけ。受け入れに向けて基本的な土台を作った程度。間に合う気があまりしない。
あとはセーブデータやリプレイにバージョン情報を記録するようにした。バージョンが合わないデータが読めないようになった。むしろ下手に読もうとしておかしくなる前に読むのを止める機能。
VisualC++はメモリさえあればコンパイルが若干遅いのと色々警告が煩い他はそれなりに使えると思った

2008/07/01

今日の運命

・玉手箱追加
・SS整理
玉手箱の最後の方の文章を追加。+閉じ方もダーク気味に。まあ脅しでしかないわけだが。
「そして誰もいなくなった」のように3Dで声を流そうと思ったがマイクが死んでいるので断念。流石にAquesTalkで作る気もしないし。これからもいい演出浮かび次第追加予定。
パーティクル基本形完成。現在ショットを敵に当てた時用のみ。それと、ソースを色々ときれいにした。#defineの定数の代わりにenum型使ったり、配列をポインタで書いたり。

2008/06/30

今日の微粒子

・パーティクル作成中
作成中。一ドットだと地味なのでもう少し大きくするべきかも。わざわざ慣れないマクロとかを使っているために効率が微妙にダウン。結局VisualC++で作っているし。

今日の種類

・玉手箱あらかた完成
・SSのネタ
実際今日はまだ何も作業していなく、昨日、一昨日なんかに作業をしていたのだが、玉手箱あらかた完成。後は中に入れるSS0.30の完成待ち。グラボによって大分見た目が変わる。
次にSSのこと。今日色々ネタを考えた。MPシステムの詳細、世界魔法レベル2の仕様変更、そして大きいのが装備のシステム。
装備システムは地霊殿に影響されて考えた。それぞれコンセプトが違う装備セットを用意して、それの切り替えによって自機の機能が大きく変わると言う形。今のところ奥義型、魔法型、移動型、武器型の4種類。このシステムにおいては、基本の弾消し手段は魔法だけになり、奥義は奥義型専用スキルになる予定。

2008/06/27

今日の目玉

・玉手箱大体完成
だいたい。後はドキュメントとか、箱に入れるもの(=SS0.30)とか。結局意味不明なものに仕上がった。予想していたからあまり意味不明ではないが。後はSSに集中すればよいのだが、いかんせんPCが生死の境をさまよっているもので。むしろもう境界を越えている気もする。買い物システムとストーリーぐらいは間に合わせたい。

2008/06/24

今日の混迷

・玉手箱迷走中
今度は本筋に関係ないこともないが、脇道メイン。どんどんと変な方向へ。明日ぐらいには完成させたい。

2008/06/23

今日の幻想曲

・玉手箱発狂
斜め上を凄いスピードで突き進んでいる。上へのベクトルが1とすると横ベクトルが5ぐらい。演出も充実してきて、ひとまずはラストワンポイントを作れば予定が完成なところまで来た。が、横に凄く進んだのが、本筋から離れたところの会話。これだけで10パターンほど作ると言う意味不明さ。そして微妙に気が付きにくいように隠してある。下手するとそちらの方が充実しかねない。
SSの設定執筆中。いざ纏めるとなるとイメージが矛盾したりで設定を練り直す必要が出てきた。

後おまけ。ミクロファンタジア。つい浮かんだので作ってしまった。タイトルが浮かび、何とか文にしようと思ったが曲の方が楽だった。ピストンコラージュ形式。

2008/06/22

今日の移植

・SSをVisualC++に移植
・玉手箱前進
BCCで続けても良かったがなんとなく移植。コンパイラが色々五月蝿くて疲れた。警告を大量にスルーすることに。テクニックとして使っていたものまで警告として出ると非常に鬱陶しい。
玉手箱はついに解凍成功。これで完成に向け障害はないはず。はず。はず
玉手箱は終わるとしても、SSが間に合ってくれるかは微妙なところ。もしかするとステージ2か新得点システムかどちらか切り捨てるかも。

2008/06/21

今日の突然死

・Lv2魔法全作成
一気に今日の作業で3つ作成。と言ってもネタは既に出ていたが。バランスは要調整。あとステージ開始ができないと言う大きいバグが生じていたので直しておいた。
玉手箱は何かするたびに詰む気がする。少しずつ進んではいる。
PCが何度も突然落ちたのにゲームのプレイ中というような場合以外で全くデータが落ちていないという不幸中の幸い。8月ぐらいには買い換えたい。

2008/06/18

今日の開封

・玉手箱バグ解決
・雷魔法考案
メインとなるオブジェクトが複数あることが原因だったよう。何時間悩んだことか・・・。あとは演出の作成と肝心の解凍機能の作成。
雷魔法は使いにくいが高威力というタイプにする。発動で特定の場所にマーカー設置、設置から暫くするとマーカーと自機を通るように一直線に落雷。これが一発。道中での使いにくさは恐ろしそう。動く敵にも当てにくいだろうし。

PCが極めて不安定と言う素晴らしい逆境。SSだって作らないといけないのに。

2008/06/17

今日の10 of a kind

・玉手箱アニメーション作成
・弾幕2つ
アニメーションを作ったはいいが再生しようとするとエラーが出て落ちる。原因不明。サイバデリアのせいみたいではある。この頃進みが遅い。何かするたびに壁にぶつかるような。SSは弾幕2つ+1面背景絵を試作。背景と言っても適当な木のドット絵。まだ表示する為の行動は取っていない。
弾幕は中ボス第1とネタが既に出ていた奥義。奥義が結構運要素が強く、切り返しが嘘避けに頼ることにならざるを得なさそうだから、もう一つ案がある別バージョンも作ってみようと思う。ただどちらにせよ基本的に気合避け比率が極端に高くなる模様。

2008/06/16

今日の二次元と三次元の境界

・玉手箱をDXライブラリ3Dに移植
結構頑張ってDXライブラリでやろうとしたが、結局モデル描画の時点でエラーが出て自力では分からなかったので断念。で、やっぱり3DでやりたかったのでVisualStudioの会員登録をしてDXライブラリ3Dへ移植。3Dモデルで箱の描画まで行った。あとは箱を開くアニメーションとか、解凍部分とか。
ノートPC絶不調。

2008/06/14

今日の切り替え

・2面本格製作開始
・プラクティスの機能拡張
・リプレイの記録方法変更
2面の弾幕を整理、及び順番や名前、イメージを決定。本格的な制作に控える。
プラクティスは、そのステージのスキルの数が一つの画面に収まらない場合左右キーでスキル切り替えをする機能。1面の段階では不要だったが2面で必要になったので。
リプレイはなんとなくバイナリデータで記録。こっちの方が軽い。最終的にはセーブデータなんかもそうするつもりだがこちらはデバッグの時手動で書き換えたりするので放置。
演出微妙に変更。背景をほぼ真っ黒に描いて、弾を加算合成で描画。なんだか1面の背景をまともに書きたい気分になった。
DXライブラリの非公開関数の使い方に悩む。

2008/06/12

今日の信仰

・玉手箱微進行
演出を少し作成+引っ張る文章作成。ポケモンショック的演出を作る予定。いっそ3Dのスクリーンショットよりも3Dをそのまま利用した方が演出が豊富になりそう。DXライブラリでも実は3Dを使えるようだし。

暇なので誰かが作ってといっていた文章を書く。

ネガティブフェイス

今は昔、ある山奥に村が有りました。その村は非常に山奥の為、外界との接触を一切絶っていました。長年外界との接触を絶っていたことで、その村では奇妙な風俗が生まれました。
彼等は、大昔に外界から齎された信仰のことを今ではすっかり忘れ、そこには神社も寺も教会もモスクも有りませんでした。そして、神頼みや神に感謝する為に行われていたような行事、所謂祭も行われなくなっていました。無論、神棚や仏壇、墓石なども有りません。卒塔婆もなければ電車も出てきません。しかし、その村の風俗の奇妙さはこちらはメインでは有りません。
実は、この村では不幸なこと、例えば災害や病気、事故などが起きるとその村の住民全てがいっせいに藁人形を作り、丑三つ時に近くの木にそれを打ち付けて、「神」を呪うのでした。その呪いはすさまじく、何か起きるたびに一週間もの間その行動を続けるのでした。人々は、不幸な出来事は全て「神」が起こしているのだと信じていました。人々は「神」を激しく嫌っていました。この陰の信仰、ネガティブフェイスこそがこの村の奇妙な風俗なのです。~続かない~はず

2008/06/10

今日の玉手箱

・解凍ソフト作成開始
演出の過剰な解凍ソフト。今日はメインとなる背景画面を作成+メインシステム構築。まだ演出の作成には入っていない。演出が乗ってくるまでのつなぎの文章を以下に上手く書けるかにかかっていると言える。結構背景画面はいい感じだと思っている。微妙にノベルゲームっぽい背景。
このところやる気が出ないので暫くSSは制作を停滞させ、こちらに集中予定。7月12日までにSS0.3はリリースしないといけないのがハード。7月終わりにまでリリースがずれ込むことは避けたい。

2008/06/09

今日の++

・2面中ボス絵作成
・2面戦闘前会話執筆
やる気が出なかったのでこれだけ。曲を書いてみようと思ったがやはり無理だった。締め切りまで大体一ヶ月ぐらいなのでペースを上げないとキツイ。ひとまずはパーティクル、買い物、Lv2魔法、MPシステム、ステージ2、ストーリー執筆が仕事。書き出してみると多い。そしてどれも重い。

NotePad++というエディタを入れてみた。結構高機能だったのでBCCDeveloperの代わりに使えそうだと思ったがMakefile作成自動化とかの機能が便利なので、後者も併用すると言う形で行く。コンパイル時にエラーが見えなくて困ったが、コンパイル用のバッチを書いて実行するようにすれば解決できそうなのでここにメモ。バッチを書いたりと言う点で面倒な点はややあるが結構有用そう。動作が重めだが気になるほどではない。
文章のネタが出来ているが、時間が無いので書かない

2008/06/07

今日の電波

・弾幕作成
・ネーミング・コメント執筆
いつぞやのシンプルな弾幕に色々と後付け設定をつけた。その結果かなり涙ぐましい攻撃に。更にその対極に位置するものとしてもう一つコメント執筆。まだ弾幕自体は作っていない。大体の形はイメージできているが。
弾幕は電波。野辺山電波天文台観光記念。電波といっても所謂へにょレーザーみたいなものだが。弾道をサインカーブにする方法を考えるのに結構時間がかかった。もう一つパラボラアンテナを模した弾幕を作ろうと思っている。どちらも雷様に使わせる予定。

↓参加しました。
Download Day 2008

2008/06/04

今日のアップ

・SS0.22リリース
予定通りにリリース。ここから。
変更点は
・プラクティス作成
・リプレイシステム変更
・戦跡記録方法修正
・バグ修正
プレイヤーにやさしくないシステムになった。本来はそうであるのだが。リプレイは大分まとも。詳細はReadMeに書けている筈。
次回は大きなバグが出ない限り7月中ごろリリース。

2008/06/03

今日の記録

・リプレイ記録システム変更
プラクティスに対応させる為、ステージにひとつではなく全合計で10本までリプレイを記録できるようにした。リプレイの更新時刻も見えるようにしてある。再生の方はまだやっていないので明日やる予定。と言うよりやらないといけない。あと魔法に関するバグが報告されたのでそれも直しておきたい。取得歴の問題は解決法は既に浮かんでいるのだが何だかやる気がしないので放置

2008/06/02

今日のコメント

・プラクティス大体完成
・弾幕作成
コメント表示機能作成。あと0.22に向けてはリプレイシステムの改良。プラクティスのリプレイへの対応とか。
地味な弾幕作成。高速全方位+スローランダム大玉。名前が思いつかないし、誰に使わせるかも未決定
BGMとして、同じ原曲を何種類もの楽器でアレンジして全て同じ原曲の曲だけを使うという計画を立てた。実際どうなるかは不明。

2008/05/31

今日の新入り

・バグフィックス
・プラクティス強化
リプレイ中のポーズのバグを修正。
プラクティスはプレイ記録への反映と、繰り返しプレイするかの選択肢。スキルごとにコメントを表示する機能と、取得歴の問題修正、リプレイへの対応を行えばひとまずの完成のはず。が、最初の奴を修正するのなら一緒にリプレイシステムの大き目の変更も行いたいのでもう暫くかかりそう。
0.21をリリースして、その後は7月までリリースするつもりはなかったのだが結構バグが酷いので来週の水曜ごろまでに0.22を出そうと思っている。もちろんプラクティスも付けて。

2008/05/30

今日の練習

・いくつかバグフィックス
・スキルプラクティスモード実装中
0.21でのバグをいくつか修正。Grazeがリセットしても0にならないことと、ポーズからタイトルに戻るのが上手く行かないこと。
スキルプラクティスはひとまず使える形にまで作成。まだリプレイの記録や挑戦履歴などの点で問題がある。また、2面以降への対応も現状では不可。その他、繰り返しプレイする為の選択肢とか。
ラストバトルの仕様を考えた。あまり書くとネタバレになるのであまり書かないが。構想としてはなかなかいいと思うが、自分の演出力で十分な演出が出来るかが問題。あと難易度インフレがおきかねない。
世界属性のレベル2を考案。武器によって異なるオプションを作成し、一定時間ショットを補助。防御効果は低めだが汎用性が高い。

2008/05/27

今日のRelease021

・SS0.21リリース
ここから。0.20はバグがあったのでお蔵入り。
0.1からの主な変更点は、
・ノベルパート追加
・ゲーム中での装備変更可能
・セーブ機能追加
・新魔法追加
・敵奥義作成
・会話の変更
これぐらい。リプレイ互換性はない。バグ報告が有り次第改良予定。次回リリースは7月中旬を予定。6月に一度出る可能性も無きにしも非ず。
目標
・ステージ2まで作成。
・魔法・奥義システム大幅変更
・得点システム大幅変更
・買い物システム作成
・ストーリーの記述
・演出の強化
7,8月には一気に5面ぐらいまで作りたい。9月終わりに完成できるかどうか。

2008/05/26

今日の直前

・SS0.20完成
・新魔法作成
・3D発表用に変更
SS0.20完成。結局昨日のセーブバグと買い物システムは放置。その代わり、前回のリリースの時に作らなかった新属性の魔法を作成。無敵時間が他に比べて数倍あるが攻撃力が文字通りの意味で皆無。通常のショットすら出ない。実は雑魚に体当たりすると一撃で倒せたりはする。裏技と言いたいが、どうせ道中であれだけの無敵時間だと勝手に敵が自爆するのでそれほど意味はない。稼ぎにはなる。
実はリリース版作成直前まで道中の存在を完全に忘れていた。リリースオプションでコンパイルしてから道中の存在を思い出すと言う酷さ。リリースは明日にする。特に理由はない。なんとなく。

3Dは主観視点は結局良く分からなかったので切り捨て、代わりに臨場感あるカメラアングルに移動するショートカットキーを作ってみた。後はリセットも。「リリースオプションで作ったらサイズが半分になった」というジョークを書こうと思ったら実際には約5分の1に圧縮。事実は小説より奇なり。本体の4倍あるデバッグ情報と言うのも謎。
こちらはクオリティが酷いのでアップしない。ただの客寄せパンダということで。
やはり3次元よりも2次元の方が好きなので2次元での創作を続ける。と書くと変な方に誤解されそうだ。別にそれほど誤ってはいないので気にしないが。

癸の冬の水瓶座生まれって水の申し子だ。星が水星だったかは覚えていないが