1209263859 オンラインゲームを制作する言語の選択に困っています。「F1ドライバーズライフ2004」という、シンプルなテキストベースのF1ゲームです。このゲームはWindows上のHSP2で書かれており、ソースも公開されています。これをOSに依存せず、ブラウザで簡単に遊べるものにしたいのです。http://www.vector.co.jp/soft/win95/game/se318737.html 試しにPHP5の勉強を始めてみましたが、果たして本当に最適な選択なのか、自信がありません。当方、基本的にN88日本語BASIC→Quick BASICと遊んでいたロートルで、現在のプログラミング言語については初心者ですが、勉強は厭いません。この言語がいいよ、このゲームに似ているから同じ言語がいいんじゃない?など、ご示唆いただければと思います。m(_ _)m

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:2008/04/27 17:06:25
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:pahoo No.2

回答回数5960ベストアンサー獲得回数633

ポイント30pt

ブラウザで遊べるようにしたいというのが第一目的ですね。


PHPやRubyなどの言語はサーバサイド・スクリプトと呼ばれている通り、入出力はクライアント(ブラウザ)で行うものの、プログラム本体はサーバ側で動かすのが基本スタイルです。もしクライアント単体で動かそうとすると、HTTPサーバやPHPモジュールを導入しなければならないので、ユーザー(ゲーマー)にとっては、インストールの敷居が高いと思います。

Java,JSPについても同様です。


実際のゲーム・プログラムを解析していないので確信はありませんが、画面の見た目から推測すると、JavaScript に移植するのが良いのではないでしょうか。

JavaScriptには OS やブラウザに依存するオブジェクトもあるので、こうしたローカル要素を排除することを学ぶことで Ajax のトレーニングにもなります。その意味でも、ちょうど良い言語だと思います。

id:quzy

ご回答、ありがとうございます。当方、さくらインターネットのレンタルサーバを借りているので、そこにプログラムを置いておいて、皆さんがブラウザでアクセスして遊ぶ、というかたちを考えています。m(_ _)m

ただ、id:pahooさんのご指摘は、スタンドアロンで遊べるブラウザゲームの場合、JavaScriptで全部組めるよ!というご指摘は、興味深いです。その発想はありませんでした。シンプルに組むに越したことはありません。1番目のid:umlさんのご回答にもありましたが、私はJavaScriptのポテンシャルを低く見積もりすぎているのかもしれません。

お二人のご回答から考えると、私が当初考えていたような形を実現するなら、サーバサイドで動作する(ゲーム内部を制御する言語)と、クライアントサイドで動作する(インタフェイスを制御する言語)の、二つに分けて構造を考える必要ある、ということになりますか。うーむ……。

2008/04/27 12:26:01

その他の回答3件)

id:uml No.1

回答回数97ベストアンサー獲得回数2

ポイント30pt

テキストとボタンくらいしか使用していないので、JavaScript+サーバー側の言語(PHP,Ruby,Perl,…)でいいと思います。

後、もしネットなどで公開する場合は作者の方に相談して許諾をもらった方がいいでしょう。

http://q.hatena.ne.jp/answer

id:quzy

ご回答ありがとうございます! JavaScriptはまったく思いつきませんでした。JavaScriptとHTMLでブラウザのインタフェイスを制御し、変数の入出力をしつつ、データは言語でサーバとやりとりする……というイメージでしょうか……? あと、許諾について重要なご指摘。確かに作者の方がreadmeで要連絡と書かれているので、こちらの人力検索でメドがつき次第、相談の連絡をさせていただきます。

2008/04/27 12:18:21
id:pahoo No.2

回答回数5960ベストアンサー獲得回数633ここでベストアンサー

ポイント30pt

ブラウザで遊べるようにしたいというのが第一目的ですね。


PHPやRubyなどの言語はサーバサイド・スクリプトと呼ばれている通り、入出力はクライアント(ブラウザ)で行うものの、プログラム本体はサーバ側で動かすのが基本スタイルです。もしクライアント単体で動かそうとすると、HTTPサーバやPHPモジュールを導入しなければならないので、ユーザー(ゲーマー)にとっては、インストールの敷居が高いと思います。

Java,JSPについても同様です。


実際のゲーム・プログラムを解析していないので確信はありませんが、画面の見た目から推測すると、JavaScript に移植するのが良いのではないでしょうか。

JavaScriptには OS やブラウザに依存するオブジェクトもあるので、こうしたローカル要素を排除することを学ぶことで Ajax のトレーニングにもなります。その意味でも、ちょうど良い言語だと思います。

id:quzy

ご回答、ありがとうございます。当方、さくらインターネットのレンタルサーバを借りているので、そこにプログラムを置いておいて、皆さんがブラウザでアクセスして遊ぶ、というかたちを考えています。m(_ _)m

ただ、id:pahooさんのご指摘は、スタンドアロンで遊べるブラウザゲームの場合、JavaScriptで全部組めるよ!というご指摘は、興味深いです。その発想はありませんでした。シンプルに組むに越したことはありません。1番目のid:umlさんのご回答にもありましたが、私はJavaScriptのポテンシャルを低く見積もりすぎているのかもしれません。

お二人のご回答から考えると、私が当初考えていたような形を実現するなら、サーバサイドで動作する(ゲーム内部を制御する言語)と、クライアントサイドで動作する(インタフェイスを制御する言語)の、二つに分けて構造を考える必要ある、ということになりますか。うーむ……。

2008/04/27 12:26:01
id:popattack No.3

回答回数214ベストアンサー獲得回数4

ポイント30pt

私もJavaScriptで良いかと思います。世の中JavaScriptでできることは沢山あります。

例えばマリオ。これはJavascriptで書かれています。

http://www.nihilogic.dk/labs/mario/mario_small_nomusic.htm

テトリス

http://zapanet.info/blog/item/1125

id:quzy

id:popattackさん、スーパーマリオ、ビックリしました……本当に、JavaScriptだけで動いているのですか?? どのような形態のゲームを作るにせよ、JavaScriptは避けて通れないみたいですね。

2008/04/27 15:28:18
id:itss No.4

回答回数171ベストアンサー獲得回数1

ポイント5pt

Hi,

JavaAplet

http://q.hatena.ne.jp/answer

id:quzy

簡潔なご回答ありがとうございます(^^;

Javaアプレットは、昔々(NN4とかの時代)、ブラウザでその起動に1分ぐらい待たされていた時代があり、かなりいらいらしたので、あまり良い印象がないのですけど……これも時代は変わったのでしょうか。JavaScriptとはまったく異なりはするけど、次の本格派を目指す一手、という感じになりますか。http://www.dmljp.com/main/yogo/javaaplet.html

2008/04/27 12:55:36
  • id:taknt
    VBスクリプトが使えれば、そんなに勉強はいらないかもね。
  • id:pahoo
    > そこにプログラムを置いておいて、皆さんがブラウザでアクセスして遊ぶ

    頻繁にサーバサイドにアクセスをするのは、どうしても応答性が悪いので(今回のゲームは応答の速さを求めないものかもしれませんが)、ゲーム中の画面とロジックは JavaScript で書いて、クライアントサイドに任せた方が良いと思います。
    ゲーム開始時にロードするゲームシナリオ(のようなもの)や、ゲーム終了後に登録するスコアのようなものは、サーバサイドで処理した方が良いですね。JavaScriptとサーバサイド・スクリプトのデータ交換をXMLでやれば、立派なAjaxプログラムのできあがり(笑顔)。
  • id:quzy
    コメントもありがとうございます! このゲームのソースもたいへんシンプルで、HSPを知らない私が読んでも一読してどのように流れているか理解できるものでした。まずはJavaScriptへ移植を試みて、その後、サーバと連携していくようなものへ発展させていくのがいいかな、と、みなさんの意見を読んで考えているところです。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません