はてなブログに引っ越してみます。
だいぶ期間が空いてしまったし、気分一新ということで、こちらに引っ越します!
http://hammmm.hatenablog.com/
2015.11.19 | Comments(0) | Trackback(0) | 未分類

管理人(はむ!)は最近スクリプト言語Lua(るぁ)に入れ込んでいます。と思ったら「ARカプセル」とかやってます。 ※iPhoneの方は右上の「PC」ボタンでPC用表示のほうが良いと思います。
だいぶ期間が空いてしまったし、気分一新ということで、こちらに引っ越します!
http://hammmm.hatenablog.com/
2015.11.19 | Comments(0) | Trackback(0) | 未分類
明日(5/22)から2日間開催される、Make: Tokyo Meeting 05にて、ARカプセルを展示いたします!
体験型展示になります。長時間の展示は初めてなので、壊れないか心配ですけど。
もし壊れたり、メンテ中の場合はtwitter(@hammmm)のほうでつぶやいておきます。
メイン会場(体育館)ではなく、西9号館2階の暗室のほうですのでお間違えのなきよう。
体育館からは「はす向かい」といった感じの位置にある建物です。
今回のARカプセル展示の特徴
・3Dキャラクターが円筒の中に存在するような感じのディスプレイデバイスです。
・キャラがこっち向いてくれます!
・魔法のステッキ(?)を利用して、ちょっとしたインタラクションができます(実装が間に合えば・・・)
・両眼立体視「強引」対応
※本来メガネなしで立体っぽく見えるのがARカプセルの特徴ではあるのですが、シャッターメガネを利用して立体視を行うことができます。 プロジェクターの性質上、色が悪くなるのでオプション扱いですが、顔を傾けても立体視できるなど、特性上は案外実用的かもしれません。
※一部、かにひらさんのオリジナル3Dキャラクターを使用させて頂きます。ありがとうございます!
注意点
・基本的に1人ずつの体験になってしまいます。
真後ろであれば、ある程度見ることはできますが、斜め後ろや、横から見てもかなりわけがわからないと思います。もし行列ができていたら申し訳ないです。
・ヘルメット型ですので、頭の大きい方(結構削ってあるので割合入るとは思うのですが)、髪が乱れるのを気にされる場合、
については、ヘルメットをかぶらずに前に構えるか、顔の横にかざすような感じで見ることもできなくはないです。
(視野がわかりにくくなるのでおすすめはできませんが)
・衛生面が気になる場合には、使いすてシャワーキャップのようなものを用意しておきます。
・両眼立体視用のメガネはヘルメットにくっついていますが、人によってはうまく位置が合わないかもしれません。
(メガネは畳めるので、両眼立体視を利用しなければ気になりません)
よくある問題点
今まで各所でゲリラデモ(?)した結果からすると、
体験にあたってよくある問題点はこんな感じです。
・カメラの視野が(案外)せまい。すぐマーカーが視野の外に出て、モデルが停止してしまう。
→体験前に視野範囲を把握できるような調整画面を用意します。
・スクリーンの持ち方によってはマーカーを無意識に隠してしまう
→今回取っ手つけたので大丈夫かな?
・魔法のステッキ(?)をかざすときにスクリーン側のマーカーをかくしてしまう、視野の外に出てしまう
→説明などで対処の方向
今までやったポカ的なもの
・視野範囲が適切に調整されていないケース
・カメラとプロジェクタの関係がずれているケース
・マーカーの内部照明が暗くなっているケース
・画像の2値化の閾値が適切に調整されていないケース
・古いバージョンのアプリを起動してしまうケース
・センサーまわりの遮光が不十分で、スポットライトの光がカメラ画像に影響するケース
いろいろありますね(汗
さて、準備・・・
2010.05.21 | Comments(7) | Trackback(0) | 未分類
Lua関係更新していなくてごめんなさい。
Lua5.2のwork(2)(アルファ版もしくはベータ版のようなもの)が出ていますね。根本的なところはそんなに修正がないので一安心。ただグローバルテーブルの入れ替え機能のあたりがかなりいじられている模様。ビット操作ライブラリの標準化などもされています。
公式: http://www.lua.org/work/
変更点などはドキュメントの下のほうにあります。
バイナリ(SJIS化無し)はこちら: http://luabinaries.sourceforge.net/
2010.02.12 | Comments(11) | Trackback(0) | AR
ずいぶん間をあけてしまいましてすみません。昨年前半は主に本を書いていた分、最近はプログラミング仕事モードといった感じです。
ぎりぎりになってしまいましたが告知させて頂きます。
IGDA日本ゲームテクノロジー研究会(SIG-GT)第12回研究会「ゲームにおけるスクリプト言語の現状」
http://www.igda.jp/modules/eguide/event.php?eid=58
※今現在で予約率が94%、予約締切が13日(火)13:00までとのことですので、もし参加されるならばお早めにどうぞ m(_ _)m
先日Luaスクリプト関連の本を書かせて頂いたわけですが、そもそも、 「ゲームに使えるスクリプト関連の資料とか、経験に基づいた指針となるような情報が(日本語では)得難い」 というような思いから、結局自分で書くという方向で機会を頂きました。
本だけでなく、ゲーム開発系のプログラマーがそういった話題について議論する場というのも今まであまりなくて、大手メーカー内部とかであればいざ知らず、中小メーカーなどのプログラマーはあまりまとまった情報のない中で、それぞれ努力しているといった感じになっています。
スクリプト言語に関しては、開発効率であるとか分業の点で、現代のゲーム開発にはなくてはならない存在となっている、と感じるところです。しかしゲームの開発の初期段階から判断しなければならないところですし、独自開発となるとコストが馬鹿になりません。
海外であればGamaSutraの開発事後検証記事であるとか、かなり活発なフォーラム(gamedev.net)なんかもあって、それなりに方針を決める助けになるんですが、日本(語)ではそういうのもあまりなく(2ch程度)、そもそも機密保持の関係もあって情報を出しにくいところもあり、日本のメーカーをまたがったような知見の共有が進んでいない、共通認識が形成されていない、というのが問題意識になります。もっとも最近はCEDEC等で少しずつ改善されているところではありますけどね。
そこで、ちょくちょくセミナーに(1参加者として)顔を出させて頂いているIGDAのほうで、スクリプト言語関連セミナーをやるということで、そのとっかかりのところでLua関連で話をするという役割を頂くことになりました。
肝心の内容ですが、私のほうはLua本の内容とおおかた被る内容になるかとおもいます。ご期待に沿える内容になればと思いますが、正直いいましてあまり慣れないところではあります・・・。
しかし何より、次にお話されるCriScriptの製作者Hak氏、それからパネル・ディスカッションに参加されるメンツがすばらしいです。
そのあたりはepics氏のブログ記事が詳しいです。
http://d.hatena.ne.jp/epics/20081228/p1
パネルのほうでゲームに使われるスクリプト言語の現状の共通認識と、今後の方向性のようなものが形成されるのではないか・・・と、私自信も期待しているところです。
そんなところですが、もしよろしければ。
2009.01.10 | Comments(3) | Trackback(0) | Lua
ソフトバンク・クリエイティブよりお話があり、Luaなどのスクリプト言語を使ってゲーム開発を効率化しよう!という趣旨の本を書かせて頂いています。
Luaの解説書といえば、「入門Luaプログラミング」(上野豊著)があり、最近書店でもよく見かけるところです。Luaの文法やスクリプトの書き方、使い方といった、Luaスクリプトそのものの使い方は、こちらでかなり網羅されているものと思います。
一方、現在書かせて頂いている本では、「C/C++のプログラムにスクリプト言語(Lua)を組み込む」ということに焦点をあて、
・開発環境の作り方
・何をスクリプトにするべきか
・スクリプトをもっと活用する方法
・つまづきやすい点
・エラー処理の手法
といったポイントを、特にゲーム開発の場合を例として、掘り下げて解説をしています。
また、「なぜ、スクリプト言語を組み込むことで(ゲーム)プログラムの開発を楽に、柔軟にできるのか?」といった疑問にもお答えできる内容になるはずです。
あと付録として、LuaのC APIとtolua++のリファレンスがついていますので、実用的に使って頂けるのではないかと思います。
・・・とか書こうと思いつつ、校正やらの作業に追われているうちに、既にamazonに登録されてました・・・
「スクリプト言語による 効率的ゲーム開発
- C/C++へのLua組込み実践」
http://www.amazon.co.jp/dp/4797348550/
9/28頃本屋さんに並ぶ予定ですので、見かけたら立ち読みでもしてやってください。
このブログでもエッセンスのところを紹介していこうと思います。
2008.09.13 | Comments(0) | Trackback(0) | Lua
オンラインでのストリーミング音声はどうも録音状態が変動し、十分聞けるものではありませんでしたが、他に録画している方もいたようで、いくつか動画がアップされています。スライドを交えて、しっかり編集されています。
私はあまりヒアリング得意じゃないので、講演者の発音のクセが強いと聞き取れないんですが、英語耳を強化する練習にもなるかもしれません(汗
LuaRocks and Kepler "reboot"
luaRocks:Luaのライブラリ更新ツールLuaRocksなどの話題です。
World of Warcraft ? 10,000,000 Lua users and growing!
luaWOW:World of WarcraftのGUIカスタマイズなどに関する話題です。
Numlua: a numerical package for Lua
Numlua:Lua用数値演算ライブラリの話題です。
LuaAV presentation
luaAV:Luaでメディアアートのオーディオ・ビジュアルをコントロールするという話題です。
なお、スライドはこちらにぼちぼちあがっています。
ちなみに、先日Lua5.1.4がfixされました。
いつものSJIS版も近日中にアップいたします。
2008.08.28 | Comments(0) | Trackback(0) | Lua
http://www.lua.org/wshop08.html
ワシントン州で今日明日やるようです。日本時間今日(7/14)22:30あたりから始まるようです。
うぉー参加してぇーっていう方は、音声ストリーミングなどを用意している方がおられるようですので、
こちらを参考に。映像はなさそうですが、できるだけスライドデータを用意する方向のようです。
http://lua-users.org/lists/lua-l/2008-07/msg00231.html
現地時間はこちらでわかるようです>http://dctime.notlong.com/
とりあえずストリーミングは保存しておくことに。streamripper使うと楽っぽい。
LuaWinのスライドが既に上がってますが、ワイドキャラクターの扱いの関連が興味深いです。Windowsのランタイムライブラリをリンクする前に、それぞれの関数の入力・出力をUTF-8と変換してくれるproxyライブラリを間に噛ますぞって感じみたい。マルチバイト系にも応用できるかな?
2008.07.14 | Comments(1) | Trackback(0) | Lua
今まで公開してきたLuaのSJIS版パッケージでは、最近公開されている各種モジュール類との相性が良くない状態でしたので、
LuaBinariesのスタイルに従ったバージョンを作成しました。です。
SJIS対応版ソース + exe + VC++6.0/VC++2005プロジェクト
lua5_1_3_Win32_mbenc_a2.zip (2008/6/26 1133892byte)
その他Lua関連ダウンロードエリア においてありますので、持っていってください。
基本的には、LuaBinariesのlua5_1_3_Sources.zipのsrc内にSJIS化パッチを当ててビルドしなおしたものです。
ただし、リンク方法など一部変えています。
自作プログラムからLuaライブラリをリンクする場合についての注意事項です。
今までのパッケージでlualib.libをリンクされていた方は、今回のパッケージ内のlib/static/lua5.1.libをリンクするようにすれば、
そのまま動作すると思います。
もし共有ライブラリLua5.1.dllを使用する形でのリンクが必要であれば、lib/Lua5.1.libをリンクしてください。拡張モジュールとの相性はこちらのほうが良いと思われます。
※ちなみに、メーリングリストに流れていた5.1.3のバグフィックスは公式の最新バージョン扱いにはなってないようなので、また今度で。
少し試した限りでは、どちらの方法でも、LuaProfilerやRemDebugのような公開されているモジュールをロードすることができました。
何か問題が生じるようでしたら、是非コメント、もしくはメール等でご連絡ください。
特にその手のが多いのはここらへんですね。
http://kepler-project.org/
http://luaforge.net/
それとついでに
について。
LuaRocksは、上で触れたような、Lua用の拡張モジュールのインストールを管理するプログラムです。
PerlでいうCPAN,PHPでいうPEAR,Rubyでいうgemのようなもの、と思います。
で、LuaだとRockだ、というわけです。
・・・月の石?
それともロッケンローなほうでしょうか。
なんか斜め上な感じもしますが・・・。
ま、何にしても、Luaのコマンドライン環境改善のためには結構大きい要素かもしれません。
2008.06.26 | Comments(0) | Trackback(0) | Lua
LuaはC言語で実装されたVMなわけですが、最近は別の言語で実装される例がいくつかでてきています。
ちょっとまとめておきます。
Flashの上で動作するLuaVMです。これを使えば、ブラウザ上で動作するFlashの中で、Luaスクリプト(バイナリ状態のもの)を動作させることができる・・・というわけです。「インストール」せずにクライアントマシン上でLuaスクリプトを動かす唯一の方法といえるかもしれません。
※実装はまだかなり初期の状態のようです。
Javaの中でも、携帯などで動作可能なJ2ME仕様の上で動作するLua VMです。
Javaといえば、JRuby,Jython,Scalaなどでスクリプト言語関連がにぎわっているところですね。
Androidなどの環境で動作すれば、面白くなってくるかも。
もっとも、Javaプラットフォーム上で他の選択肢に対して言語的メリットがあるかというとちょっと怪しいかも。
とりあえず実装が「小さい」ということはあるかな?
LuaをLuaの上で動かすみたいです。
具体的に何に使えるのかはちょっと謎ですが、それでも作ってしまうのは凄いです。
これを作られた方(hzkrさん)は日本の方で、
Luaソースコード勉強会 http://d.hatena.ne.jp/hzkr/19000103
など、参考になります。
こちらはVMではありませんが、Luaスクリプトをバイトコードにコンパイルするものですね。
これを上記のようなVMと組み合わせれば、Luaスクリプト(テキスト)をコンパイルして実行するところまで持っていけそうです。
ちなみに、公式Lua5.1.3のバグフィックス版が出ています。SJIS版は少々おまちください・・・。
2008.06.12 | Comments(0) | Trackback(0) | Lua
Luaスクリプトのデバッグにはどのような方法を使われていますか?スクリプトでは古きよきprintデバッグもかなり有用ですから、printデバッグで済ましてしまっている方も案外多いかと思います。
とはいえ、スクリプトが想定外の動作をした場合などは、いわゆるデバッガが役に立ちます。特に、グラフィカルなデバッガを使うと生産性はかなり向上するといえます。
しかしLuaのグラフィカルなデバッガには、無料・商用含め、優秀なものがほぼ存在しませんでした。
特にLuaの場合、主な用途が他のアプリへの組み込みということもあって、ダイナミックリンクする場合、スタティックリンクする場合、動作をカスタマイズする場合など、使われ方が様々で、そのどれにも対応可能なデバッガ、そして使いやすいものというのは皆無でした。
そこに登場したのが Decoda (デコーダ)、というわけです。残念ながら無料で試用できるのは30日間で、それ以降使いたい場合はインディーライセンス50ドル、もしくは商用ライセンス200ドル払う必要があります。しかしとりあえず試用してみるだけの価値はあります。
まず、ためしにVisualC++2005とLua5.1で作成していた自作プロジェクトでデバッグをしてみました。
驚くべきことに、Decodaを起動して、プロジェクト設定でexeファイルの場所と作業フォルダを指定して「デバッグ開始」するだけで、ソースコードレベルのデバッグができてしまいました!
アリエナーイ!
こんな感じ↓
2008.05.23 | Comments(0) | Trackback(0) | Lua
またSJIS対応版の更新をサボっておりましたが、アップデートしました。
lua-5.1.3-mbenc.zip
だいたい差分の適用作業とパッケージングはバッチファイル+Luaで自動化してるのですが、
exeのビルド、zip、アップロード、記事修正まで自動化してしまいたい気分です。
関連で少し気になっている点としては、LuaForgeでいろいろと公開されているようなLua対応のモジュールを動かしたい場合は、LuaBinariesと同様の方法でビルドして、LuaのDLLを作らないといけないという事ですね。DLLにしないと、実行時にLuaの実装やCランタイムライブラリが複数(メインプログラムとモジュールとで)存在する状態になり、特にメモリまわりで異常な動作を起こしてしまいます。ただしLuaBinaries風にするためには、VC2003以前ではシングルスレッドでコンパイルしないといけないとか、いくつか制限が出てくるようなので、様子見状態です。VC2005でやってみる手はありますが。
なお、Lua5.1.3はLua5.1.2のバグフィックス版です。
そう簡単に遭遇するバグでもなさそうです。>http://www.lua.org/bugs.html#5.1.3
SJIS版はこちらのネットワーク対戦型カードゲーム「ABCD」で使っていただいている模様。ありがとうございますm(__)m
かなり高い拡張性を実現しているカードゲームのようですが、その拡張性にLuaが一役買っているとしたら、すばらしいですね。
小技:3項演算子
ついでに、あまり知られていないような気がする(※1)Luaの小技を紹介しておきます。
2008.02.23 | Comments(0) | Trackback(0) | Lua
Windows Live Writerというのを使えばオフラインでブログの記事が書ける(窓の杜)というのでインストールしてみました。投稿してみるテスト。および雑感。
使用感ですが・・・
なかなかいいですね。画像などは適当にスクリーンショットを生で貼り付けて、サイズを指定しておけば、勝手にPNGに変換して自動的にブログにアップしてくれたりとか、かなり便利です。いや便利すぎるかもしれません。なお、gif,jpg,pngは直接編集画面にドロップできるようですが、bmpはドロップできないようです。でも「画像の挿入」を選んで「ファイルの種類」を「*.*」にして、ファイル指定してやればOKです。(MSのくせに・・・)
画像に関してはその他に、余白、枠線、回転、明るさの調整、ちょっとしたフィルタやウォーターマークなんかも入れられます。これだけできれば大したもんですが、あとは画像のクリッピングと部分モザイクでもあれば、といったところですね。
なお、メニューバーから、ファイル→開く で、(なんと!)今までオンラインで投稿した既存の記事も編集することができます。ただし、FC2では標準の改行の入れ方が特殊なせいで、オンラインで投稿したものについては、改行がほぼ消えてしまうのが残念ではあります。
メニューバーの「表示」から、「標準」「Webレイアウト(編集可能)」「Webプレビュー(編集不可)」「HTMLコード」と表示形式を選べます。この手のプレビューはあまり信用できない、ということがありがちですが、結構再現性高いです。というかほとんど一致する感じ。FC2の管理画面の簡易プレビューよりもWindows Live Writerの「Webレイアウト」のほうがレイアウトが正確な感じです。
記事を「続きを読む」で分割したい場合はコレ↓ですね。
(○はウォーターマークで入れてみましたが、色や位置など、あまり細かい調整はできませんね)
なお、FC2では、記事投稿時に「カテゴリ」は設定できますが、「ジャンル」や「テーマ」は設定できない感じですね。「下書きをブログに保存」というのができるので、管理画面から下書きを選んで本番投稿するといいかもしれません。
当然のことかもしれませんが、下書きを一度投稿した後に、再度編集して投稿すると、問題なく上書きしてくれます。ただ同名の画像がたまに複数アップされる現象がありました。何か画像のプロパティをいじってしまったのかもしれませんが・・・。
特に問題がなければ、当面使い続けてみようと思います。
FC2用設定方法や雑感などはこの後にあります。
2008.02.13 | Comments(0) | Trackback(0) | 未分類
今までLuaの資料といえば海外のものが主で、特に書籍に関しては
雑誌で少し触れたという程度のものはあれど、専門書は1冊もなかったのですが、
ついに記念すべき1冊目が発売決定です!
まもなく(12/22)書店に並ぶはずですので、1冊いかがでしょう。
「入門Luaプログラミング」
http://www.amazon.co.jp/%E5%85%A5%E9%96%80Lua%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-%E4%B8%8A%E9%87%8E-%E8%B1%8A/dp/4797342722
著者である上野豊氏のサイト(Luaリファレンスなどの日本語訳でおなじみですね)
http://staff.aist.go.jp/yutaka.ueno/lua/docsjp.html
なお、当サイトで公開しておりますSJIS版Lua5.1.2をCDROMに同梱して頂くことになりました。感謝!
2007.12.20 | Comments(0) | Trackback(0) | Lua
今、古いWindowsNT4サーバーの廃止に向けて、いろいろとWindows Server2003に移動しています。思ってみれば、NT4もずいぶん使い出のあったものです。しかしさすがにセキュリティパッチも出ませんし、そろそろ廃止しなければ、と。
最近はバージョン管理システムもCVSからSubversionに移行しつつある様子ですが、この際ということで、本格的にSubversionサーバーをセットアップすることにしました。なお、うちではサーバー類を全部Windowsで動かすのがポリシーのようになってきていますので、Windows環境(Windows Server 2003)です。
#ちなみに、ircサーバーだけは、Windows版バイナリがウイルス扱いされるので(苦笑)vmware上のlinuxで動かしています・・・
Subversionの設置手法は svnserve.exe(Subversion付属サーバーソフト) + cygwin sshd といった感じです。
SVN+SSHの設定も多少面倒だったのですが、だいたいポイントは以下のような感じ。
・Windows上に追加するSSH使用ユーザーは1人分で良く、home/svn_user/.ssh/authorized_keys 内に複数人分のエントリを書いておき、SVN上で記録するユーザー名の指定は svnserve のパラメータ --tunnel-user で可能。
(もちろんWindows上で複数ユーザーを作成し、それぞれにSSHを設定する方法もあるが、この場合ユーザーのファイル関連パーミッション設定などに注意する必要がある。umask 002を設定するシェルスクリプトでsvnserve.exeをラップするといいらしい)
・authorized_keys内、svnserveの-rで設定するリポジトリ位置は C:/xxx/xxx の記法でうまくいった
・authorized_keysに書く暗号規格の文字列は RSAの場合はssh-rsa だが DSAの場合はssh-dss
・sshd_config内で UseDNS no にしないとSSHDにリモートから接続するたびに数秒ラグが発生する
・cygwinのシェルスクリプトでは、改行コードをUNIX系にしないと誤動作する
さて、本題のコミットメールです。
とにかく成果物ということで・・・
以下の2つのファイルを設置すればWindows版Subversionで日本語コミットメールが送れます。
ただし、大したテストはしていませんし、もちろん無保証です。自己責任でどうぞ。
Perl5.8.x必須です。
sendmail代替用にsendまね~るがおすすめです。
・commit-email-jp.pl
コンピュータ内の任意のフォルダにおいてください。
Configuration sectionあたりの変数を修正して、
svnlookの位置、sendmail (sendまね~る)の位置を指定してください。また、出力エンコーディングの変更も可能です。
一応、本家からのパッチはこれ。パッチ自体は設置の必要はありません。
2007/12/4 メールの送信時刻がずれる問題を修正しました(Dateヘッダを出力しないよう修正)
・post-commit.bat
リポジトリのhooksディレクトリに置いてください。
perlのパスと上記commit-email-jp.plへのパスを設定してください。
なお、特にWindowsじゃないと動かないというような修正はしていないつもりですが、UNIX環境でどうなるかはテストしていません。
以下、経緯や詳細など。
2007.11.26 | Comments(0) | Trackback(0) | プログラミング
VisualC++には「カスタムビルドステップ」という、(本来は・・)とっても便利な機能があります。
これは、プロジェクトに含まれたファイルについて、いわゆる一般的なビルド時の依存関係に加えて、オリジナルの依存関係を追加することができるものです。
いってみれば、VC++IDEにおいて、unix系のmakeコマンドと同様の柔軟さを実現することができる機能です。VC++2005では拡張子単位でビルド方法を指定できる(と思われる)「カスタムビルド規則」が追加されており、さらに強化されています。
たとえば、スクリプト言語のバインドコードを作成する場合なんかにとっても有用といえます。
固定値をエクセルファイルで管理している場合などにも使えますね。
しかし、僕にとっては、この機能を利用したとき、わけがわからなくなって、悩んだ思い出ばかりが思い出されるのです・・・。
今回Webで情報を探しまくった結果、その理由の一端がわかったような気がします。
2007.11.16 | Comments(1) | Trackback(0) | プログラミング
広告:
Author:はむ!
よく使う言語・環境:
C++,C,Lua,java,VBA,DB
たまにPHPとかjavascript
血液型:O型
メール: lua%ham.nifty.jp
(%を@に変えてください)
ついったー: @hammmm
11/19 はてなブログに引っ越してみます。