2009/02/28

今日の自前

・スクリプト構想

スクリプトのことを考えていたら、自前で新しいスクリプトエンジン実装する、という虚数解が導かれてきた。せっかくD言語というマイナー言語を使っているのだから、「ないものは作るしかない」の精神で自作。どういう言語にするか考えて、作りやすそうなLispのような設計にすることに暫定決定。Gimpのスクリプトをいじっていてだいぶ慣れてきたことが影響している。現在の進行状況はファイルを開いてコメント行を処理する機能を作ったところ。

ここ2日間、夢に弾幕が出るようになってきている。たまたま夢に出てきたので記録することもろくに出来ずにほとんど忘れてしまって、覚えているのが弾源が画面端を回りながら弾を撃ってきているという光景だけ。今晩見たら今度こそ記録する。

今日の分離

・絵

・スクリプト調べ

先日からの絵の仕上げ。気になる部分にアンチエイリアスをかけて完成。明日にでも公開予定。

復讐に使うスクリプトについて考えていた。Pythonは既存のものは古くて使えず、自前で作るのもC言語版ヘッダを見た限りでは難しそう。Luaは、新しいはドキュメントがややこしいサンプルコード一本でわからず、古いものは自前でいじる必要がありそう。あと、Luaに馴染めない。D言語をDLLを利用してスクリプト風に使うする、という手があるそうなのだが設計が難しい。結局どうするかが決まらない状況。メイン部分とスクリプトにしたい部分をコンパイルしわけて、スクリプト部分のコードをコンパイルしてリンクするだけで動かせるようにする、という手も考えたがメリットが薄そうで微妙。結局まだ解決していない。

2009/02/26

今日の陰影

・絵

プログラムを書かずに絵ばかり描いている今日この頃。先日からの絵に陰影をつけたりしていた。あとは一度描いた他のキャラクターを没にして新しく下絵を描いたところ。

2009/02/25

今日の全身

・絵

D+Luaを調べていて、サンプルの意味が良くわからなくなったのでLuaのリファレンスを読んだら、却ってスタックとかでよくわからなくなった。

それでLuaについては本に頼って勉強することにして、パラボラとかもやる気がしなかったので先日から描いていた絵をとりあえず完成させた。残すは陰影付けとアンチエイリアス。

最初の予定では顔だけのつもりだったのだが、せっかくなので全身絵にした。思いつくままに描いていたら、ちびキャラで以前書いたデザインとの間に若干の相違点が出てきたのでちびキャラをそちらに合わせることにする。

絵を描いているのもこの頃楽しくなってきた。

2009/02/24

今日の追尾

・弾幕作成

PythonDをやろうとしたら、使われているDのバージョンがだいぶ古かったようでコンパイルが出来なかった。そこで気合でコードを直してコンパイル通るようにしても良かったのだが、それは大変そうだったのでやめておいた。

それでパラボラをやろうと思ったのだがどうも見る気も起きなかったので、昨日作成したホーミングを使って弾幕を書いた。そのデバッグ中にプラクティスメニューのバグが出てきたので直した。現行のバージョンには関係のないバグなのでパッチは出さない。

PythonDが駄目だったのでもうひとつスクリプト言語として載っていたLuaを導入してみたが、まだ試していない。GimpのスクリプトとしてSchemeも調べてみた。文法はかなり気持ち悪く感じるが理解できないものではなさそう。

2009/02/23

今日のぼかし

・絵

・蘇生ホーミング作成

Gimpのガウシアンぼかしを使って、蘇生の絵をいじっていた。ぼかしをするだけでドットが滑らかに見えるようになって、フルスクリーン表示にも耐えうる見た目になって強力。ぼかしのやりかたで少し詰まった部分があったのでメモ。

ここで使用する画像は普通のビットマップファイル。まず、このファイルをGimpで開く。次に、レイヤのリストのレイヤ(背景という名前になっているはず)を右クリックして、アルファチャンネルを作成。それから、画像の透明色にしたい部分を選択してデリート。「色域を選択」とかがあるのでそれを使うと便利。そして一番罠となっているのがここで、画像メニュー→モードがインデックスになっているのをRGBに変更。あとはガウシアンぼかしを適用して、pngで保存。透過色がいらなければアルファチャンネルとかの操作は不要。

これで蘇生の絵をどんどん変換していたわけだが、やはり面倒で人間がやる作業ではないと感じた。そこで、スクリプトを書いて処理しようと思っているのだが、その言語がLisp。

それとは関係なしに、暇があったので落書きした絵が気に入ってそれをドット絵にして描いているところ。表情をつけるとなると目が結構繊細になってきて難しい。

あと、特に使う予定は立っていないのだが蘇生にホーミング弾機能を実装した。力押しで美しくないアルゴリズムなのだが、いつもの「プログラミングはパワーだぜ!」とでも。

2009/02/22

今日の落下

・パラボラメイン作成中
・絵
時間があって気力もあったのでパラボラのメイン、軌道の計算を書いた。しかし、というより予想通り、上手く動かない。どこかで単位が食い違っているのが原因ではないかと思っているのだが、それらしいところが見つからない。
もう一つありえる可能性として空間の曲がりによって半径方向にずれている可能性も考えられるのだが、そうだとしても解決方法が思いつかない。と書いたところで、日記の魔力によって解決法が少し見えてきた。正しいかは分からない。

パラボラを一通り書いたところで、絵の勉強を始めた。顔のアップを描いてみているところ。やっぱり髪は上手く描けない。