TWINS 終了
TWINS のパッチ制作、ほぼ終了しました。これで TWINS の製作は、おしまい。
このゲームを世に出せたので、もう思い残すことはないです。
って書くと、まるで遺書みたいだけど。
TWINS のパッチ制作、ほぼ終了しました。これで TWINS の製作は、おしまい。
このゲームを世に出せたので、もう思い残すことはないです。
って書くと、まるで遺書みたいだけど。
わざわざサークルスペースまで足を運んでくださったみなさん、ありがとうございました。
TWINS の追加ステージについて。
初見だと「これ、無理」と言いたくなるかもしれないですが、ガチ避けしちゃダメです。テンションをきちんと使っていけば、EASY シューターでも、ぎりぎり クリアは できると思います。蒼さんのエンディング絵が素晴らしいので、がんばってみてください。ぜひぜひ。
さて。
これでサークル的には小休止ですが、個人的にはいろいろあるので夏も忙しいです。
冬はサークルの新作体験版が出……ればいいなあ。
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 でも可かと。
【その他メモ】
・トラフィックは案外少なかったです。
・どういう実装が良いのか試行錯誤中……。
・クライアントの識別情報に何を使うかは、ひとそれぞれかと。
・金髪双子姉妹にクラッキングされないように注意してるつもり。
風邪引いて COMIC1 どころではなかったので、家でゴロゴロしつつ各種開発環境をアップグレードしてみた。
まずは VisualStudio を 2003 から 2005 に。自前のゲームエンジンをコンパイルしてみたら予想通りエラー出まくりだったけど、強引にキャストしてなんとか全部コンパイル通ったー。wchar_t から unsigned short へのキャストは正直微妙。
次に Photoshop を 7 から Photoshop CS2 に。自分が使う範囲では機能的にはほとんど変わりはないけど、フリーのプラグインとかで 7 に対応してないのがあったりするので仕方なく。CS2 Standard にアップグレードしようかどうか迷ったけど、主に予算面で妥協。
ここまでで丸一日かかった。特に VisualStudio の環境設定は時間かかりすぎ。
あと、全く関係ないけど Twitter のアカウントつくりました。
こちら
面識がある人もない人も適当に Friend 登録どうぞ。