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

今日の線分

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