• ベストアンサー

オンライン対戦ゲームのサーバープログラムをPerlで作りたい

現在flashの勉強を始めた者です。 flashを使ってゲームを作りたいと思っています。 オンラインの対戦ゲーム(1:1のもの)を作りたいのですが、 サーバー側はどのようにしたら良いのかよく分からないので ご教授頂ければと思います。 サーバー側は出来ればperlでサーバープログラムが出来ればいいなと思っていますが、perlでも可能でしょうか? 今までperlでファイルを読み取り計算したり正規表現を使ってりすることは出来ます。 しかし、ネットワーク上でデータを直接やりとりすることをしたことがありません。 質問をまとめますと Perlでサーバー側のプログラムを作ることは可能でしょうか?(C++でなくても大丈夫か) また、開発する上でのヒントなどありましたらお願いします。

  • Perl
  • 回答数3
  • ありがとう数6

質問者が選んだベストアンサー

  • ベストアンサー
  • zebedeer
  • ベストアンサー率66% (80/121)
回答No.3

>格闘対戦物をフラッシュで作るとすれば、 >サーバー側のプログラムはPerlで作れますか? 可能です。 (Perlが適しているかどうかは微妙ですが) 確かdaemon用のmoduleがcpanにあったので、 その辺も当たってみると楽できるかもしれません。 ちなみに、threadを使うならPerlのバージョンに気をつけましょう。 (最近のバージョンでも結構変わってるらしいので) 参考になるものとしてはperlで書かれたhttpdなんていいかも。 (新月とか。pure perlのp2p softを解説した本とかもあったな)

参考URL:
http://x68000.q-e-d.net/~68user/net/
tukikageran
質問者

お礼

ありがとうございます。 参考URL大変参考になります。 このページを見ながら勉強しようと思います。 ありがとうございました。

その他の回答 (2)

回答No.2

たとえば以下のサイトにはPerlで作った対戦型の将棋があります。一度参考にしてみて下さい。

参考URL:
http://www.yo.rim.or.jp/~m_masa/
tukikageran
質問者

お礼

ご回答ありがとうございます。 すいません、私の質問の仕方が悪かったようで誤解させてしまったようです。 正確には「リアルタイムで対戦するサーバー側のプログラム」です。 なのでCGIを経由して一定時間ごとにリロードするというものではなく、Perlが直接データをプレイヤーとやりとりするような物を作りたいのです。 例をあげれば格闘対戦物をフラッシュで作るとすれば、サーバー側のプログラムはPerlで作れますか?ということになるでしょうか。 すみませんが、もしこの質問でもおわかりいただけるようでしたらご回答いただければと思います。

回答No.1

>サーバー側は出来ればperlでサーバープログラムが出来ればいいなと思っていますが、 >perlでも可能でしょうか? 不可能と言うことはありません。 他の言語(c,c++等々)に比べ不利なのは、実行速度についてです。(インタプリタ故に・・) なので、サーバサイドのプログラムに要求する機能が、ひたすら”計算しまくる”だと 可能/不可能というより、向き/不向きの点で、考える余地があるかもしれません。 ネットワークに関するプログラミングについては、cで書くときと、ほとんど変わらないので、 perlが良い、cが良い、という比較は余り意味がありません。(ほぼ一緒です)

tukikageran
質問者

お礼

ご回答ありがとうございます。 Perlでも可能ということですね。 ただどのような命令などをつかえばそれが可能になるのかわかりません。 参考になる書籍やHPなどありましたら教えて頂けませんでしょうか?

関連するQ&A

  • 自作サーバーでできるオンラインゲーム

    自作サーバーでできるオンラインゲームを 探しています。 自作サーバーで知っている友人だけで 対戦ができるようなゲームを探しています。 アンリアルってゲームをやっているのですが 他にないかなって思って質問しました。 何か面白いゲームありましたら 教えて下さい。

  • PS3のオンライン対戦について

    はじめまして PS3のオンライン対戦を始めているのですが 海外のゲーム(MLB 07 THE SHOWというゲーム)をしています アメリカ人と対戦することになりますが 頻繁に回線エラーになり接続できません。 これは私側の問題でしょうか? 回線の問題は色々考えられますが、PCなどは回線トラブルはありませんので、やはり、相手国のサーバーの問題でしょうか? もし分かられる方いましたらアドバイスお願いします

  • オンライン対戦

    ゲームソフトなのか、本体なのかちょとわからなかったのですが ここに質問させて頂きます。 オンライン対戦で野球ゲームをやっているんですが その野球ゲームでは自分から相手に対戦を申し込んだりする事が 出来るのですが、相手に申し込みをすると なぜか相手側で申し込みが受けられません…。 相手から対戦を申し込まれた場合、挑戦は受けれるのですが…。 似たような事があった人、もしくは解決するやり方を 知っている方よければ教えて下さい。お願いします。

  • PSvitaでオンライン対戦できるソフト

    存在しますか? vitaにまでなると余裕でオンライン対戦できると思っていたのにできる内容としては 自己紹介カード交換みたいな事ばっかりです。 PCのオンラインゲームみたいにwifiで全国の人と対戦できるゲームはありませんか? もしくは開発される予定はありますでしょうか? ラグナロクオデッセイってゲームはそういう風に開発してるって聞きましたが

  • ブラウザゲームのクライアント側プログラムについて

    ブラウザゲームの作成を考えているのですが、 クライアント側プログラムの選択で迷っています。 Flash,Java,Silverlightなどのそれぞれのメリット・デメリットを教えて頂きたいです。 (開発効率・コスト・習得の容易さ などなど) ちなみにサーバ側はPHPで組もうと思っています。 ゲーム内容はシミュレーションRPGのようにシナリオを進め、育てたキャラで 他のプレイヤーとも対戦できるようなものを考えています。 識者の皆様、ご回答頂けると助かります。 宜しくお願い致します。

  • 対戦型オンラインゲームの仕組み

    最近、steamを使ったLost Planetというゲームをやっているのですが、このようなTPSやFPSの対戦型オンラインゲームの仕組みがよくわかりません。これらはゲームを始めるときどこかにあるそのゲーム用のサーバーに接続して、それを介して相手と繋がっているのでしょうか? もしそうであれば相手にIPなどを知られることはないのでしょうか? また、よく耳にするpingとはどういうものなんでしょう?調べてみると接続を確認するツールのようですが、これはどうゲームに生かすのでしょうか?

  • PS3とXbox360でオンライン対戦

    Xbox360とPS3で同じゲームならオンライン対戦などは可能なのでしょうか? やはりサーバーが違っていてできないものなのでしょうか・・・? やってみたいゲームはアーマードコア4です、よろしくお願いします。

  • 友人とオンライン対戦できるゲームを作りたい

    将棋や軍人将棋のようなゲームを作って友人と対戦したいと思っています。 こういった事に無料で使えるよいサービスは無いでしょうか? 自分でサーバーを立てるのは、セキュリティやコストの問題があるので出来れば避けたいです。 プログラム言語は勉強も兼ねて何でも良いと思っています。

  • オンラインゲームの対戦でポートを開放?

    質問する側が全然わかってないんですが、オンラインゲームの対戦をするのにポートを開放する必要が出てきました。 そのやり方がさっぱりわかりません。 そのQ&Aがこれ ↓↓↓↓ Q: IP/LAN対戦するとき空けるポートは? A: "2300-2310" "12975" "28800-28815" TCP/UDP ルータの種類はAtermBR1500Hです。 ネットでいろいろ調べてもやり方が出てなかったのでよろしくお願いします。

  • ソケット通信において、サーバからクライアントに任意のタイミングでデータを送る方法

    ソケット通信において、接続されているクライアントに対しサーバ側から任意のタイミングでデータ送るにはどんな方法があるか教えてください。 例えば1分ごとに、接続されているクライアント全体にメッセージを送りたい、といった場合にどうすればよいでしょうか。 ちなみに対戦ゲームのようなものを作ろうと思っています。 クライアントはFlash、サーバはperlで開発しています。 クライアントからのデータに応じて何かを返すところまではできたのですが、サーバ側をトリガーとしてデータを送る手段がわからなかったので質問しました。 よろしくお願いいたします。

    • ベストアンサー
    • Perl