HTML / JavaScriptベースのゲームを作成するための必須知識[非公開]


17

そこにいる専門家が、最新のHTML標準とJavaScriptでゲームを作成するために必要なもの(またはHTML 5と呼ばれるもの)の知識とリソースを共有できるかどうか疑問に思っていました。プロセスに不可欠なJavaScriptライブラリはありますか?<canvas>タグとは別に、HTMLの他のどの部分に注意する必要がありますか?

回答:


9

オーディオビデオのタグに注意する必要があります。Web Storageは、保存したゲームなどのために大量のデータを保存する必要がある場合に非常に重要です。

すでにいくつかのJavascript html5ゲームフレームワークがありますが、秋葉原はかなり人気があります。

他のライブラリに関しては、JqueryFunctional Javascriptが私のお気に入りの2つです。


各フレームワークの長所は何ですか?最も単純で、最も堅牢で、最もクリーンなコードはどれですか?Functional Javascript -termの「Functional」という言葉はおもしろそうに聞こえますが、実際にはどういう意味ですか?どのフレームワークをpythonistに提案しますか?

Web Storageは、dbができないことを何を提供しますか?
期限切れの忍者

@expiredninjaデータベースは実際には優れていますが、Webストレージはユーザーのマシンにローカルです。ホスティングはなく、ajax呼び出しなどを行うよりも高速です。この答えは、最新のブラウザーベースのゲームで使用されている手法とは(少し)古いものです。
jdeseno

6

すでにいくつかのフレームワークがあります:GameQueryAkihabaraは、アニメーション、スプライトのグループ化、衝突の検出、プレーヤー入力の読み取りなど、ゲーム関連のアクティビティを行うjQueryのプラグインです。


4

より多くのリソースをそこに放り出すために、RaphaelJSをチェックしてください。これは、優れたAPIを備えた非常に優れたSVG描画およびアニメーションライブラリです。デモをチェックアウトすることを忘れないでください。

全体的に、<canvas>ストレートDOM操作よりもタグをお勧めします(たとえば、各スプライトを独自<div>に作成して、ヒットテストを驚くほど簡単にします)。DOM操作が間違っていてパフォーマンスが悪いのは簡単ですが、従来の2D開発戦略はHTMLキャンバスでうまく機能します。


3

そこにあるいくつかのゲーム作成フレームワークに加えて、HTML5 CanvasでSVGベースのアニメーションを表示するためのJSフレームワークであるBurst Engineに注意する必要があります。

http://burst.bocoup.com/

これまで、人々がタグとタグに言及しているのを見てきましたが、JS / HTMLゲーム開発に不可欠な他のDOMのものがあります。たとえば、これは最初のキャンバス要素を取得して設定し、キャンバスをクリックすると、「shootAtClick」と呼ばれる定義済みの関数を呼び出すようにします。

document.getElementsByTagName( "CANVAS")[0] .addEventListener( 'mousedown'、shootAtClick、false);

基本的なマウス制御を受け入れるように秋葉原エンジンを拡張したこの例では、実際の動作を確認できます。(Zを押して開始し、矢印キーを使用して移動し、マウスをクリックしてカーソルの方向に撃ちます。)


3

どのブラウザーでどのHTML5コンポーネントがサポートされているかに関する知識。

時間が経つにつれて、ブラウザ間の互換性は向上し、より均一になりましたが、一部の新しいコンポーネントは完全に同等にサポートされていません。

ローカルストレージにはブラウザ固有の違いがある場合があります。レガシーサポートのためには、jStorageYUI Storage Liteなどのライブラリが必ず必要です。です。

Webソケットにもブラウザ固有の違いがありますが、socket.ioは便利な抽象化を提供する有望なライブラリのように見えます。

オーディオの互換性は、ブラウザごとに異なるサウンドファイルを必要とする非常に主要なコンポーネントです:http : //html5doctor.com/native-audio-in-the-browser/

Chromeには、短いオーディオファイルを再生できないなど、いくつかの重大なオーディオバグがあり、同時に多くのサウンドを再生するとブラウザ全体がクラッシュする可能性があります。

主なことは、必要に応じてライブラリを使用して抽象化してレガシーサポートを提供し、ブラウザの違いを理解することです。


1

HTMLとJavaScriptは正直、ゲーム開発にはかなり悪いプラットフォームですが、ゲームの種類を決定するまでは問題になりません。一人称シューティングゲーム、RTS、またはパズルゲームでは、答えは根本的に異なります。

あいまいで手当たり次第な答えが得られ始めていることに注意してください。これは、特に正当な回答を含む質問をしていないという警告サインです。

アプリケーションを作成するために必要なC ++の内容を尋ねることもできます。場合によります。プロジェクトについて詳しく教えてください。役に立つ答えが得られるかもしれません。

全体として、ほぼすべてのWebゲームが依然としてFlashであるという理由があります。


4
私は質問があいまいであり、その答えはいたるところにあることに同意しますが、「HTMLおよび[JS]はゲーム開発にとって悪いプラットフォームである」ことに同意しません。GoogleのパックマンDoodleを覚えていますか?ストレートHTMLおよびJS。ある種のカジュアルゲームはそのプラットフォームで非常にうまく機能し、Webを使用する人間には既にランタイムが用意されていると思います。(=
drhayes

1
うわー、パックマン。画期的。ハイテクデモ以外のゲームでHTML / JSを使用する人がいない理由があります。
ジョンハウジランド

1
@Edmundito:この「疑問」がどうあるべきかを考えると、CWとしてマークする必要があります。
ジェシードーシー

12
-1価値のない答え。あなたの意見がウェブゲームは良いプラットフォームではないと思うなら、座ってください。なぜこれが非常に多くの賛成票を得たのかはわかりませんが、他の人があなたの意見を共有しているかもしれませんが、この質問への回答にはまったく貢献していません。
リケット

1
みんな、荒れ狂うのをやめる。2010年の答えは、2014年の今日とは大きく異なりました。現在、たくさんのHTMLゲームがあります。
ジョンハウジランド14年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.