質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.33%

ブラウザ上で動作する多人数交流型のゲームを作るためには

解決済

回答 3

投稿

  • 評価
  • クリップ 0
  • VIEW 680

kgma

score 1

前提・実現したいこと

基本的には題名の通りです。
私は4月になって初めてプログラミングに手を付けた程度の初心者ですが、学ぶなら意欲のためにも自分が現在一番やりたいことに向けて励みたいと思い、ゲーム制作を志しています。
その中でもチャットや掲示板と言った要素を内包したゲーム…他プレイヤーとの交流が可能なゲームの作成について調べているのが現状です。
こう言っただけではどんなものかわかられないかもしれないので例を出すと、てぃーこんタワムレガキBlindJustice こういったゲームのような方向性を目指しています。

試したこと

先程挙げたゲームはおそらくはPerlで書かれたCGIで動作している、と言う所まではわかって、ならばPerlをまず勉強してみよう…と思いました。が、図書館(新しいものから古いものまで結構な数のプログラミングの本が揃っている…はずです)に行ってもPerlやCGIの本は殆ど無く、あっても1998~2002年頃に発刊されたものぐらいでした。近所の書店も大体似たような状況です。
もしや今はこれらに代わるより主流なものがあるのでは…と思い調べてみたもののよくわからず、このサイトを見つけ質問に踏み切った次第です。

結局お聞きしたいこと

・Perlで書かれたCGIと同様のことが、今は他の方法でより簡易的に出来るのでしょうかということ
・題名のようなゲームを作るのに適したプログラミング言語
・他何かあれば何でも

補足情報

ここの皆様からすると初歩の初歩な質問もいいところかもしれないので、場違いであったら申し訳ありません…。
説明に不十分な点があれば追記致しますので、どうかよろしくお願い致します。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 3

checkベストアンサー

+1

ナウい方法はよくわかりませんが、いくつか私のわかる範囲で。

「Perl で CGI」というのは先の「ナウい」と同じくらい、昭和の香りのする用語です。今から WEB アプリを勉強するなら存在を忘れていい用語です。
一応補足しますと、CGI は (SSI とともに)、条件によって違う HTML を返す、というサーバ側で動的ページを出力するごく初期からある方式です。WEB における「動き」という面では、今言った「サーバサイド」での処理のほかに、ブラウザに送られてきたスクリプト(プログラム)をブラウザ上で動かす「クライアントサイド」の処理があります。当初から JavaScript がありましたが、まあ、「ダサい」ものの代名詞になるくらい毛嫌いされる傾向にありました。言語処理系の問題もありましたが、ろくでもない使い方をする例が多かったからでしょう。

さて、CGI は必要に応じて WEB サーバが外部プロセスを起動し、その結果を HTML として受け取ってクライアントに返す、というものでした。単純にいれば、プロセスを新たに起こす必要があるし、遅いわけです。今は WEB サーバ自体にスクリプト言語処理系を組み込んだものか、常時起動している WEB アプリサーバとサーバ間通信する、などして、新たなプロセスを起こす必要がなくなっています。あえて CGI を選択するメリットはありません。

スクリプト言語としては、Perl も 10 年くらい前まではまだ一部コアなファンがいて、「それPla」とか Catalyst、MovableType とか賑わっていた感がありますが、WEB アプリ用の言語としてはもうオワコンかな、という気がします。
じゃあ、何を選択すればいいか、というと、PHP が無難なんだろうと思います。私自身は二度と書きたくない言語ではありますが、情報の多さ、初心者の取り組みやすさ、開発環境の作りやすさ、それなりのパフォーマンス、という点では、まあ無難かと思います。他の言語もいろいろありますが、WEB アプリを学ぶ第一歩としては PHP かな、と。

ここまでの「サーバサイド」の話をまとめると、CGI と Perl は忘れてください。とりあえず PHP が無難ですかね、ということです。

また、ゲームなどを作るのであれば「クライアントサイド」の技術も重要です。使われるのは JavaScript です。処理系の標準化が進み、ハードウェアの進歩もあってパフォーマンスが上がり、ライブラリやフレームワークも充実し、かつての悪名とは打って変わって、今や花形の言語と言えると思います。

あと、多人数で「リアルタイムに」交流するような仕組みを作りたいのであれば、Ajax も押さえておいたほうがいいでしょう。WEB アプリにリアルタイム性を与える通信技術には他にもいろいろあるのですが、WEB 初心者が取り組むには Ajax が無難かと思います。

ということでまとめると、「サーバサイドは PHP かな。最初はフレームワークなしで書いてもいいかな、と思いますが、規模が大きくなってきたらフレームワークの導入を検討して(最初からフレームワーク使ってもいいですけど)」「クライアントサイドは JavaScript。こっちは何らかのライブラリ、フレームワークを使うといいでしょう。特に Ajax 周りは素の JavaScript で書くときついので」「HTML5 や CSS3 も勉強するといいよね」かな、と思います(最後、説明していない HTML5 と CSS3 が出てきましたが)。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/04/27 19:57

    まだにっちもさっちもわからぬ身ではありますが、明解な説明により大体理解することが出来ました。
    参考にして頑張っていこうと思います。ありがとうございました!

    キャンセル

  • 2016/04/27 21:06

    お役に立てたようでなによりです。
    ちなみに、「にっちもさっちもいかない」と「右も左もわからない」という表現はありますが、「にっちもさっちもわからない」という表現は正しくありませんので、念のため。

    キャンセル

0

こんばんわ。
僕の可能な範囲で質問にお答えします。

・Perlで書かれたCGIと同様のことが、今は他の方法でより簡易的に出来るのでしょうか

webで動作し、かつ例に挙がっているようなゲームを簡単に構築できるような言語や処理系については
聞いたことがありません。perlで作成するにせよ、他の言語で作成するにせよ、作りこみが必要になると
思われます。

・題名のようなゲームを作るのに適したプログラミング言語

PHPはどうでしょう?
webで動作しますし、プログラミングが初めてな方にも習得しやすいと考えます。

・他何かあれば何でも

まずは何か掲示板やチャットを作ってみてはいかがでしょう?
その過程でプログラミングの知識も少しずつ身についてくるのではないでしょうか。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/04/27 19:41

    PHPで掲示板を作るのをとりあえずの目標にしてみます。ありがとうございました!

    キャンセル

0

JavaScriptでフルスクラッチゲーム開発しよう 第1回 準備編

などはどうでしょうか?
第4回まで投稿があるようです。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/04/27 19:28

    参考にしてみます、ありがとうございました!

    キャンセル

同じタグがついた質問を見る