日曜日, 2月 26, 2006

AI

とりあえずMSW製AIおよびStork改良型AIの実装は完了しましたが、あまり強くありません。まあ、不注意で負けることもありますが。さて、これからmini-max法によるAIの実装を開始するはずです。その前にいくつか未実装の処理を追加してしまいたいと思います。java.util.pref.Preferenceはどうもオブジェクトを保存することは出来ないようなので、以前作った独自実装のAPIを使おうかと思っています。さて、このmini-max法を理解しなければ。

土曜日, 2月 25, 2006

Intel Mac

電気屋にてさわってきました。まずはiWebがどんなもんかチェック。結構簡単にWebページが作れるようになっているようですが、いまいちぱっとせず。次にiMovieを起動させてタイトルを作ってみた。早い早い。私のPowerMac G5 1.6GHzとは段違いです。なんせ相手はIntel Core Duo 2.0GHzですからね。
さて、私のPowerMacも調子がおかしいです。今日は起動途中にカーネルパニックを起こしました。その後fsckでチェックしても問題なし。何があったのでしょうか。再インストールした方が良いのかもしれません。

木曜日, 2月 23, 2006

Export for Webmail 0.3

なぜかWebメールでないのにThunderbirdが加わっています。そして利用価値の疑わしい電話番号がないものを除く機能。本当はEntourage対応もしたかったのですが現在の設計ではかなり手間がかかりそうなのでやめました。まあ、Entourageはもともとテキストに書き出せますしね。もし、このリストにないアドレス帳の読み込めるWebメールがありましたらお教えください。一通りチェックはしたつもりですが。まあ、あってもOutlook形式に対応しているでしょうからその場合はHotmail形式で書き出せば行けます。

Linux on Intel Mac

どうやらLinux KernelがIntel Mac上で動いたようです。しかし、一応BIOSの代わりにEFIを利用していると言っても規格化された技術を使っている以上もう少し簡単にできるのかと思ったら、結構時間がかかってますね。Appleは何を仕込んだのでしょうか。ジョブズはApple Hardware上でWindows等を動かす邪魔はしないと言っていたはずですが。しかし、ここでLinuxが動いたことからそのブートローダーでWindowsを読み込ませることは出来ないでしょうか。まあ、そう簡単には行かないもんなんでしょうけど。

ところでEclipseでlocal CVSを使う方法はないのでしょうか。pserverとかなら使えるようですが、、

水曜日, 2月 22, 2006

Mac OS Xウイルス

どうやらMac OS Xでもウイルスがいくつか発見されているようですね。一応Safariの安全策はとりましたし、iChatも使っていなければBluetoothはないので感染の心配はありませんが、今後このようなものが増えると思うと対策を考えねばなりません。現在はTiger上でNorton Anti-Virus 9を利用しているのでAuto-Protect(PantherではVirtual PCとの相性悪し)が動かず、一ヶ月に一度の完全スキャンで済ませているのですがこうウイルスが一般的になると不十分ですしね。一応バックアップは外付けHDD(普段は電源OFF)に保存してありますが、書きかけのプログラムが消えたりすると辛いです。まずは今のシステムをMac OS X Tiger&Panther or LinuxのDual Boot構成にでもしますかね。Mac on LinuxがG5で動けばいいんですけどね。いまのところG4/G3専用のようです。HFS+をLinuxから読むドライバもあるようなのでFedora Coreで試してみます。そういやFedora Core 5のリリースまでもう少しなので待ってみるのもいいかもしれません。

月曜日, 2月 20, 2006

ようやく

ようやくブロックをおくところまでたどり着きました。ここからAIの実装に入ります。さて、このVersion 0.5のもう一つの目玉(?)はマウスのサポートです。Ver.0.3まではMac、Windowsともにキーボードのみの操作でしたが今回はすべての操作をキーボードでもマウスでも行えます。
しかし、このデザイン賛否両論がありそうですね。ちなみに画面サイズは大きくなっていますがブロックサイズも大きくなっているのでマップサイズに変更はありません。

LINE:2385
FILES:26

土曜日, 2月 18, 2006

Block Getter v0.5

v0.4をすっ飛ばしてv0.5を開発中です。そしてこれがその開発中の画面。選択されている項目を表すオレンジ色のバーはちゃんと物理法則
x=v*t+(1/2)*a*t2
に従って動きます。まだ、AIやゲームコアの実装には至っていないのでまだまだ使える状況ではありませんが。
そして、MSWお絵描き掲示板にあるような3Dサポートも考えています。とりあえずまずは2Dで書いていますがゲームコアはViewに全く依存しないのでViewを書き換えれば何でも出来ます。ですからJava 3Dがインストールされているかどうかで判別することも出来ますし、ゲームコアだけを携帯に持っていって携帯版Block Getterの作成なんてもことも出来ます。さらにt-maruが密かにあたためているらしい機能もゲームコアでは対応しています。表には出していませんけどね。
さて、今回のバージョンアップの目玉はAIの大幅な強化。今までの「勘弁してくだせぇ」では弱すぎるので、その上に「まだまだ」「普通」「かかってこい」「最強モード」を追加します。「まだまだ」はMSW製AIの弱点を補ったもの、それ以上はmini-max法というアルゴリズムを採用します。α-β法が理解できればそちらにしますが、とりあえずはmini-max法で。
ここで参考にさせていただいているのがJavaでゲーム作りますが何か?というサイト。さすがにBlock Getterと同じゲームはないだろうと思い、それに近い五目並べのアルゴリズムを探していたらオセロのアルゴリズムにたどり着きました。まあ、このmini-max法は分かりやすく言えばしらみつぶしに調べる方法ですので簡単に応用できるでしょう。Block Getterのルールにあった枝切りをしてやればそこそこの速度で動くと思います。それでも最強モードを携帯で動かすのは無謀かもしれませんが。

さて、Java 6 Mustangのβが出ましたね。Javaでデスクトップアプリケーションを作るにはうれしい機能がいろいろあるようです。でも、またMac版は遅いんだろうな。もうすぐMac OS X 10.5も待ってますから今使っている10.4には載らないかもしれません。さて、Mac OS X 10.5はどんな機能を搭載して来るのでしょうか。なんか、コンピュータの概念を覆すものを持ってくるような気がします。もう、TigerでCocoaプログラミング環境はCore Dataの導入で一通りの完成と言われているらしいですし。現在のiMacやMacBook Proに搭載されているFront Rowを中心に何か出してくれないでしょうか。

追記
Block Getter進行状況。
LINE:2139
FILES:26

金曜日, 2月 17, 2006

Java 1.4

今更ながらJava 1.4、5.0にはいろいろな新機能が搭載されていることに気づく。現在のコンピュータを使う前はMac OS X 10.1を使っていたのでJava 1.3しか搭載されていなかったのですね。そこでJavaは1.3の時代に覚えたので1.4の新機能を知らずに今までプログラミングをしていました。Objective-Cをしばらく使っていたこともあって興味を持っておらずせいぜいJava 1.4の正規表現、ロギング、Image IO、New IOくらいしか知らなかったのですが、Java in the Box
Preferences API
Assertion Facility
なんてもんがあるんですね。Preference APIと同じようなものを自分で作ってしまいましたよ。欲しい方は出来損ないにあるStorkPhotoをダウンロードしてください。そこに含まれています。でもこのPreference API、Windowsではレジストリを使うんですよね。Mac OS Xではどこに保存されるのでしょうか?
Java 5.0はまだMac OS Xで本格的に使える状況ではないので(まだJava 1.4がデフォルト)ためして見ているだけですが。ジェネリックス等魅力的な機能が多くありますね。

Block GetterではJava 1.4向けに作っているのでJava 5.0の魅力的な機能を使うことは出来ませんが、Java 1.4の機能を最大限に活用していきたいと思います。既にフルスクリーンは使ってますしね。開発中は面倒なので無効にしてありますが。

水曜日, 2月 15, 2006

Camino 1.0リリース

Geckoレンダリングエンジン採用のCocoaブラウザCaminoの1.0がリリースされました。このブラウザ、Firefoxよりも早く開発が始まっていたはずなのですが、、既にFirefoxは1.5が出てますよ。でもFirefoxはCarbonベース。その点でCaminoはMac OS Xとの親和性が高いです。私も滅多に使いませんがサービスメニューが使えたりとかいくつかの点においてFirefoxをリードしています。
でもFirefoxのあの機能拡張の多さは魅力ですよね。私も普段はSafariユーザーですが、ホームページ作成のときだけはFirefox & Web Developerを利用しています。でもこのCaminoなら乗り換えも検討してもいいかな。でもわざわざ乗り換える理由もありませんね。あ、BloggerでBlogを書くのが簡単になりますね。さて、どうしよう。

火曜日, 2月 14, 2006

リニューアル

現在Stork Labの大幅なリニューアルに向けて作業を進めています。今までの画像なしで作ろうという方針を放棄し、画像を使ってかっこいいページを目指します。それに伴いTipsの内容も強化しようと考えています。
と言ったのはいいのですが、情報量も決して少なくはないのでかなり時間がかかりそうです。でも今までの殺風景なページよりはずっとましになっていますので是非完成したおりには見に来ていただきたいと思います。

そういえば来月でStork Lab開設一周年ですね。公開当初のアクセス数は悲惨なものでしたが、Export for Webmailがあたったことによって今では毎日そこそこきていただけるようになりました。訪問していただいた方々に感謝あるのみです。

金曜日, 2月 10, 2006

Block Getter


開発中のBlock Getterです。前作は夜と侍がテーマでしたが今回はCyberspaceがテーマです。MSWが開発したオリジナルBlock Getterからはかなり遠いイメージになりそうです。共通点はルールと音楽だけに、、画像も全部入れ替えますので。アニメーションもちょっとこったものを、と考えています。
ところで開発はNetBeans5で行っています。最初はEclipseでの開発も考えたのですが、GUIデザイナーは使いませんけど使いやすさの点でNetBeansが勝るのでこちらを利用することにしました。まあ、私が最初に使ったIDEがNetBeansだったから慣れの問題が大きいと思いますが。はやく日本語版でないかな。Javadocは日本語のものに入れ替えてあるんですけどね。Java1.5を使うようにしてあるので文字化けもありませんし。(BlockGetter自体は-target 1.4で作っていますのでMac OS X 10.2.8以降対応になります)
Mac OS X用のJava 1.5のちゃんとJava 1.4を置き換えるバージョンも欲しいですね。無理矢理置き換えることも出来ますが置き換えないからには何かした理由があるでしょうから。

火曜日, 2月 07, 2006

Block Getter

現在いままでのすべての資産をすててJavaで書き直しています。元々はObjective-C & C++で開発する予定だったのですが今ではC++を学んでいる時間がないのとJavaでフルスクリーン&解像度変更の仕方が分かったのでそちらにすることにしました。もっともAIを根本的に作り直すので古いコードではかえって作り直すのが大変なんですよね。なお、Windowsでは起動しないようにプロテクトをかける予定です。Mac OS X向けにアプリケーション形式(PowerPC用)のものとLinux用に起動シェルスクリプトを用意したものにします。WindowsではそのうちMSWから出るでしょうから。MSWにはプロテクトのかかっていないバージョンとソースを送るつもりなのでそれをベースに作ってくるかもしれません。

日曜日, 2月 05, 2006

Mac Fan

とうとうStork Lab製のソフトウエアがあのMac Fanに載りました。載ったのはExport for Webmailです。スクリーンショットとバージョン番号があっていませんけど。説明文とスクリーンショットに対応するバージョン番号は0.2です。ついでに名前は「Export for Webmail」に改名されていますので、、
興味のある方は是非書店で「Mac Fan 3月号」77ページをご覧ください。他のソフトの倍のスペースを使って書かれています。おまけに「便利」印まで。本当は他の本を買おうと思っていたのですが見つけてしまったので(連絡のメールは来なかったんですけどねぇ。他の大量の迷惑メールにまぎれてしまったのでしょうか)すぐにその本を戻して購入してしまいました。

金曜日, 2月 03, 2006

StorkPhoto

一度は出来損ないとしたStorkPhotoですが現在もう一度いじっています。いままでは個別のコンポーネントを用意し画像を描画させていましたが、今回はその親のコンポーネントにすべての画像の描画をやらせています。さらに読み込んだ画像をすべて一つにつなげてしまい、メモリ使用量を少なくする工夫も取り入れてみました。その結果確かに多少はましになりましたがまだまだ使えるレベルではありません。なにか表示領域にある画像だけをロードする工夫がいりそうです。現状ではフォルダに十枚以下の画像ならば行けそうですが、79枚/一枚約500KBのJPEG画像をロードするのに数分かかりメモリがアクティビティモニタ上で実メモリ80MBほど消費しています。(仮想マシンは-Xmx128m)でもスライドショーは解像度を下げたことによってそこそこ使えるレベルになりそうです。そもそもJavaでアルバムソフトを作ろうという事自体無謀なんですよね。でもこのiPhotoライクなインターフェイスがWindowsでも使えたらどんなに便利だろうかと、、