※スマートフォンで閲覧する場合は、「PC版サイト」を有効にすると横スクロールせずに読むことができます。
※ここで使う言葉の定義
「完璧に再現」とは、遊んだ人が「同じゲームだ」と感じる体験レベルのことです。
−−−−−−−−−−−−−−−−−−−−−−− こんにちは!
仙台市立長町中学校1年の渡邊瑛太です。
みなさん、Webページを見ますよね? 実は、そのページはある言語で書かれていて、ゲームも作れてしまうんです。 学校のパソコンでゲームを作っているときに 「本格的なゲームも作れるのだろうか?」と思ったので、AIに聞いたことをまとめてみました。
−−−−−−−−−−−−−−−−−−−−−−−
【Webページはどうできているのか】
「日本語」や「英語」があるように、コンピューターで使う言語にも様々な種類があります。
そのなかでも、Webページでは下のような3つの言語が使われます
・HTML:何を置くかを決める。
文字、ボタン、画像などの「部品」を並べる。
・CSS:見た目を決める。
色、大きさ、配置、アニメーションなどを決める。
・JavaScript:動きを作る。
キャラクターが動く、キー操作に反応する、ゲームのルールを計算するなど、実際に「考えて動く」部分。
この3つがそれぞれ役割を分担することで、1つのWebページが動いています。 皆さんにとってもとても身近な言語です。今読んでいる、このページもこれらの言語によって描かれています。
【ゲームでは何がどう働いているのか】
ゲームの場合、JavaScriptが中心になります。
・毎フレーム位置を計算する
・当たったかどうかを判定する
・スコアや状態を管理する
・描画命令を出す
つまり、ブラウザの中で小さなゲーム機を動かしているような状態です。
【これが気になった理由】
学校のChromebookでAIを使ってゲームを作っていると、だんだん飽きてしまうことがありました。
世の中でたくさん売れている、飽きずに長く遊ばれているゲームを作りたいと思いましたが、 それらの多くはC++などの別の言語で作られています。
そこで、「HTMLやJavaScriptといったWeb開発言語では、どこまで本格的なゲームを再現できるのか?」 という疑問が生まれました。
今回は、「学校の端末で動くか」ではなく、「この言語では理論的にどこまでできるか」を考えることにしました。
−−−−−−−−−−−−−−−−−−−−−−−
【◎ 完璧に再現できる】
■ ファミコン
・スーパーマリオブラザーズ
・ゼルダの伝説
■ スーパーファミコン
・スーパーマリオワールド
・クロノ・トリガー
理由:
2D中心でルールがシンプル。
現在のブラウザ性能なら余裕で再現できる。
−−−−−−−−−−−−−−−−−−−−−−−
【○ かなり近くまで再現できる】
■ PlayStation
・ファイナルファンタジーVII
・バイオハザード
■ NINTENDO64
・スーパーマリオ64
・ゼルダの伝説 時のオカリナ
理由:
初期の3Dゲーム。
見た目・操作・ルールはほぼ同じ体験まで再現可能。
−−−−−−−−−−−−−−−−−−−−−−−
【△ 再現はできるが「完璧」は難しい】
■ ゲームキューブ
・スーパーマリオサンシャイン
■ PlayStation 2
・ドラゴンクエストVIII
理由:
3D表現が本格化し、処理量や世界の広さが大きくなるため。
−−−−−−−−−−−−−−−−−−−−−−−
【× 完璧な再現はほぼ無理】
■ Wii / PlayStation 3 以降
・スーパーマリオギャラクシー(Wii)
・The Last of Us(PlayStation 3)
理由:
巨大な3D世界、高度な物理演算、大量のデータが必要になるため。
−−−−−−−−−−−−−−−−−−−−−−−
【まとめ】
Web開発言語で売れたゲームを完璧に再現できるのは2D中心の時代から3D初期(ファミコン〜N64・PS)まで。
それ以降はかなり近い再現はできても、ゲームの規模が大きくなるため、体験すべてを完全にそろえるのは難しくなります。
投稿者 : 仙台市立長町中学校