今週はいじる暇が無かったのでNPRで遊ぶの進展は無し。
本をまじめに読んでるんだけどやっぱり面白いな。 今までちゃんと調べてなかったのが悔やまれる。
日本人ならPhotorealisticよりNon-Photorealisticの方が好きなひとも多いだろうになんでマイナーかなぁとか思ってましたが、論文の日本人率意外に高いですね。
俺の見聞が狭いだけでした。
いまはGooch&GoochのNon-photorealistic Renderingを読んでるんだけど、他にまとめ本とかまとめサイトがあるとうれしいんだがな。きっとまとめサイトはあると思うんだけど。
ちょっと古いながらも基本的な事がまとまってていい本なんだが併せて新しめのものも調べておきたいよね。
論文とかたどっていくのがいいんだろうけど、大体本読んでるのが電車の中だ。 京ぽん2とN810で論文めぐるのは辛いぜ。
ステージエディタがそこそこ使い易くなったので軽くステージを作ってたけど、俺の賢さが足りない。
やはりゲーム作りはレベルデザインが肝ですよね。
ちょっと難しいステージにしようと思って作ってると、最後には結構いやなステージになってたりする。これは気を付けないとルートがひとつしかないがちがちなステージを作るようになっちゃうな。
しかし気を抜くと一瞬でクリアできるようになってたりして難しい。
とりあえず適当に作ったら意図せず絶妙な配置になったステージと、ものすごく悩んで適当なところで妥協したステージができて詰んだ。
いまのところ要素が少なくてこれ以上は無理。というところでいろいろとアイディアをいただいたのでそれを実装していこう。
やはりアクション要素は欲しいだろうということで、動く足場とか敵とか。
敵はやっぱり欲しいよな。アクションパズルといえば無限湧きの敵ですよ。しかしモデル作るのが大変なのが困り者。
動く足場は衝突判定および応答が何なので難しい。キャラクターの接地判定がもう少しうまくいけばそれほどでもないのかなぁ。
他にもいろいろアイディアもらったけど、結構面倒なのはステージエディタの対応。いまはブロックの種類毎にプロパティシートとか持ったりはしてないんだけど、そのままではどんどん余計なコントロールが増えてしまう。やはり種類毎に別のプロパティシートを表示するようにするしかあるまい。
モデリング難しいお…。
Windowsマシンのmtnが古かったから新しくしようと思ったら0.40が出てた。
しかしWindows用のバイナリはまだなかったので結局0.39入れたけど。
2008年4月11日(金) 22:50:44 UTC
0.40をリリースしました。
変更点
- vimでのマージが改良され、vimdiff実行前に競合しない部分
についてはdiff3で自動的にマージするようになりました。
- パスを探索する深さを指定する--depthオプションに渡す
値が変更されました。
--depth=0は指定したディレクトリそのものを表し、その
子ディレクトリを指さないようになりました。
--depth=1では指定したディレクトリとそのすぐ下の
子ディレクトリを指します。
以前は--depth=0に子ディレクトリも含まれ、--depth=1には
孫ディレクトリも含まれるので、--depthで完全に子を除外
することができませんでした。--depthを使っている場合、
単に渡す値を1増やすだけで以前と同じ動作になります。
- ssh:とfile:のsync経路はWin32ネイティブでは動作しない
ことがドキュメントに明記されました。
バグ修正
- `commit'で_MTN/optionsのkeydirが使われるようにしました。
- 親ディレクトリの名前変更があったときの名前競合におい
ても、適切なエラーメッセージが出るようになりました。
この場合、エラーメッセージに両方のディレクトリ名と競
合するファイル名が表示されます。
新機能
- ワークスペースの親リビジョンを取得するのに使用できる
'p:'セレクタが追加されました。これは
"mtn au select p:`mtn au get_base_workspace_revision`"
と同じです。
- push、pull、syncが下のように引数ひとつで起動できるよ
うになりました。
mtn://hostname?include_pattenr/-exclude_pattern
または
mtn://hostname?include=include_pattern/exclude=exclude_pattern
内部的な変更
- Botanを1.7.4に更新しました。
- 内部使用のapp_stateオブジェクトのしようを減らし、
上手くカプセル化して使うようになりました。
データベースのインターフェースも将来的に内容の
ロックを減らし易いように改良しました。
- revision_certsにインデックスがふたつあったのを
ひとつにまとめました。
- データベースのスキーマを変更し、ほとんどの場所で
16進エンコードでなくバイナリでSHA1のハッシュを
格納するようにしました。
これによりデータベースのサイズがちょっぴり減ったり
動作がちょっぴり速くなったりします。
データベースを直接扱っているようなひとはカラムの
表示やハッシュ(含むID)の格納にsqliteの関数hex()と
quate()、16進リテラル表現であるx'DEADBEEF'なんかを
使うと良いでしょう。
- メモリ中での処理でもほとんどの場所でバイナリのSHA1
ハッシュを使うようになり、変換を避けメモリを節約
するようになりました。
データベースの変更がひさしぶりにあったので
mtn db migrate
を忘れずに。忘れても操作しようとしたときに文句いわれるだけだと思うけど。
ssh:とfile:はWin32ではうごかんのかー。いまのところ使ってないからいいけど、ちょっとまじめに使うなら欲しいような。
セレクタはまだまだ賢くなっていい気がするよ。例えば複数選択された中から最新のに絞りこむ奴とか欲しい。
あんまりでかいものに使ってなかったから気にならなかったがやはりGUIが欲しいヘタレだと気付いた今日このごろ。
そんなに凝ったものでなくていいんだが、addするファイルをリストで選べたりcommitするファイルをリストで選べたり、その程度。
guitoneはまともに動いたためしが無いんだがどんな環境で動くんだろあれ。
Tortoiseみたいなのがいいんだが、あそこまで至れり尽くせりでなくていいし、Macでもつかうから適当に作ろうか。
wxLua使えばフックだけで実はいけるんじゃないかと思ったがmtnのフックでは外部ライブラリの読み込みが許可されていないらしいので無理だった。けち。
仕事でも個人的に使ってるんで*1、なんとかしたいなぁ。暇が無いんだが、週末ぐらいでなんとかさっくりできんかな。
*1 家で使うよりファイル数多いし