改造が難しい場合

ゲームプログラムが起動時に、サーバやクライアントモードで起動するように組まれていない場合、 コマンドラインによる起動管理を行うように改造することは難しいことが予想されます。
IGM2に同梱されるゲームプログラムのNetPanda.exeやNet5Moku.exeは起動された後、 接続用のフォームでサーバやクライアントの情報を入力し、ボタンクリックで接続する仕様で開発されたものです。 そして開発ソースがハードディスクのトラブルで紛失したため改造ができない状態で、本ケースのそのものにあたります。
ページ末尾にNetPanda.exeとNet5Moku.exeのローダープログラムのソースをリンクしますのでお役立てください。

ローダーを作成するという方法

こういった場合にはローダープログラムを作成するという解決方法があります。 ゲームプログラムがGameA.exeでゲーム名を「ゲームA V1.00」とします。 ローダープログラムをGameALoader.exeとします。 この名前は任意ですが慣例としてゲームプログラム名+Loaderとするとユーザーが慣れるのではないかと期待します。
GameALoader.exeはGameA.exeと同じフォルダに置かれることを前提とします。 ユーザーはゲームの登録時にGameA.exeではなくGameALoader.exeを指定します。これによりIGM2は以下のように呼び出すことになります。
GameALoader.exe -info
GameALoader.exe -server ユーザー名
GameALoader.exe -client ユーザー名 IPアドレス

それぞれの起動方法ごとに以下のような動作をするものとしてGameALoader.exeを作成します。

GameALoader.exe -info

これは楽勝仕様。コマンドラインが-infoだった場合「ゲームA V1.00」を出力して終了です。

GameALoader.exe -server ユーザー名

これはGameA.exeの仕様次第で簡単な場合もあるし、難しい場合もあります。 難しい場合でも後述のように簡単にすませる方法がありますので心配しなくても大丈夫です。
GameA.exeをサーバモードで動作するように起動し、起動成功時に「READY」を出力するものとして作成します。 待機状態になるかどうか不明な場合は「READY」は出力しないほうがよいでしょう。作成が難しい場合はGameAをただ起動し、 そこからの操作はユーザーが行うということでも十分機能します。

GameALoader.exe -client ユーザー名 IPアドレス

これもGameA.exeの仕様次第で簡単な場合もあるし、難しい場合もあります。 難しい場合でも後述のように簡単にすませる方法がありますので心配しなくても大丈夫です。
GameA.exeをクライアントモードでIPアドレスに接続されるように起動するものとして作成します。 作成が難しい場合はGameAをただ起動し、そこからの操作はユーザーが行うということでも十分機能します。 IGM2では参加時に主催者のVPNのIPアドレスをコピーバッファにいれます。 ユーザーは手動でゲームプログラムの操作を行う際、接続先のIPアドレスの入力を行うときにそれを利用できるからです。

■ NetPandaLoader C#2010ソースファイル
■ Net5MokuLoader C#2010ソースファイル

← 前ページ「ゲームに参加する場合」
⇒ 次ページ「ユーザー主導の対応」

⇒ トップページ