2008-01-01から1年間の記事一覧

変数の局所化について

smg

変数のスコープを遷移図の階層にあわせる方法とかねえかな……

LBP

リトルビッグプラネットうまく通信環境のいい人に当たるとかなり楽しい しかし通信プログラムにいまいち不安がある そしてオンラインゲーム後の一人プレイの寂しさが異常

LittleBigPlanetカテキタ!

飯食って風呂入ったらやるよリトルビッグプラネット

結構でかいバグ

caper 更新しました。ダウンロードページ※重要※ 9月14日のコードで、異なるルールで同じアクションを指定していたときに誤動作していたのを修正しました。

繰り返しますけど物理シミュですから

partixのサンプルに人体シミュを加えました。http://d.hatena.ne.jp/jonigata/20070722とだいたい同じやつです。 死蔵させても誰の得にもならないし、ソースを公開しておけば誰かの役に立つかもしれないので公開します。ソースの取得方法についてはこちらを…

修正

サンプルのいくつかのビルドが通らなくなっていたのを修正

高速化

ある条件下(といっても日常的に成立している条件)で 無駄な計算が起こっていたのを最適化。

これはひどい

この日のコードで壮絶にメモリリークしていたのを修正

ゾイド

今朝ぼけっとBS見てたら 山口晃が狩野永徳を語る、みたいな番組がやってた。 美術とかとんと興味ないので環境映像的に眺めていたのだが、 そこで突然おもしろいものを見つけて噴いてしまった。 ちょっ…… ゾイドやんけ そこには、キャノン砲を2門しょった狛犬…

局面の多様化

こうしたゲームがおもしろいのは、この構成によって「局面の多様化」が生じる からだ。 「グルーヴ感のある」ゲームでは、外部的に与えられる条件(たとえばNetHack ならダンジョンの部屋やモンスター、ヴィオラートのアトリエなら依頼やイベ ント)とプレイヤ…

ゲームのグルーヴ感

昔から考えていたことなのだが、NetHackとヴィオラートのアトリエにはかなり 近いゲーム性がある(この2つは私が好きなゲームの双峰)。シヴィライゼーショ ンもかなり近い。 だが表現が難しいので話題に挙げたことがなかった。 冗長に述べると「潜在的にプレ…

mqo2smesh

以前紹介したムービーの作者の方が partixを組み込んでらっしゃるということなので、 ちょびっと説明を。 partix/examplesディレクトリに mqo2smeshというプロジェクトが入っています。 これをビルドするとmqo2smesh.exeという実行ファイルが 作成されますの…

ねたばれ

ZEDっていったら時空超越の呪文に決まってるだろうが 知らないやつが多くて困る

 わろた

【経済】アメリカン・インターナショナル・グループ(AIG)は、あと48時間〜72時間しか存続できない可能性がある 593 名前:名無しさん@九周年[sage] 投稿日:2008/09/16(火) 00:04:43 ID:/Nng5os7O >>537 マッドマックスじゃないか? 資本主義が崩壊→核戦争→…

例外処理

例外処理を実装しようと目論む。 …… 何もオブジェクトをthrowしないで フロー制御するだけなら何も考えずに書けるようだけど、 オブジェクトをthrowしようとすると そうもいかないらしい。 少し考えねば。 llvm.eh.exceptionを使ってどっかよくわからん場所…

バージョンアップ(2008-09-14)

caperをバージョンアップしました。 変更点は 出力コードのインデント等を美しくした 出力コードの重複部分などの無駄を最適化 ※重要※ postの返値を 「accept || error」にしました。従ってエラーチェック ( parser.error() ) はループ脱出後に行う必要があ…

すばらしいゲーム

http://www.watch.impress.co.jp/game/docs/20080912/jrm.htm partixを使ってぷよぷよを作るのはおもしろいかもしれない

schemeと私

schemeでアクセスしてくる人が結構多いようなので、 昔語りをしてみます。 何を隠そう私は、つい7〜8年前、schemeのインタプリタを作って 公開していました。一応まだそのページ残ってます。 http://www.jah.ne.jp/~naoyuki/Programs/Programs.html (いま…

スキャナ

http://d.hatena.ne.jp/higepon/20080912/1221232779 スキャナかあ 私が昔schemeのインタプリタ書いたときは SJISとEUCくらい読めればよかったんで おおざっぱにハードコーディングしてた こんな感じで: letter [\x00-\xff] kanji ([\x80-\xff]{letter}) ide…

評論

http://guideline.livedoor.biz/archives/51118768.html 人工無能かなんかに使えそうないいデータ

構造体と構造体リテラル

構造体実装した。 require leaf; struct Foo { x: char; y: short; z: int; w: long; }; fun main(): int { var foo = Foo { x = 13@char; y = 75@short; z = 46@int; w = 2@long; }; 0; }こんなソースが ; ModuleID = 'test' declare i32 @puti(i32) declar…

キャスト

キャスト演算子を@にしてしばらく書いてみたけど アセンブリみたいでキモい foo as int とかにしようかと思ったけど asみたいな短い文字列を変数名に使えないのはハマりそう foo cast int かなあ でもいまいち意味が取りづらい foo => int とか? うーん foo…

遅延評価

遅延評価をデフォルトにすると リアルタイムプログラミングと折り合いが悪すぎると思ってるので scheme R5RSみたいに Promiseの作成は明示的 Promiseの起動は暗黙 って感じがいいかなと思ってます。 正確に言うと、R5RSでは、作成(delay)は明示的だけど 起動…

というわけで

leafもそういう方向性で進めたいわけですが、 OOとはどう折り合いをつけるのかな…… 前にOCamlでコンパイラ書いたときも gensymとintern以外破壊的操作を行わない縛りで作業したんだけども、 ASTや functional intermediate representation に ちょっとした情…

ゲーム業界も

http://d.hatena.ne.jp/Florian/20080912/1221182604ゲーム業界も えーマジ代入!? 破壊的代入が許されるのは小学生までだよねー キャハハハハハハ という方向に進んでください。 お願いします。

名前

いま気づいたleafってエロゲ屋の名前じゃねえか シナプスが全く結合してなかった まいいやいまから変えるのめんどくさい

多値

今生きてるバグレポートはこれっすかねhttp://llvm.org/bugs/show_bug.cgi?id=2660まあ待つか sretってなんだろ? はあ、返り値をポインタ渡しするための引数の修飾子か ポインタ渡しと実際の返り値とを フロントエンドの時点で恣意的に分別するのはやだな …

多値続き

ああなるほど、多値サポートなくなって struct返しが普通になるのかhttp://lists.cs.uiuc.edu/pipermail/llvmbugs/2008-July/005462.htmlsubversionのレポジトリから持ってきた方に 多値Returnがなかったので、なんかおかしいなと思ってた (複数環境をインス…

多値

struct返しにしてもだめなもんはだめだった ジェネレータの問題みたいだからほっとくしかないか 手動にしてもいいけど 私の勘違いかもしれないし そのうち直るかもしれないから 別のことやるか lli -force-interpreter=true t.bcってやったら lli: Interpret…

調子に乗って

もうちょっと楽にならないか考えてみる template < class T > struct CompareMixin { public: bool operator<( const T& x ) const { return static_cast<const T*>(this)->totuple() < static_cast<const T*>(&x)->totuple(); } }; struct Foo : public CompareMixin<Foo> { int m0; </foo></const></const>…