fc2ブログ

自分用メモ2(FAM)

2008.10.31.Fri
●後から実装するもの
・1命令ではなく1区切りでの出力
現状、出力できるのは直前に実行された命令だけですが、文章と文章との間で書かれる命令を履歴みたいな形でプールしておいて一気に書けるようにしようかと。
履歴処理できなきゃ付けれないので当分後。

●実装するかわからないもの
・ツール内の設定で変更できない変数は基本的にスクリプトに出力する時は固定値に。
Nスクで言うと描画命令のエフェクト番号みたいなのとかね。
将来的にはなんらかの形でフォローできるかもしれないけど、今はなしで。
デフォルト値は決めれるからそう問題もないだろうけど。

・透明度の変更
自分で使うつもりがないから全然考えてなかった。
あとからつけることを想定して変数は空けておくけど、要望がなきゃつけないかな~。


需要がなさそうな機能を片っ端から後回しにしてますがまだ課題が山積みっぽい。
スポンサーサイト



汎用的なツールを作ろうとする過程でいろいろ見えてくるもの(FAM)

2008.10.30.Thu
友からで使われている入力方法って、いつの間にかえらくカスタマイズされてたんだなあ・・・。
普通にゲーム作る分には使う必要があまりなさそうなある機能を後付けにしようかと思ったら、友からがその機能使わないと動かなくなるとわかり少し困惑。


わかりにくい機能を使うサンプルとしては最適なのかもしれないけど、面倒な機能つけないといけないってーのはできるだけ早く発表したい身としては困るわけで。
つか、サンプルのために機能が増えるのはやっぱり順番が違うよーな・・・。

なでしこ単体の作業場所はもうほとんど終わり(FAM)

2008.10.29.Wed
後はNスク側にデータ渡す部分とかを調整するのが主なんだけど、その前に2つ大きな工程が。
1つは簡易グラフィックツール(みたいなもの)。
立ち絵を表示させる時に複数のグラフィックを表示させる人のために、画像のαチャンネルをユーザーが簡易的に作れるようにする必要があるのですよ(でないとツールで表示できない場合もあるから)
Nスクでは画像の描画できないから、これもなでしこで作らなきゃいかんのです。
こっちは元から作らなきゃ~ってずっと思ってて手が回ってなかったところです。


で、もう一つ。
スクリプトから取り入れたスクリプト番号をどうツールのNスクに渡すかという問題が今更出てきまして。
自分一人で使ってたときは使うスクリプト番号がわかっていたからそのままの値を渡せるようにしていたんだけど、誰にでも使えるツールとする場合はユーザーが使っている値で使えるようにしなきゃいけないので余分な処理が必要になるんです。

事前に「この番号だったらこの番号に変換」って設定できる感じにするんだろーか。
細かく設定できるせいで扱いにくくなったってんじゃあ元も子もないし、慎重に決めなきゃいけない。
それに、変換してNスク側に渡すとしたら設定データをスクリプトに書き込む時にデータを適切な形(値)に変換しなおす必要もあったりするわけで。
・・・うわ、結構面倒な作業かもしれない。

これらの作業が長引かないことを祈るばかりです。

こーいうもの書くヒマがあれば作っていた方がいい気もしますが(FAM)

2008.10.23.Thu
ちょこっとだけ紹介できる部分ができたのでお披露目。


作っているツールを使う上で大きなネックになりそうなのがデータの入力部分です。
作り手として一番楽なのはNスクのスクリプトで直接データを入力してもらうことだったりしますが、まー、それではツールとしての用をなしてないわけで。
とりあえずグリッドに入力するようなものを作っては見たものの、あんまり使い勝手よくなかったんですよ。
ファイルのドロップでファイル名等自動入力ってのもつけましたが、やぱりガーってできるようなもの欲しいなと。
んで、エクセルファイルでの編集もできるようにしました。

10/23、1


こんな感じにおおまかな情報を打ち込んだらエクセルファイルを作る。

10/23、2

元々ゲームの設定を入力していたエクセルデータからぱぱっとコピペする


10/23、3

そのデータを取り込む
・・・2列しか入力されていないとあまり便利なように見えないな。
ま、まあ、こんな感じに使います!


ちなみに、拡張子、相対パス、出力形式といった欄に記入がないですが、これは記入する必要がなかったからです。
デフォルトの拡張子などを設定でき、記入がなければデフォルトの値を、記入があればその値をそのファイルのデータとして使います。
ですから、同じフォルダに背景ファイルを置いている場合はわざわざ同じデータを何度も入力する必要もありませんし、ファイルの位置がばらばらだという場合でも、普通に入力できます。
当然、同じフォルダだけど、入力する、という人はそうしても問題ないです。


あと、時間依存という欄がありますが、これは時間というパラメーターをいじることで、自動的に画像を切り替えるものです(前にどこかで書いたかも)。
当然、これにもデフォルト設定があるために入力する必要がなかったのです。


エクセルでデータ編集できるようになったことの説明をほとんどしていないような気もするけど、まあ、こんな感じで。
また発表できる部分ができたら続きを書きます。

進まねぇぇぇ!!(FAM)

2008.10.21.Tue
3歩進んで4歩ぐらい下がっているような作業状況の毎日。
いや、ほんまに1つ機能追加するとそれに伴って2箇所も3箇所も修正しなきゃならんことが続いています。
というわけで、決してサボっているわけじゃないんですが、今月中にというのは確実に無理そうです・・・。

やっぱり見通し甘かったのかなあ?
そこまで大掛かりなもの作っているわけじゃないんだけどなあ・・・。

ほとんど自分用メモ(FAM)

2008.10.20.Mon
●最初から実装するもの
・データ入力をエクセルでもできるように
今日中にも実装。デフォルトのやつだけだと、入力作業に疲れて使わない人がいるかもなので。

・サンプル
最低限の見本がないと。多分マニュアルだけじゃわけわかんない。


●後から実装するもの
・チュートリアル
本当は最初からつけたいが、作るだけで1週間はかかりそう。とりあえず後に。

・履歴使って編集のしやすさUP!
必須ではない&現状つけられてない機能なので、時間がかかりそうなものは後回し。


●実装するかわからないもの
・1行に複数の命令があるスクリプトの取得
Nスクでいうと(:)コロンで区切られた書き方。取得方法次第では普通に実装されそう。

・複数行にわたって1つの命令があるスクリプトの取得
同じく取得方法次第。なでしこの検索機能はまだほとんど使ってないからなんともいえないが、こちらは実装されない可能性大。


他に出てくるかもしれないけど、今はこのへんで。

本日の作業内容ダイジェスト(FAM)

2008.10.19.Sun
なでしこのプログラムを入力するエディタの挙動に我慢ならなくなり、とうとう使い慣れた秀丸でテキストを入力、中クリックするとなでしこエディタでテスト実行する、というプログラムを作ってしまう。
なでしこが優秀だから極力なでしこを使わない方向で頑張ろう、という皮肉なんだかよくわからないことになりつつある。
「普段の使っているソフトをちょっと便利に」という、いかにもなでしこらしい使い方をしているにもかかわらず、なんか微妙に違うよーな気も。

でも、そのおかげでさくさく入力していけてます。
ようやくなでしこ側のプログラムとNスク側のプログラムを連携させる目処がついてきました。

終わった~!(FAM)

2008.10.15.Wed
しばらく忙しくてツール制作になかなか時間を割けなかったけど、仕事の山場を越えたのでこれからツール制作しまくります。
もう10月も半ば。スケジュール的に素敵なことになってきたので、今まで以上に寝る間も惜しんでがんばります!!

汎用性と多様性(FAM)

2008.10.12.Sun
できるだけ多くの環境で動くものを、ってことを意識しながら物を作るとどうしてもすべての環境で同じように扱える汎用性といろんな環境で扱うことを許す多様性のせめぎあいになってしまいます。
友から制作のときは自分が担当する部分はNスクだけだったのでvistaの挙動に苦しめられたぐらいで済んだのですが、今回はNスク以外になでしことhtmlについても作らなきゃならんので、他の環境依存の挙動に苦しめられることが多いです。

作っている側に回ると
「くそっ! こんな稀なケースのためになんでここまでやらなきゃいけないんだ!」
ということを考えてしまいますが、普段は多様性に救われている側の人間なので、あまり多様性を減らさないようなものにしたいと思います。
98未対応のソフトを作っている人に堂々と文句言える立場でいたいですから。



95? Mac?
ごめん、そんなOSのことは知らな(ry

他の人はどんな扱いにして作っているんだろう?(FAM)

2008.10.07.Tue
前回の紹介であえてスルーしてた部分があります。
各キャラクターのパラメーターのうちの『Z座標』ってやつです。
ようは立ち絵重なった時にどっち前に扱うかってやつなんですが、ここもスクリプトとして書き出すにしろ、各ユーザーさんの設定ごとにやり方があるだろうから自由に設定できるようにしたいんだけど・・・

どんなやり方にすればいいんだろ?

立ち絵を表示させるには普通のld命令の形式でのやり方とスプライトで立ち絵を表現するやり方がありますが、スプライト形式でやる場合、みんなはどんな風にスプライト番号を決めているのかわからない。



友からでは立ち絵は各キャラごとに固有のスプライト番号を持たせて扱っています。
ただ、スプライト番号の前後と立ち絵の前後と逆転させたい場合もあるので、通常使う番号と、前方に持っていくときようの番号の2セットを各キャラに割り振って立ち絵を管理しています(ユーザー定義命令で立ち絵描いているので、キャラごとにスプライト番号固定させておけばスクリプトで指定する時にキャラ名の指定だけで済むので管理が楽なんです)。

しかし、人によってはその場面に出てきた順に番号を割り振るかもしれませんし、左右の位置で番号を割り振るかもしれません。
自分には思いつかないけど、他の方法を使っている人もいるかもしれません。
その辺りどう処理しようかなあといったところ。


多分、最初は最低限の機能だけつけて、要望がきたら後付けしてくんじゃないかなあと。
手間がかかって大変そうな作業は他にもありますが、ここの処理をどう自動化させるかが一番面倒な作業になりそうです。

ほっとくとツール制作進まないという愚痴だけになりそうなのでたまには機能紹介(FAM)

2008.10.05.Sun
1005、0

立ち絵の設定画面です。
こんな感じに一括で立ち絵の画像や座標、表示の有無を設定、管理できます。
上記の画面からでも簡単な変更はできますが、座標をちゃんと変えようとするとこんな感じの画面になります。


1005、1

Nスクでいうところのld命令で指定もできますが、スプライトで立ち絵を作ることもできます(当然、顔と体のような複数のパーツでの表現もできます)。
横座標(X座標)は友からの設定を使ってるので40ピクセルずつに区切ってありますが、これも自由に間隔を設定したり、直接表示させる座標を指定することもできるようにするつもりです。
出力する命令も、ユーザー定義の命令で出力することもできますし、ユーザー定義命令で扱いやすいよう、出力する座標の基準位置も画像の左上の座標だけでなく、真中下などの座標にすることもできます。


立ち絵以外の画像、例えばメッセージウインドウのようなものも表示できます。

1005、2

こーいうものも、画面で結果を見ながら座標を指定したりドラッグで移動させたりできるわけです。


1005、3

こーいうのの座標を確認するために何度も設定変えながらを再起動したことがあるって人はいると思います。
背景と立ち絵を合わせた画像にメッセージウインドウをおいたらどのようになるか、どの位置にするとバランスがいいか実際に見ながら調整できるので、便利だと思います。


随分長くなったので、とりあえず今日はここまで。

制作時間の9割以上がなでしこの学習に当てられている気がする(FAM)

2008.10.04.Sat
進捗状況がどんな感じなのかは推して知るべし。
その分、いろんな小技が使えるようになって便利にはなってきてるんですがーまだまだ覚えて活用できるようにならなきゃいけない命令があって大変なんです~。


あんまりちんたらやっててもしょうがないので、基本的な枠組み作ってバグもなさそうなら一度公開してしまうことにしようかと。
編集データをエクセルで出力。エクセルで編集したらそれを取り込める、だの、フォトショのヒストリーみたいに編集状況をすばやくさかのぼる、だの、つけたい機能はいくらでもあるんですが、それらは後でつけりゃ済む話なので。
簡易的にユーザーにマスク画像を作ってもらうツールがどうしても必要なのでまだまだ制作に時間はかかりそうですが、それができるころにはゆにたりのホームページでちゃんとした紹介ができるようになりそうです。
それまで気を抜かずがんばります!


・・・Nスク上で画像を書き換えることができりゃ、上記のツールもすぐに作れそうなんだけどなあ。

なでしこさんは大変です(FAM)

2008.10.02.Thu
マニュアルとサイトとツールとを平行して作っています。
本当は一つを集中して作ったほうが効率いいんだろうけど、ツールのほうがあまりうまくいってないので、他の作業を間に挟まないとちょっとだれてしまうので。


ツールの制作に使っているなでしこというプログラム言語は基本的によくできたものなんですが、マニュアルが不完全なのと、いろんなものに例外があるのが難点です。
マニュアルが不完全なのはフリーだからってことで目をつむるとして、問題なのは例外処理の多さ。
○○ではできるけど、××ではできないよ、とかってのが実際にやると結構見つかる。

そりゃ少しはそういうのもあって当然だけど、それがマニュアルにも書いてないとなると話はかわる(なにしろ、引数の取り方のみで、何をする命令かすら書いてない命令が公式マニュアルに山ほどあるのだ)。
できない原因を探すために試行錯誤して、掲示板を検索してまわるだけでもえらく時間を浪費してしまう。
そして、ようやく見つけた回避法を使って作業を再開しようとすると、新しい方法では別の場所で不都合が出たり。
こんなことばかりで作業が全然進まない。
新しいことを身に付けるために時間がかかるのは当然だが、時間をかけた成果が目に見える形になる前に次の壁にぶちあたるからやる気がなくなってくるのだろう。


一言でいえば「なでしこのせいで作業進まない~」ってことなんだけど、なでしこそのものは悪いものではないんですよ(でなきゃ他の物を使ってる)。
プログラムに触れたことのない人がサンプルプログラムを元に改造する『プログラミングへの第一歩目』、それを元にプログラムの流れを覚える『第二歩目』の敷居は、作者さんがいろいろサンプルを書いていることもあって低くなっていると思う。
でも、やりたいことを実現するために新しい機能をつけるという『第三歩目』の敷居はおそろしく高いような気がする。
だからものすごくもったいない。
Nスクだと『第二歩目』ができりゃ、『第三歩目』も簡単だったからそう感じるだけかもしれないけど。