Jazzmutant社というフランスのベンチャー企業が『Lemur』という一風変わったコントローラーを発売した(参照 )。ちょっと前にCycling '74のサイト内で目撃して、「おおついにこういうのが出るのか!」と期待したものだが、ついに発売となったようだ。今月のサンレコの記事にもこれをあつかったものが二つもあるくらいだから、やっぱ注目されているようだ。
『Lemur』とは何かというと、「コンピュータでGUIのレイアウトやコントロール部の挙動に関するパラメータまで編集できて、それをタッチパネルディスプレイに映し、それ(ら)を直接触ってコントロールすることができるコントローラ」だ。データ通信にはOSC(参照 )というプロトコルを採用していて、MIDIのように音以外もコントロールできるし、LAN接続で高速、さらにFlashをコントロールする事も出来るらしい、つかPHPも(どいうこと??)。ただマルチタッチセンサという独自の技術を使っているため、「Fader」「Area」といった画面に表示される『Lemur』オブジェクトの開発は簡単ではないようで、粗悪品を生み出さないためにその開発環境を非公開にしているらしい、ちょっと惜しい気がする。
でもこうやって、デジタル環境の出力/入力のギャップはどんどん埋まってくのかなぁ。未来がどんどん近づいてる。インタフェースの進化っておもろいよなぁ、なんかワクワクする(笑)。というか、多摩美が羨ましい(参照 )。
プログラムって難しいです、ほんと。完全独学でやってるので評価してくれる人もいなくて、自分の書いたプログラムにあまり自信が持てないまま進行していくので、「ひょっとしてすごい泥沼にはまってんじゃないか?」とか思ったりします。とりあえず見た目動いていればいいと割り切って誤魔化かしてもいいのだろうけど、変にのめりこむ性格のせいで、いつまでもああでもないこうでもないと禅問答を繰り返してしまいます。だって、やっぱできるだけスマートに行きたいしさ・・。コードも一種のデザインだと思うしさ・・。
特にアプリケーションのような大きな規模のものを作るときには、後の拡張性を考慮してコーディングしないといけないから、ただまっすぐに回廊を進んでいくだけではだめで、一つ一つの障子を開けて建物全体の構造を頭に入れながら、一手二手先を読みつつある程度予測しながらゆっくりと進んでいかなければなりません。むやみに歩を速めて突き進んでいくと、いざ行き詰まったときに振り返ってもどうすればよいか途方にくれてしまうなんてことになったりしちゃうので。あ~ほんと、プログラムの書き方うまくなりたいなぁ。すっきりと、サクサク動くものが作りたい!それにしても、Flashアプリケーションで、この複雑さなのだから、ほんとにネイティブアプリを作れる人はほんとにすっごい!・・・なんて、感心することしかできない今の自分がふがいないので、絶対いつかものにしてやるぞ!
*図注釈:昨日今日はひたすら入れ子関係の事柄で悩まされています(それも無限の入れ子・・)。
Flash MX 2004で(たぶんそれ以前のバージョンでも)ムービークリップのフレーム名を取得する関数がないことが分かった。なんか、感覚的には
mc.getCurrentFrameName():String
みたいな関数がありそうな気がしてリファレンスを何度も読んでみたけど見つからない。ネットで探すとヒット数は少なかったが全く同じ問題に直面している人がいた。ので、メモしとく。
mc._currentframe:Number
でフレーム数は取得できるし、
mc.gotoAndStop(frame:Object) : Void
でフレーム名を指定して移動できるのに、どうしてできないんだろう。とにかく現状では自分で専用の関数を用意するしかない。AS2でしか考えられないのでprotoptypeとか使わないし実はあんまよくわからないんだけど、これ みるとどっちみち面倒くさそうだ。とりあえず手っ取り早く各フレームごとに変数を随時書いていくかぁ。ちぇ
「PHP」が何の略語なのかについて、初めて知りました。今までは「PHP」=「Hypertext Preprocessor」って感じで書いてあるのを見て変に思ってた。これだと「HP」やろ?最初の「P」はどっからきたんじゃ?と思ってた。そしたら、実は「Personal Home Page」の略だったのが途中で変わっちゃったぽいという記事を見つけて 。なるほどこじつけか。と、納得していると、実はこれも正しくなくて、本当の本当は「PHP」=「PHP is Hypertext Preprocessor」だったらしい。PHPマニュアルにそう書いてあった 。訳の分からんことをするなぁ。つまり、
「PHP」=「P (ersonal)H(ome)P(age) is H ypertext P reprocessor」
ってことで、いいのかな。「再帰的頭字語」というらしい。まったく・・・
以上、久々の投稿でした。
アタマスキャン体験版(Yahoo!ゲーム)
> 脳年齢チェック
> 脳ストレス度チェック
引き続きお仕事ネタです。14日にニンテンドーDS版も発売された(株)セガトイズの「アタマスキャン 」の体験版をFlashで制作しました。Yahoo!ゲームの無料ゲームページ から体験してもらえます。中身は実物そっくり(音までそっくり)に作りました。一度ゲームをやると、次回から前回の結果が初めにアナウンスされます。仕事の合間にでもどうぞ~。ただし、結果の部分はぼやかした表現にしてありますので、気に入ったら是非製品版をお買い求めください!
ハコロボ|セガトイズ
新年最初の仕事です。本当は去年からやってましたが。
今回は、4/28にセガトイズから発売される「ハコロボ」シリーズのプロモーションの一環でFlashゲームの企画/製作です。
ハコロボは、ボタン電池で稼働する1cm四方の小さなロボットで、いろんな企業やクリエーターとのコラボレーション・シリーズです。第一弾は、バタフライ・ストローク の「カク家族」、FuriFuri Company の「Choccolata」、そして「リラックマ」、「クラフト」の4つが発売されます。そして、まだまだ後続で色々おもしろそうな企画がある!?
ゲームでは、実際のハコロボの動きを再現しています。4種類のコースでタイムを競います。実際のハコロボは、多分ゲームよりも難しいので、ゲームをマスターしたら実物も試してみてください!
ゲームは、上記サイトの右上部「HAKOROBO 百メートル走」のリンクからどうぞ(こちらのサイトもKarappoによるものですなんか、いつのまにか変わってるようです・・・ )。
補足ですが、近々Yahoo!ゲームにもアップされます。アタマスキャン は、おかげさまでYahoo!ゲームのアクセス数の新記録を出せました!「HAKOROBO 百メートル走」もぜひ、何度もチャレンジしてみてください!
いま「ゲーム開発者のためのAI入門 」という本を読んでいます。マス目の上に、配置されたプレーヤーを敵(コンピュータ)が追いかけてくる。これは、ビデオゲームの基本の動きですが、その「追跡」ひとつをとっても、プログラミング手法は様々でおくが深いようです。一番初めに載っている"プレゼンハムアルゴリズム(bresenham)"というものをProcessingで実装してみました 。このブレゼンハムアルゴリズというのは、もともとはピクセル環境で水平垂直以外の線を描画する際に用いられるアルゴリズムのようです。折れ曲がる時に、隣接する載りつぶしドットが重複しないというのが特徴みたいです。わかりやすくいうと、アンチエイリアス・オフの見た目に近い感じ?(要は角が変に太らないって言うことです)で、このこの特徴がゲームのプログラミングでも「最短時間である地点に達する」という目的にかなった方法なのだそうです。OpenGLとかやってる人にはおなじみなのかもしれないですが、僕などはもちろん初耳で、サンプル作ってはみたものの、なんとなく「そうなるんだね」程度で原理をきちんと理解するのが大変です。どうやら、乗算を使わずに曲線等も描けるので高速ってことでよく使われるらしいです。
今回は、ProcessingよりFlashでやった方が手っ取り早かったような気もしないでもないですが、Processinのほうがソース単体で行けるからあげるの考えると、やっぱり楽かなあ。(←実はいろいろ問題あったんだけど、それはまた今度)
ということで、日曜プログラミング第一回終了。
デイビッド・M. ボーグ グレン シーマン David M. Bourg Glenn Seemann クイープ オライリージャパン (2005/01) 売り上げランキング: 53666
・・・・・・・おっと、もう朝ですな。またしても徹夜。
最近は、ChucK という音響プログラミング言語を勉強中です。この言語、アメリカのPrinceton University のPerry CookとGe Wangという、おかしな二人組みが開発中の言語で、一風変わっています(いや、かなりか)。SCすらほとんど使ったことのない僕にとっては、内部の構造や仕組みがどうのという細かい話は分からないですが、とにかく文法が変です。
ActionScriptやPHP、Javascript、などなどほとんどのメジャーな言語はみんな右結合です。でも、ChucKは左結合(なんで!?そうしちゃったの・・・)。しかも、「=」ですむようなところを、わざわざ「=>」とか・・・。って、どうもこの「=>」という演算子が「ChucK(chuckは放る、つつくの意)」自体のアイコンとなっているらしく、代入以外にも何通りか使い道がある(やめてー)。デバッグ用のプリントには「<<< >>>」とか、「::」とか、とにかく変な演算子が多い。
例
int i;
i <= 8 => i;
<<< i >>>;
は、Javascriptだと
int i:;
i = i <= 8;
println i;
と、なります。こんがらがるでしょ、これは・・・。
どうも、この作っている人たちがかなり変態っぽくて、ビデオいくつか見たけど、そのうちの一人Wang氏は多分韓国人で見た目が日本人に似てるから、もう完全にオタクにしか見えなかった。もう一人のCook氏は、いろいろと著書も出してる有名人みたい。・・・だけど、やっぱり変・・たい・・・。
SCの方が、かっちょいいのでいつ乗り換えるかわかりませんが、とりあえずもうちょい勉強を続けます。
read more »
ActionScript3の練習を兼ねて、物理計算エンジンのBox2DAS3 を使っただるま落としゲームを作ってみました。Box2Dの使い方はBox2DでActionScript物理プログラミング を参考にしました。この向きだと「とんかち」の表現が難しかったので、振り子にしてみました。
暇なときに遊んでみてくださーい。
[遊び方]
画面上をドラッグして振り子を操作します。
だるまの頭をうまく着地させてください。
振り子の先はだるまよりもだいぶ重い設定にしてるので、少しの力で平気です。
[ルール]
だるまの頭が地面の上で静止したときに・・・
ちゃんと上向きになっていれば成功。
それ以外は失敗。
頭が画面外に出ても失敗。
いっきに何個飛ばそうが、途中どんなにひっくり返ろうが、上記の条件を満たせばクリアです。
[ステージ]
一応ステージ5まであります。だるまがだんだん高くなります。