Category Archives: DICE

Denial Ain’t Just a River in Egypt

久々にDICEの新バージョンをリリースすることが出来た。今回は互換性を破る変更もあったので、インクリメンタルに新バージョンをリリースするという以前の目標はひとまず措いて、必要な部品が全て入るまで待たざるを得なかった。ついでというわけではないが、自分のハンドルもKLからRyuKに変更した。KLでは短すぎるというのが主な理由だが、元のサイト名(KLassphere)をとある理由で変更したかったという動機が先に存在したかもしれない。そちらはryukwareへ変わっている。サイトのデザインもDICEのWeb UIで採用しているテンプレートを再利用して改装した。Webサイト自体も去年秋から新アドレスへ移転している。
read more »

Shonuff

去年は1回しかこのサイトを更新できなかったと述べているうちにすでに2006年も末で今年もこのDICE v0.86リリースに合わせての年1回の更新となる。書きためていた文章もいくつかアップロードした。サイトの全体的な改装なども行いたいけれどなかなか難しい。リンク切れの修正程度が精一杯だ。

Webサイトを公開し始めて7年、このサーバに移ってきてから4年経つ。DICEも4年が経ち、かなり大規模なアプリケーションになった。4種類のサーバが1つになっている上にGUIクライアントやWebアプリケーションのスクリプトなどが入って、一人でメインテナンスするには正直言ってかなり厳しいサイズになっている。ドキュメント類の更新だけでも一仕事だ。アプリケーションのライセンスであるとか、ソフトウェアにまつわる形式的な物事に対して自分で決定し細部まで凝るのが以前は楽しみだった。

プログラミングそのものについても一貫していて、DICEのデザインについてみると、自分がかつて書いた2本の記録を読み返してみても構築的な欲求や形式へのこだわりを強く感じる。ネットワークセキュリティにも強い興味があり、DICEの設計も偏執狂的にセキュリティを追及していた。IRCサーバというのは、他の種類のサーバに比べ、一つの独立した世界を創造するという側面が非常に強い。OSからハードウェアの抽象化という機能を抜いたような物だと考えれば案外近いかも知れない。セキュリティは、作り出した世界を確固としたものとするためには必須要件である。

また、DICEを作り始めた2001年頃には、デザインパターンやeXtreme Programming、RUP、アスペクト指向などの、ポストOOとでもいうべきソフトウェア工学のトレンドが旺盛に議論されていて、その頃は私もその関係の本やドキュメントを一生懸命追いかけていた。当時の自分のスタンスはどちらかというと保守的なもので、eXtreme Programmingのような教えは米国のソフトウェアコンサルタントの新しい飯の種にすぎない、自己啓発セミナーのようで胡散臭い、といった見方だった。また、色々なプログラミング言語を勉強したり、積極的に新しいプログラミングのトレンドを追いかけたりもした。C++のテンプレートなどもその一つで、自分の3年前の文章を見るに、当時はかなり興味を覚えていたようだ。余所余所しい書き方をするのは、関心が他に移っていったからに他ならない。その徴候はこのサイトの2004年4月28日の項に現れている。
read more »

Thank You Falettinme Be Mice Elf Agin

DICEの更新日付を見たらなんと1年ぶりの更新だった。このウェブサイトについても同様である。実はDICE 0.85自体は去年の8月に完成していたのだけれど、それから色々あって手を付けることが出来なくなり、リリースそのものは今日に至ったという有様だ。書きたい ことも多々あるが、しかしまたしても時間がない。後日に譲る。

DICE version 0.84 配布

昨年末にPrince of Percia: SOTをやって以来、全くPCゲームをプレイする気が失せていたのは前回書いたとおりである。 Painkillerも昔の面クリア型ゲームを中途半端に模したような感じでかなり興醒めというか期待外れだった。ところが、 ビデオカードのアップグレード予定も当分ないので今年はこのまま何もやらずに済まそうかなどと思っていたところ、あっさりと その方針を覆らせるゲームに当たってしまった。何のことはない、Unreal Tournament 2004である。デモ版をダウンロードして遊んでみたところ、ネットワーク対戦のOn-slaughtが実に面白い。デモ版でこれだけ遊べていいのだろうかという出来の良さに率直に驚いてしまった。

前作では、前々作からのグラフィックスの進歩にばかり目を取られ、時間もないということでUTで定評のあるボットの能力を信用してシングルプレイのラダーを クリアしあっさり通り過ぎていたのが、今作のONSで遅ればせながらやっとネットワーク対戦FPSの真価に触れたような気がする。グラフィックス上は前作からほとんど進歩しておらず、またキャラクターもほとんど使い回しという状態ではあっても、乗り物 が正式サポートされたことで遊びの幅が立体的に広がった。最近では乗り物が登場するFPSは珍しくないとはいえ、Unrealの世界の武器の扱いに慣れすぎているせいか、Halo等では味わえない絶妙のバランスを感じる。それも、Haloほどにはかっちりと した作りでもなく、Unrealという名の文字通り非現実的にキャラクターがぴょんぴょん跳び回りつつ激しく接近戦を行うというのがUnreal Tournamentの真骨頂だ。20分程度で済むONSは実にリプレイバリューが高く、たとえ負けても激しい抗戦ができればそれなりに満足感がある。その場限りの人間のチームは、上級者と下級者が混ざっているのでよりメリハリのあるプレイを楽しめる。ONS(とASの一部)では乗り物もあるので、1on1だとさかんにサイドステップで飛び回る上級プレイヤーを叩ける逆転のチャンスも増え、集団ゲームとして実に合理的なハンディキャップ配置である。PCのいわゆる洋ゲーしかやらず、UTではなくUnreal本編のようなシングルプレイヤー物を好み、一回最後までやったゲームは大概そのまま手放してしまう私のような人間にとって、この中毒性の陶酔は久々の感覚である。下手をすると一年間UT2004だけでゲームの欲求をまかなえそうな気すらしている。良作の太鼓判を押したい。
read more »

DICE version 0.83 配布

2003年の年頭には下記のように6回はこのページを更新するなどとうそぶいてみたものの蓋を開けてみると4回しか更新していなかったりする。しかも、すぐ下ではプログラミングに邁進するかのようなことが書かれているが目下全く手が進んでいないのでこのサイト的には情けない限りである。年末に当年の総括をするのが一般的なようだが、12月も1年のうちには違いないので、自己の1年を顧みての反省は1月にするのが適当である。

反省と言えば、犬も歩けば blogにあたるというほどbloggingがWebで流行っている昨今、独り書きあるいは自省という行為が広まったようにも見える。しかし、実際の所blogというものは暗黙に、あるいは明示的に、対話や双方向の関連づけを前提として作られており、主に自省のためというより、他者が常に意識されている活動である。Webで公開されている以上当然ではないかという意見もあろうが、blog以前に昔の日本のWebで行われていたWeb日記というジャンルは、多 くの場合匿名で行われていたので、個人が他者とのコミュニケーションのフィードバックを求めるという側面を必ずしも持っていなかった。いわば、一方的な告白である。当時はWeb日記などには全然関心が無かったが、昨今blogに当たらずに過ごす方が無理なので毎日毎日よく時間を費やして書けるもんだと私などは感心して色々見て回っている。

Webデザインについても、blogの場合なぜか例外なく「シンプルで趣味のいいデザイン」を目指したと思しき様式に統一されているのも面白い。写真もそんなシンプルなフレームの間に挟まれていると実に映える。私は去年初めにMozilla Firebirdを使い始めるまでNN4に固執していた関係でスタイルシートやJavaScriptに関心を持つのが後れた ので未だにその辺りについて何か学習するたびに面白みを覚えてしまう。DICEのWebインタフェイスを作るときにMozilla/IEのDOM操作で面白いことが色々出来るのにも開眼した。しかしこれがFlashまで行くと奥ゆかしさを失うような気がするのは何故だろう。あくまでWebブラウザonly で出来るのが好ましいと感じる。
read more »

IN SOVIET RUSSIA DICE VERSION 0.8 RELEASES YOU!

やれやれやっとDICE 0.8の配布にこぎ着けることが出来て感慨深い。というくらいリリースが難航して結果約2か月も予定より遅れることになってしまった。その代わりと言っては何だが新しくWebサーバ機能も入り、かつ安定性も大幅に向上している(特にWindows XP/Windows Server 2003上)。「IRC/HTTP/opennapハイブリッドサーバ for MS Windows 2000/XP/2003」なんていかにも危なっかしい形容なのでIISのように簡潔な名称にしたいところではある。そこで私自身忘れていたのは、実はDICEという名前がその役目を果たすべきものであるにもかかわらず、未だに何故DICEという名前なのかどこにも由来を書いていないということである。今回も書かないのだけれども代わりにDICEに関する今後の方向性を示唆する物としてIFIRCでのインタビューを参照されたい(これも微妙に古くなってしまったが)。
read more »

DICE version 0.6 配布

Devastationやってみた。一応最後まで行ったけれどもとんでもない駄作だった。Unreal Tournamentのエンジンを使ってるのはいいとして、画面の雰囲気が何となくHalf Lifeを思わせる荒さで汚く、ボットの動作もぎこちない。シナリオは無理矢理UTのTeam Matchをやらせるためにでっちあげた(特にReGen、これこそご都合主義の権化である)と言っても過言ではない代物だ。「HOTEL れしゃお貴族」のような壊れた日本語ネタには尽きないゲームではあるが本当にそれだけだった。おまけに久しくFPSで酔ったことはなかったのに(移動しな がらcrosshairsを標的あるいは消失点に固定し続けることが出来るようになればFPSでは酔わない)、何故かこのゲームに限って酔ったので最悪で ある。文字通り「むかつく」ゲーム体験となってしまった。今年はもうしばらくゲームをやらないと思う。

ところで、DICEバージョン0.22 – 0.5にはアセンブリによる中途半端な最適化によりPentium3で動作がおかしくなるバグがあったので、そのバージョンで正常に動作しなかった場合は今回の0.6を試して頂きたい。

DICE version 0.22 配布

DICEバージョン0.22配布開始。メンテナンスリリースで特筆すべきことは何もない。尚、DICE上での利用に問題があるIRCクライアント用スクリプトがある場合、ここにDICEから削除されているIRCコマンドのリストがあるので自力でスクリプトの方を修正して頂きたい。それらのコマンドは、主にセキュリティ上の理由からDICEでは意図的に省かれているものである。

さてUnreal IIである。3日かかってクリアできた。解像度は1280 * 1024 * 32bitを使用した。最初は1024 * 768に設定したが明らかに汚かったので既にこの解像度はゲーム向きではないらしい。GF4Ti以上のVGA + 2Ghz以上のCPUで満足にプレイできると思われる。(Doom IIIだとこれでは足らないらしいが)
read more »

DICE version 0.212 配布

あけましておめでとうございます。

去年末からC#で.NETフレームワーク用のプログラムを書いている。開発環境のサポートが充実している点を割り引いても、まるでかつてPerlでスクリプトを書いたときに味わったような爽快感を再び味わうことができた。

年末の総括を忘れていたので今数えてみたところ2002年は8回このページを更新できたのでなかなか悪くない結果である。今年は6回と予想しておく。

一昨日DICE v. 0.21を公開したが問題が発覚したので0.211に差し替え。

さらに昨日公開したDICE v. 0.211にも微妙な問題が発覚したので0.212に差し替え。

DICE version 0.201 配布

DICE version 0.2 に凡ミスが見つかったので急いで修正&差し替え。結果的に別の部分まで手を入れることになったので慌ただしくリビジョンを上げた。あまり何回も見得を切るのは格好悪いので願わくばこれ以上問題が起こりませんように。

DICE version 0.2 配布 & KLassphere Athens 配布

DICE version 0.2の配布を開始した。SQL Server/MSDEが要らなくなり、より一般的なユーザに身近になったと思われる。SQL ServerのデータベースからDICE ver 0.2用のデータファイルを抽出するツールも置いたので移行も簡単である。来年はDICEに手を入れる機会はほとんどないのでこれを完成版と呼んでも差し支えない。ナンバリングこそ0.2ではあるがユーザインターフェイスの不親切ささえ脇に置けばサーバアプリケーションとしての内容は1.0と呼んでも良いものに仕上がったと自負している。SQL Serverのおかげでインストールに二の足を踏んでいた方は0.2の完成度を是非動かして試して頂きたい。ついでにISAPIの掲示板ももう手を入れる余裕がないので、なし崩し的に配布することにした。
read more »

DICE version 0.1 SR1 配布

DICEについて、前回言及した更新版とは別にいくつかの機能を付け加えるとともに、既存部分の振る舞いを変更したくなったのでサービスリリースとして更新が必要なファイルのみアップロードした。先に0.1をインストールして、そこへ上書きということになる。修正は含んでいないので既に稼働中のサーバがある場合はどうしてもSR1の機能を使用したいということでなければ入れ替えの必要性はない。

DICE version 0.1

標題の通り、ようやくDICEのバージョン番号付き正式リリースを迎えることができた。サーバアプリケーションに要求される一定水準のavailabilityを達成したことにより正式という冠とバージョン番号を付けた。そもそもバイナリは2週間以上前に出来上がっていたにもかかわらず他の作業に充てる時間の都合が付かず配布にこぎ着けるのが遅れてしまった。これからも評価版としての配布が続行される。運が良ければ年内にもう一度だけ バージョンアップできるかもしれない。現在DICEは少なくとも2つの点でMicrosoftが提供するあるコンポーネントに依存しているのでどちらか、もしくは双方を取り除き代替物を組み込む予定である。DICEのコアを利用した別のアプリケーションも作りたいけれど時間がない。とにかく生産性を上げる手段を見つけるしかない。この無力感をどう償えばよいだろうか。少なくともこの鬱陶しいサイトの更新で焦燥が紛れないのは確かだ。
read more »

DICE Technical Notes II

前回は、 DICEの初めての配布に際して、近年のIRC周辺の状況と、DICEに実装するIRC機能セットの選択基準について述べた。ただし観念的なバックグラウンドから具体性のあるデザインを抽出し計画を整形する過程の最中で書き留めたものであり、曖昧な部分が数多く存在した。当時の実装は、着手してから半年経過し最初のベータテストに臨んだばかりの段階で、一応のIRC/opennapサーバ機能は備えたとはいえ不安定で、明らかに改善の余地を残していた。現在では、さらに半年の検証と調整を経て、長期運用と数千の同時接続に実際に耐えることができる初めての正式バージョンのリリース(DICE v. 0.1)に至っている。そこで今回は、DICEの汎用ネットワークサーバとしての側面、バージョン0.1リリースに至るDICEの方向性の変更、また opennap準拠サービス(VirtualDirectory)の実装の詳細など、経験に基づいた視点をより多く加えつつ、現時点でのDICEの特性とその背後の意図を解説してここまでの記録としたい。

read more »

Early DICE Design Notes

About 2 years ago, I opened an IRC channel on a small IRC network. I’d been hanging out in EFnet, Undernet, or DALnet, but the accessibility to those large networks from Japan was not decent and not much improvement is seen even today. In some networks you are just kicked because you are from the .jp domain. As a consequence, I chose a small but reliable place for the new channel among many networks. It had nickserv and chanserv. One of the largest networks known in Japan, IRCnet, lacked those services.
read more »