みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

HTMLでゲームができるってどういうこと?

ずいぶん前からFlashの提供が終わるからとか脆弱性がどうのだとかで、FlashゲームはHTML5に乗り換えるべしみたいな記事や掲示板の書き込みやらをよく見かけました。

ずっと分からないのが、なんでHTML?

え?
HTMLってテキストにマーク付けるだけのものじゃないの?
しょせん装飾した文字ですよね?
Flashみたいにゲームができるって訳わかめってな感じです。

僕もサイトを作ったことはありますし、HTML4は古いからと聞いてHTML5で作りました。
でもHTML5だと宣言する部分だとかヘッダ部分だとか書き方や使えるタグがちょっと違うだけで、やはりHTMLはHTMLで4とはあまり違いが分かりませんでした。

文字に印を付けたら、ブラウザが取り決め通りにその文字を大きくしたり色を付けたりして表示してくれる。
ただそれだけ

それがHTMLだと思ってました。

動的なページにしたければPHPやJavaScriptなどを利用するしかないと。

それが動的などころかゲーム!?

いったいどういうことなんでしょうか?
別途、ゲームのファイルなどを用意しておいて、それを読み込んでゲームさせるって事?
でもそれだと「HTML5でゲームができる」とは言えませんよね?
読み込んでるだけなんですから。

HTML5の書き方などを説明しているサイトを覗いてみても、やはりマークアップの方法しかなくて、ゲームを作る方法なんて載ってませんでした。

HTML5はもうPHPやJavaScriptなどを使わなくても、PHPやJavaScriptを使っているかのような動的なサイトを作ることができると言うことなでしょうか?
さらにFlashのようなゲームまで?

本格的にHTML5を身につけたら、もうPHPやJavaScriptは必要ないんですか?
HTML5とCSSとデータ管理用にMySQL当たりを覚えていれば、普通のサイトからゲームまで何でも作れるんでしょうか?

HTMLでゲームを作れるってどういう仕組みなの?

投稿日時 - 2019-03-25 20:15:00

QNo.9600526

すぐに回答ほしいです

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

この場合の「HTML5でゲーム」と言った場合、2つの意味に分かれます。1つは字義通りに「HTML5のみで作成されたゲーム」で、もう1つは「別途にアブリやJavaクラスをDLしなくとも、webサイトにアクセスするだけでプレイ可能なゲーム」という意味です。

質問者が想起しているのは恐らく後者の場合であり、多少なりともITやHTMLの知識がある人は「HTMLはマークアップ言語」という固定観念が邪魔して「マークアップ言語とプログラムは異なるモノであるからゲーム等は作れるはずが無い」と結論付けてしまいがちですが…最新のHTML5以降のHTMLの機能を最大フル活用すればゲームは作る事が可能です。

"HTML5でゲーム" という字面に思考が引っ張られてしまい盲点となりますが、HTML規格の中には単純なHTMLタグのみだけでは無く、それらを拡張的にサポートする「CSS(スタイルシート)」も含まれます。HTMLのみでゲームを作る場合、このCSSの機能を最大限に引き出してあたかもJavascript等のプログラム演算したかの様な美しいグラフィックや音楽演奏はもちろん、条件分岐も行う事が可能になります。

そもそも初期のCSSはJavascriptと一部の機能が重なっており、IE7くらいまでは意図的にCSS内にJavascriptコードを書き込む事でJavascriptを走らせる事も出来ました(現在はセキュリティ的に禁止されそれぞれ完全に独立した別系統にハードコーディングされ直されてる)。そのためCSSの中にはJavascript的な雰囲気と機能を残すモノが未だ数多く残され、また新規に追加され続けています。

例えば、 :hover や :active などは事実上のJavascriptの mouseOver() や onClick() と同等の効果を発揮します。これらを1つずつ多重に組み合わせて擬似的にJavascript等のプラグラマブルな機能を再現します。またCSS3にはアニメーションと呼ばれる画像を含めたブラウザ上での画面書き換えを瞬間的に行うのでは無く、意図的に遅らせたり指定したアニメーション効果を付与させながら表示させる機能が追加されてますので、これらを組み合わせる事によりかなり複雑で高度な動きするアクションゲームの動きを再現する事が可能です。

- CSS3 OF THE DEAD http://jsdo.it/blogparts/onyd

これはHTML5でサポート出来る様になったCSS3の力が大きく、それ以前のCSS2までではさすがにゲームを作る所までの表現力はありませんでした。今後もHTMLは進化し続けさらに高機能なHTML5.2が既にW3Cから発表されています。CSS3もやがてCSS4に進化し、さらにグラフィカルで動的なwebページを簡単に作成出来る様になるでしょう。

P.S.
…という訳で「HTML5(とCSS3)だけでゲームを作る」事は可能です。可能ですが…まあ普通はやらないというか、要するにそれって「人力飛行機で琵琶湖横断する」ようなモノで、完全に自己満足の世界に過ぎず、或いは大道芸?

単純にゲーム作成だけが目的であれば普通にJavascriptやPHP、或いはC++等のまともなプログラム言語を使った方が圧倒的に簡単かつ高機能で表現に制限無く自由にゲームが作れるので。まあ何かの "腕試し" とかでなければ普通はやりませんね(笑)。

投稿日時 - 2019-03-25 21:33:19

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

閲覧者がFlashのようなプラグインをわざわざ入れる必要がなく
HTML5対応のブラウザだけで、ゲームが動くというのが
その記事が言いたいことであって、
HTML5のマークアップ用のタグだけで ゲームをプログラミング
できるという意味ではないでしょう。

CSSのアニメーション機能でも多少は動きの指定はできますが、
ゲームということになると、HTML5の<canvas>タグの 画像表示領域に対して
JavaScriptで画像を動かしたり、音を出したりということになるでしょう。
サーバーとオンライン通信があるのなら、サーバー側のプログラムももちろん必要です。

ちなみに、動画再生に関しても、Flashのプレーヤーを使わないで、
HTML5の<video>タグが使わることが多いようです。

投稿日時 - 2019-03-26 17:21:43

ANo.2

「HTML 5」という言葉の定義次第です。
「HTML 5」にはJavaScriptやCSSを含んだブラウザサイドの総合的な規格を指す場合と、純粋なマークアップ言語としてのHTML部分だけを指す場合があるので、JavaScriptなどを含んだ総合的な規格の事を言っているのであれば高度なグラフィック処理も可能なのでゲームを作る事も可能です。

投稿日時 - 2019-03-25 22:57:30

あなたにオススメの質問