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

DXRuby1.0.4リリース

各種要望対応と不具合対策、若干の機能追加、描画性能向上。 一番大きいのはリファレンスマニュアルのHTMLHelp化だったりするかもしれない。 Windows専用のライブラリなのだから、マニュアルがWindows専用であることには問題は無いはずだ。 メソッドごとの説…

ocraの動作と、エラーの原因を考えてみる

ocraはRubyのスクリプトをexeするソフトだ。 Rubyインタプリタと、使うRubyのソース、ライブラリをまとめてexeの中に取り込み、実行時にはテンポラリのディレクトリにそれを展開して動かす。 動作原理は(たぶん)こんな感じ。 (a-1)使うスクリプトと拡張ラ…

binだけ日本語にしてもあかんけど、上のディレクトリ名を日本語にしたらコケた。 development.exeで使ってるのはエンコードとrubygems.rbだけだから、そのあたりを参照するときに絶対パスが日本語名だとダメだということか。 なるほど、内部で自動的にrequir…

Actorクラスとメソッドアクセス制御:キャラ管理ライブラリを考える(4)

例えば、スーパークラスのActorで座標を管理するxとyは、サブクラスからはアクセスできないようにする。 internal_xとかそういう名前にしておいて、はじめにxからinternal_xにコピーして、自動処理内ではそっちをアクセスし、自動処理が終わったらまたxに入…

うちゅうじん

スラッシュドットジャパンより。 地球外知的生命体に遭遇したら、なんと言う ? http://slashdot.jp/science/09/06/08/2355228.shtml 地球外知的生命体だ。 いまどきは宇宙人とは言わない。 人型をしているというイメージが無くなってきたからだろうか。 俺は…

もっとうちゅうじん

面白いからもういっちょいってみよう。 地球外知的生命体は、人間が発見できていないどこかから来るわけだ。 当然、とても遠いところからいらっしゃるわけだから、光の速さなどの制限は関係ないのだろう。 人間は基本的に、現代の物理やら化学やらに縛られた…

Ruby1.9.1でエンコード勉強中

よくわからない。 こんなコードを書く。 #encoding : SJIS "あ".encode("ASCII-8BIT") 実行すると、 こんなエラーが出る。 D:/temp/ruby19test.rb:2:in `encode': "\xE3\x81\x82" from UTF-8 to ASCII-8BIT in conversion from Shift_JIS to ASCII-8BIT (Enc…

スターターキットのdevelopment.exe動いたー

俺、WindowsXPのユーザー名が日本語だったwwww だからocraの展開先がマイドキュメントの日本語名のディレクトリの下になるのだ。 よもや、と思って環境変数tmpを適当な場所に変えたら、動くようになった。 恐るべし一般ユーザーの習性と言ったところか。…

キャラ管理ライブラリを考える(3)

基本的にLayerはActorを呼び出すだけで、Actorのほうでキャラの自動制御を行う、というのが普通の発想だ。 なぜなら動くのはActorであって、Actorがそれぞれ移動パターンを持っているからだ。 例えば、Actor#move_baseみたいなメソッドで自動制御をして、必…

タイ語じゃー(#゚Д゚)オラー!

DXRuby1.0.4でフォントの文字コードをシステムデフォルトとした。 これは、日本語以外のフォントを扱うことを考えての変更だ。 だが、日本語Windowsではシステムデフォルトが日本語であるため、このやり方では英語フォントを扱うことはできても、それ以外の…

言語とか

日本は島国であるから、基本的に日本語をネイティブで扱う人しか住んでいない。 外国人観光客とかもくるが、それはあくまでも外国人である。 日本人は外国人慣れしていないから、日本語をうまく話せない人が話そうとするのを聞くと笑う。 それをネタにしたコ…

ってことで

今日は何も進んでいない。 しまうーたぐぁかぜにのりーとどけてたぼれーわんこのなだぐぁー わんこそば ,.-''" ̄ ̄" ̄`ヽ, /゙ ノ -- --ヾヽ / / ● ● | i ズルズル `ヽ,,_( ´ ( _▼_ )` ノノ ,.-''' 、/ ,,川 | ''-., ( ,i''゙( __/ )|川( \ ゙'' i,) .| ゙-.…

キャラ管理ライブラリを考える(2)

Actorクラスを上位に作って、それを継承してキャラクラスを作るのは最低限どうしようもない。 そのおかげでゲーム上のオブジェクトに対する操作はそのクラスに閉じるわけだし、どのみちそれなりの規模のゲームを作るならそういうものは作る必要があるだろう…

MikuMikuDanceってすげーよ

ニコニコ動画より。 【第2回MMD杯本選】雪ちよちよでミク達に踊らせてみた(sm6161065) なんというか、何も言えない。すごい。 他にも第2回MMD杯のエントリー作品はレベルが高いものが多い。 MikuMikuDanceはフリーのツールだ。 作った人もすごいが、それを使…

DXRubyスターターキット

唐突に作っていただいてしまった。 http://mono.kmc.gr.jp/~yhara/d/?date=20090606#p04 コメントも書きに行ったけど、もう一度この場を借りてお礼申し上げます。 yharaさん作のDXRubyスターターキットは、Ruby1.9.1とdxruby.soをocraでexe化したものだ。 ga…

キャラ管理ライブラリを考える

発想の原点は、キャラの移動やアニメーションをライブラリ側で管理して、勝手に動くモノを制御するためのスクリプトをユーザーが書く、ということ。 昔、ラグナロクオンラインでホムンクルスのAI(Luaで書く)を作ったことがあって、あれはあれで非常に使い…

アニメーション管理クラス

寝れないからなんとなく作ってみた。 # シンプルなアニメ管理クラス class Animation attr_accessor :loop, :count def initialize @arr = [] @count = 0 @total = 0 @loop = true end # アニメパターン追加。 def add(image, count) @arr.push([image, coun…

DXRuby周辺。キャラ管理ライブラリの可能性。

AIMSっつーモノが公開されている。 D.N.A.Softwaresさま開発のゲームエンジンで、言語はLuaだ。 http://aims.dna-softwares.com/ LuaはCのプログラムにインタプリタをリンクして、CのプログラムからLuaエンジンを呼び出して実行する。 通常の言語とは逆方向…

bass.rbプロトタイプ

ちょっとデカいが(゚ε゚)キニシナイ!! bass.dllは、un4seenさまのサイト、 http://www.un4seen.com/ の一番上にダウンロードリンクがある。 #!ruby -Ks # Rubyからbass.dllを使うラッパ bass.rb ver 0.0.1α require 'Win32API' module Bass # 構造体やポインタを…

河城にとり

しばらく前、ネットゲームで人のキャラ名に「河城にとり」というのが増えた。 どーせまたゲームやらアニメやらのキャラなのだろうと思っていたのだが、何となく思い出したのでgoogleで検索してみた。 名字を覚えてなかったから「にとり」で検索。 一番上には…

BASSラッパその後

2日ほどかけてあーでもないこーでもない、と色々試していたのだが。 だいたい各種ファイルの読み込みと再生ができるようになって、いい感じで使えるようになったかなーというところで、ボリュームとパンの設定がfloat型であることに気がついた。 Win32APIはf…

とりあえずbass.dllラッパはじめの一歩

bass.dllをRubyから呼び出すことができるようなものを作ってみている。 これができればこれひとつで、MP3やOGG、WAV、MOD、プラグインでMIDIも、簡単に再生できるようになる。 3Dサウンドもできるし、EAXも対応している。 そのあたりのインターフェースをRub…

bassクラスを考える

とりあえず音が出るようにはなったが、Rubyから扱いやすい形にするのがより良い。 具体的にどうするのがいいのか。 まず、sampleとstreamはユーザーが選択する必要がある。 OGGだからstreamと決め付けるわけにもいかない。 サイズの小さな効果音をoggで作る…

ラッパライブラリの可能性

twitterを始めてみたので、テキトーに考えたことはあっちに書いていて、それなりにまとめて書かないといけない(と思い込んでいる)ブログのほうに書くことが減った。 こっちに書き散らしてもいいのだけど、小さすぎるネタをブログに書くのは気が引ける。 多…

Ruby側の負荷

スクリプトから移動処理を省いて、描画のみをするようにしてみた。 これが最もシンプルなスクリプトで現時点での最大値である。 簡単な移動処理が入るだけでオブジェクト数が約6割になる、ということだ。 Ruby1.9.1を使ってこれなのだから、Rubyの動作の遅さ…

フォント

DXRuby1.0.3でImageオブジェクトにフォントを書き込む機能を追加したわけだが、Window.drawFontしたものと、Image.drawFontしたものとWindow.drawしたものでは随分と品質に差がある。 これは、アンチエイリアスをしているかどうか、という差なわけだが、Imag…