言語ゲーム

とあるエンジニアが嘘ばかり書く日記

Twitter: @propella

2004-06-01から1ヶ月間の記事一覧

本日の作業報告。

ODE 用のハイレベル API の作成。どの変がハイレベルかと言うと、シミュレーション中にイメージを保存終了して再度立ち上げても何も無かったように動き出すという事です。ODE 中のメモリは Squeak のイメージと一緒には保存されないので、その時点での状態を…

今日の分

今日の分です。言い忘れていましたが、今の所 Windows 版 Squeak のみ対応しています。 http://languagegame.org:8080/ggame/uploads/14/ODE.1.sarワークスペースから下の式を実行するだけでもネットインストール出来ます。 name name := 'ODE.1.sar'. (File…

平面生活

思わぬ反響に気を良くしていますが、実はこれ Croquet がらみで始めたんですけど、これがまた僕の聞き間違いで、デイビッドは ODE を使わないと言ったのを僕が使うと勘違いして週末セコセコ作ってたのでした。ガーン。まあ、これはこれで面白いからしばらく…

ODE 動きだす。

大島さんに励まされつつ何とか動き出しました。いきなり Croquet と連動させる度胸が無かったので、まずは普通のモーフとして動かしてみる。と、なぜか山本さんの粒子遊び http://languagegame.org:8080/zoo/32 のような物が出来てしまった。なぜだ。 まだ箱…

ヘイ!なにウォッフル食べてるんだい?

何かジョークの例を教えてくれと言うと教えてくれました。waffle と woful (ひどい) をかけているらしい。

あとで電話してね!

下手すりゃ自らの行いこの広き世界で全く持って無意味であったと後でわかり後悔墓まで持ち越す事になりしもせめて証拠をだけでも残すべきと取り合えず記録ー。全然先に進まない。 難しい所。 コールバック。ODE では、衝突を検知した時点でコールバックを呼…

はじめてのプリミティブ

なんとかコンパイルが通る。ただ単にワールドを生成してそのIDを整数で取得するだけなんだけど、とにかくODEと通信出切る事が分かった。感激!それにしても、一筋縄ではいかない。 悩んだところ。 cygwin mingw VC7 の環境をごっちゃにしてはいけない。 dllwr…

ODE セカンドインプレッション

それで、何とかこの ODE を Squeak の中で触れないかなあと色々やってたわけです。と言っても当方、VM いじくった事なし、C 言語の経験も数ヶ月程なので、先が思いやられます。まずはサンプルソースを触って、自分が理解できる程度に短く、かつまともに動作…

ODE ファースト・インプレッション

ODE というのは、オープンソースの物理エンジンで、ゲームなどを作るのに使います。 http://ode.org/サンプルプログラムをコンパイルするまでのメモ。以下 {ode}\ は適当にソース解凍先に読み替えてください。 http://ode.org/download.html よりソースをダ…

Scamper

ふと、この Squeak のウェブブラウザ Scamper のダサ加減に嫌気がさし、何とかならんだろうかと悩み始めた。僕には市川さんのように真摯にバグを直そうという態度は無く、単にラクしておもろい物が出来れば良いだけと感じていたが、例えばこのはてなを見ると…

pretty print

現実逃避的に、Squeak のはてな用 pretty print を書いてみる。はてなでは、連続する ] の記号やタブをうまく表示できないので、ソースを日記に貼り付ける時には手で修正する必要があった。そこで、このソースを使うと、pretty print (右クリックのさらにメ…

シナプス・リンク

このネタは、もしかしたら本当に商売になるかも知れないから黙っておこうと思っていた。しかし友人に喋っても反応がイマイチで、多分作らないと思うのでネタだけを書く。サイトのリンク構造というのは、まずツリー状であるべきだ。入り口がまずあって、そこ…

最適化に熱中する。

折角コードが綺麗になっても、遅いとあっちゃ悔しいので最適化に熱中してしまった。全体にパーサのパフォーマンスの占める割合なんて微々たる物なので、はっきり言って殆ど無駄なのだが、これは理屈で分かる話ではない。男の問題なのだ。最初ファイルを全部…

テキストファイルに速くアクセスする方法。

やりたい事は、ある文字の組、例えば、{ や } を見つけた場所までの文字列を返すという事をしたかったのですが、next で調べた文字を比較してとやってると猛烈に時間がかかるので、PositionableStream にそういうメソッドを作ってみました。バッファを用意し…

Squeak のファイルストリームはすごく遅い

と、メモ。普通考えたら例えば数メガのファイルがある場合、一度に読み込んで何かするよりもバッファを使って行単位程度で処理をするほうが画期的に速いという常識が僕にはあった。ところが Squeak でこれをやるとメチャクチャ遅いことが判明。同じストリー…

カッコ対応

下は狭いのでこちらに書きます。問題は、以下のように空の {} があると括弧の対応を間違えて飛ばしてしまうという点でした。原因は、括弧の中身が無かった場合にポインタを進めていなかった事です。 *FIRST 1 *SECOND 2 { } *FOURTH 3 というわけで、TLoad3D…

パーサーできた

たった一行でした。一行で4時間。一行を笑うものは一行に泣くの だ。

パーサー

3DS Max 用のインポーターが壊れている事が半日かかって判明。マイケルムーディーのせいじゃなかった!疑ってスマン。で、デイビッドがデバッグを始めたので、おお、これはデイビッドのテクが見れるのかと期待したら、悪いけどこれ直しといてと言って帰ってし…

状態樹とキャッシュ

状態樹の効率面での数少ない利点はキャッシュにある。状態樹のすべての枝は不変なので、同じ演算を複数繰り返す場合は枝を再利用出来る。つまり、キャッシュは自動的にシステムが行う。真面目にやるとキャッシュできる枝を捜すコストが大変なので、実際はラ…

状態樹

状態樹についてもう少し、よく考えたら上の可変オブジェクトでは過去の値と送信オブジェクト、メッセージが必要なわけだから、これは実行コンテキストそのものである。と言う事で、可変オブジェクトとは、現在の値と実行コンテキストを持つと簡単に言う事が…

逆回転世界

ここで、こうした全能デバッガがあるとして、必要とされるデータ構造について考えてみよう。なぜ考えるかというと、実は今やってる Croquet のための Devid Reed の論文の草稿(同じような事が書いてある)を読んでもイマイチ納得がいかなくて、こういう場合は…

全能デバッガ

http://www.radiumsoftware.com/0406.html#040617 に書いてある「逆ステップ」デバッガの話。http://www.lambdacs.com/debugger/debugger.html これ、単にデバッガの事として書いてあるけど、作ってる人は前に大島さん id:squeaker が話していた「変更を全部…

正規表現

なぜか突然正規表現について復習メモ正規表現というのは文字列を検索する時に使われるものだ。例えばSq から始まる単語を検索しようと思った場合、"Sq.*" のようにすると Squeak でもSquare でも引っかかる。探したい単語がきっちり決まっていない場合、コン…

アメリカでガソリンを入れる方法

なんかウェブで調べても僕のやってる方法と違うので、一応書いておきます。アメリカではガソリンを入れるのはセルフサービスなので、最初かなりビビリます。今まで前払いを要求された事は無いです。 車を停める。給油口がどっちにあるのか予め確認しておいた…

箱庭作り

この一週間はアラン・ケイが HP でのプレゼンで使うための箱庭を作っていた。彼のコンセプトであるピンク平面 / 青平面を、ドラマチックなプロゴルファー猿的舞台 + 2001年宇宙の旅 + マイケルムーディ氏のRPG 趣味で表現した物だ。思っていたより仕事量が多…

徹夜あけ

なんというか。成長しないなあ俺。