« 2007年3月 | メイン | 2007年5月 »

2007年4月 アーカイブ

2007年4月10日

TWINS 終了

TWINS のパッチ制作、ほぼ終了しました。これで TWINS の製作は、おしまい。
このゲームを世に出せたので、もう思い残すことはないです。
って書くと、まるで遺書みたいだけど。

2007年4月23日

サンクリ 35 終了

わざわざサークルスペースまで足を運んでくださったみなさん、ありがとうございました。

TWINS の追加ステージについて。
初見だと「これ、無理」と言いたくなるかもしれないですが、ガチ避けしちゃダメです。テンションをきちんと使っていけば、EASY シューターでも、ぎりぎり クリアは できると思います。蒼さんのエンディング絵が素晴らしいので、がんばってみてください。ぜひぜひ。

さて。
これでサークル的には小休止ですが、個人的にはいろいろあるので夏も忙しいです。
冬はサークルの新作体験版が出……ればいいなあ。

2007年4月24日

オンライン・スコアランキング実装メモ

TWilight INSanity で実装したオンライン・スコアランキングに関する技術メモ。


【開発・動作環境】
クライアント   : Windows + VisualStudio + C++ + WinSock
サーバ側アプリ : Java + JDBC
サーバ側 DB  : PostgreSQL
サーバOS    : Linux


【クライアント】
ゲーム本体です。実行ファイルです。
サーバへの接続するためのライブラリは、WinSock を使いました。マイクロソフトが今後はメンテナンス・アップデートしないと言ってるので、DirectPlay は使っちゃダメです。実際、WinSock が特別扱いづらいというわけではないので、DirectPlay を使う理由は無いと思います。プログラミングについては、Web 上の情報だけで充分でした。


【サーバ側アプリケーション】
クライアントおよびデータベースと通信するアプリケーションは Java で書きました。C 言語 + socket で書くよりは、セキュリティホールは圧倒的に減らせるかと。データベースと接続するために JDBC ドライバを入れる必要があります。開発環境は Windows + Eclipse。


【サーバ側データベース】
スコアデータを保存するデータベースは PostgreSQL で構築しました。どうも MySQL はライセンスが微妙な気がしたので(←詳しい人、教えてください)。これも、開発環境は Windows で全く問題なし。


【サーバ OS】
Linux を使いました。JDK の正式なサポートが欲しかったので BSD 系は遠慮しときました。ほんとは Solaris を使いたかったんだけどなあ。


【スコアランキング仕様】
クライアントプログラムは、サーバに接続する度に、自分の最高スコアをサーバに知らせます。最高スコアが更新された時だけサーバに知らせるのではないです。この動作によって、仮にサーバ側のデータが消失しても、その後全てのクライアントからの接続があれば、最終的にはサーバ側のデータが復旧することになります。

さらに、サーバ側は送られてきた得点が、(データベースに格納されている)そのクライアントの最高スコアでなければデータベースを更新しないようにします。これによって、クライアント側のデータが消失しても、サーバ側に最高スコアのデータが保持されることになります。


【Web ランキング】
こういうやつです。
Perl/PHP/Ruby などから直接 PostgreSQL に接続してもいいんですが、セキュアなプログラムを書く自信がなかったので、Java で書いたデーモンが一定間隔で、JSONP を吐くようにしました。同一ドメインなら XML でも可かと。


【その他メモ】
・トラフィックは案外少なかったです。
・どういう実装が良いのか試行錯誤中……。
・クライアントの識別情報に何を使うかは、ひとそれぞれかと。
・金髪双子姉妹にクラッキングされないように注意してるつもり。

2007年4月30日

開発環境アップグレードとか

風邪引いて COMIC1 どころではなかったので、家でゴロゴロしつつ各種開発環境をアップグレードしてみた。

まずは VisualStudio を 2003 から 2005 に。自前のゲームエンジンをコンパイルしてみたら予想通りエラー出まくりだったけど、強引にキャストしてなんとか全部コンパイル通ったー。wchar_t から unsigned short へのキャストは正直微妙。

次に Photoshop を 7 から Photoshop CS2 に。自分が使う範囲では機能的にはほとんど変わりはないけど、フリーのプラグインとかで 7 に対応してないのがあったりするので仕方なく。CS2 Standard にアップグレードしようかどうか迷ったけど、主に予算面で妥協。

ここまでで丸一日かかった。特に VisualStudio の環境設定は時間かかりすぎ。


あと、全く関係ないけど Twitter のアカウントつくりました。
こちら
面識がある人もない人も適当に Friend 登録どうぞ。