ホームページ >ウェブフロントエンド >jsチュートリアル >JSおよびHTMLGAMING:Angry BirdsからZX Spectrumまで
キーポイント
こんにちは、ロブ。開発の背景を教えてください。
私は約13年間ネットワーク開発の分野で働いてきました。 HTMLとCSSについて少し学びました。ウェブデザインにもっと興味がありましたが、サーバーサイドの開発で非常に強力なことができることを知ったときにPHPに目を向けました。フォームの作成方法を知ったら、このデータにアクセスする方法を考えましたか?誰もがフォームからPHPを学びます...はい!どこかにデータを送信できるのは本当にクールです。その後、私は業界で働き、主にフロントエンド開発に従事し、数年間働きました。私はメディアに興味を持ち、JavaScriptを掘り下げ始めました。それ以来、私はウェブサイトを作ることにそれほど情熱を傾けていないのではなく、テクノロジーを学び、それを自分の限界に押し上げることにもっと情熱を傾けていることに気付きました。私はいつもゲームメーカーに非常に興味を持っていて、それがどのように機能するかを学ぶために何かをするために何かを取りたいので、大学では多くのHTML5の仕事、特にキャンバスをしました。
初期にキャンバスをいじり始めたに違いありませんよね?
実際、キャンバスは私が始める前に存在していました。 Appleはそれを使用してダッシュボードウィジェットを作成しました。それは常にWebKitにありますが、他のブラウザでは実際に安定することはありません。少なくとも楽しいことはありませんでした。誰もそれで何もしていません。しかし、キャンバスに出会ったとき、本当にクールだと思いました。私は良い時期に始めました - 当時それに関する本はほとんどありませんでしたが、それはまた多くの機会をもたらしました。私はそれを深く掘り下げている数少ない人々の一人です。さらに、JavaScript APIの実験にも参加しました。私はデザイナーでも開発者でもないと思います。視覚的なプログラミングが大好きです。ゲームメイキングやキャンバスのようなものは、ハードコア開発と本当に直感的なインターフェイスエクスペリエンスを組み合わせることができるため、完璧です。それが私がMozillaで取り組んでいるものです。
HTML5/JavaScriptゲームに興味を持ったきっかけは何ですか?あなたはゲームファンですか?
私は人生にゲームを持っています - 私はZXスペクトル、ゲームコンソールを持っています...
すごい!あなたはZX Spectrumのファンですか?
私の父はコンピューターがあまり好きではありませんが、何らかの理由で彼はそれを買うことは良い考えだと思っています。しかし、私はテープを挿入した後にゲームが登場したという考えに深く惹かれました!つまり、私はまだ非常に若かったのですが、まだ覚えています。「アヒルとの戦い」、そしてそれらすべてのクレイジーなゲームです。それから私がPCゲームのプレイを始めたとき、私の生産性は長い間低下しました!しかし、ゲームはいつも私にとって楽しいものでした。 FlashやJavaScriptのようなテクノロジーは、それがとてもクールだったので、今ゲームを作ることができることに気づきました。その後、ゲームの作成を開始すると、可能性のまったく新しい領域が開きます。それは私が最初にウェブサイトを作ったときに感じた気持ちのようなものです - 私はそれを作成しました!ゲーム開発で学ぶことができる多くの異なる手法(インプット、視覚的なグラフィックス、サウンド)があり、標準的なWebサイトを構築する際に常にそのエクスペリエンスを得るとは限りません。ゲームでは、常に物事を限界までプッシュします。
では、HTML5/JavaScriptゲーム開発に興味がある場合、最初に何を学ぶべきか、どの方向を開発する必要がありますか?
マスターJavaScript;ただし、JavaScriptに満足したら、Canvas APIなどのグラフィックスAPIをご覧ください。キャンバスは非常に良いAPIです。それに出くわすまで、画像を作成せずにブラウザに何かを描く方法が本当にわかりません。オーディオAPIをチェックアウトすることもできます。 HTML5のマルチメディア機能は非常に興味深いです。いくつかのゲームエンジンをチェックしてください。必ずしもそれらをゼロから学ぶ必要はないかもしれませんが、基本を完全に理解することなく迅速に開始できるゲームエンジンがたくさんあります。たとえば、crafty、私はそれがオーストラリアのエンジンであり、無料だと思います。次に、99ドルの価格の非常に優れたエンジンがあり、Impactと呼ばれます。非常によく文書化されたドキュメントを備えた非常に優れたゲームエンジンです。 JavaScriptでゲームを作成したいが、必ずしも実装の詳細を深く掘り下げたくない場合は、これらのエンジンは素晴らしい出発点です。ゲーム開発のインとアウトを本当に詳しく見たい場合は、JavaScriptのループを最適化できるRequestAnimationFrameなどのツールを使用してアニメーションする方法を学びます。画面の周りに正方形の動きをするなど、Canvas APIと組み合わせると、キーボードを使用してそこから入力するのは難しい作業ではありません。そこから、どこにでもそれを取ることができます。
それで、基本的なJavaScriptをよく理解する必要があるようです。
はい。つまり、jQueryのようなゲームライブラリがいくつかあります。craftyやImpactのようなエンジンはそのようなものです。しかし、それらはjQueryほど抽象的ではありません。もっと複雑なことをしたい場合は、JavaScriptを書く必要があります。しかし、画像をスプライトとして紹介したり、動き回ったりするなど、基本的なアニメーションをやりたいだけなら、それをcraftyで行うことができます。問題は、舞台裏で何が起こっているのかを完全に理解していないことです。 Webの外では、ゲームを作成したい場合は、複雑なアニメーションと物理的効果を処理する方法を抽象化するため、FlashまたはUnityを使用できます。しかし、私にとって、JavaScriptを理解するということは、ゲームをゼロから作成できることを意味します。はい、それは難しい場合があり、しばらく時間がかかる場合がありますが、長期的には価値があります。少なくともループ、配列、オブジェクトなどの基本を理解できる場合は、物事をさらに動かしたいときに本当に感謝します。
HTML5とJavaScriptは、戦略ゲーム、プラットフォームゲーム、ポンのような古いゲームの復活など、レトロゲームの爆発につながったようです。より複雑でインタラクティブなプロジェクトなど、他の方向に進むと思いますか?
この点で、レトロゲームはクールです。 HTML5ゲームはかなりシンプルな段階にあるため、レトロゲームは完璧です。主に2Dでは多くの能力を必要とせず、簡単に作成できます。フラッシュゲームが人気があった場合も同じことが言えます。開発者がJavaScriptを使用して、より没入感のある体験を作成することを妨げるものはありません。 WebGLの使用方法を確認し始めています。多くの人々は、ハードウェアアクセラレーションなどのテクノロジーを使用して、iOS(3Dゲームでさえも)で見られるゲームに近いゲームを作成し始めています。 「Pong」は素晴らしいですが、「Angry Birds」でさえあまり多くのテクノロジーを押しません。誰かがWebGLでQuake4を作成するのを見てきましたが、スムーズに実行されます。 Webを最新のゲームのプラットフォームとして確立するのに役立つこれらのゲームをもっと見る必要があります。これで、実際のゲームを作成するために必要なテクノロジーと機能があります。そして、私が実際のゲームで意味するのは、PCゲームで見ることができるゲームです。私たちは、企業や開発者がこの方向に動いているのを見始めています。インターネット用に構築されたオンラインゲームを作成する必要があります。現在、インタラクティブゲームのリバイバルが見られますが、Web専用に作成されたゲームはあまり多くありません。デバイスの制限を実現しながら、ネットワークを利用するゲームをもっと見たいと思っています。両方のプラットフォームで同じゲームを作成できるからといって、まったく同じである必要があるわけではありません。ネットワークには独立したゲームプラットフォームになるチャンスがあると思います。標準的なゲームを配置する別の場所ではなく、ユニークな目標です。ゲーム開発者がこれを把握したら、本当に興味深いものがあると思います。現在、Web上のゲームは実際に他のプラットフォームをコピーしているだけです。ゲームはかなり静的であり、ソーシャル機能や他のAPIに接続する能力など、Webが提供するものは実際には使用していません。これらはすべてWebに固有のものであり、Webサイトで使用していますが、ゲームで使用するとどうなりますか?
ブラウザゲームで多くの開発者がしていることは、しばしば過去を掘り下げることを伴いますが、それは必ずしも悪いことではありませんが、概念やアイデアの拡張を見ることができますか?
それは私の夢になるでしょう。今、私たちはゲームプラットフォームとしてのHTMLとWebにとって不公平だと思います。たとえば、以前のプラットフォームと比較してください。iOSからゲームを移植しています。成功したので、私たちはそれを持ち越しました。これは不公平です。もちろん、ネイティブプラットフォームの方が優れています。タッチコントロール、プログラミング言語、テクノロジーのために構築されています。ネットワークは、以前に行ってきたことに制限することで、ネットワークを独立して成長させることはありません。ネットワークのパワーを解き放ち、通常プレイするゲームほど限定的ではない何かを試すことができます。たとえば、ゲームはブラウザの小さなボックスに含まれていることがわかります。ゲームがウェブサイトの一部として小さなボックスに表示されなければならない理由はありません。 Twitterでゲームをプレイできない理由はありません。人々が徐々にオンラインゲームのアイデアを受け入れると、多くの新しいゲームが来ることを願っています。 JavaScript APIは、ネットワーク用に構築されています。これは非常に基本的なテクノロジーであり、Webソケット接続と一部のイベントを確立します。リアルタイムでメッセージを送信して受信できます。
これらのアイデアをどのように市場に見合うのですか?
これは、モジラで解決しようとしている問題の1つです。これは、ゲーム開発者からもよくある問題の1つです。すべてが開いています。したがって、ここで解決する必要がある2つの問題があります。最初:オープンテクノロジーを使用することが良いアイデアであることを人々にどのように納得させますか?この問題は簡単に解決できると思います。なぜなら、ゲームが盗まれていることを心配しているなら、ネットワークがあなたのためであるとは思わないからです。 HTMLでゲームを作成できるからといって、ゲームに最適なプラットフォームであるわけではありません。また、コードを縮小するなど、これらの問題を軽減する方法があります。これらの方法は、開発者がすでに多くの時間を費やしているコードを公開することでもう少し快適に感じるのに役立ちます。 2番目の質問はマーケティングです。ゲームをどのように販売しますか?生計を立てることができない場合は、少なくとも会社として、ゲームをすることは意味がありません。道を行くことができ、お金を使わない場合は、人々がゲームに入るのを止めることを心配する必要はありませんが、寄付モードを使用できます。一方、ゲームにお金を払わずに本当にオフにしたい場合は、それを行うことができます。 MozillaでOpen WebアプリケーションAPIを開発しています。これにより、Game Developer Serverで検証する必要がある領収書を提供できます。私たちは、人々がソースコードを表示するのを止めるのではなく、コードの開放性を受け入れる方法を探しています。そうでない場合、あなたは完全な経験を得ることができません。これは魔法の丸薬ではありません。彼らがすでに支払った選手だけであれば、彼らがそれを取ることを止めて、すべてのソースコードを取得したら、人々がネットワークテクノロジーで行うことをすることを止める方法はありません。私は、インターネット上のゲームが他の場所でのゲームよりも盗まれないことを強く疑っています。海賊版ゲームは、ソースコードを取得するよりもはるかに複雑です。サーバー側のコンポーネントがある場合は、保護があり、領収書システムが作用できる場所です。誰かがあなたのサーバーにアクセスしない限り、ゲームをプレイできないことを知っている場合は、エクスペリエンスを制御できます。フロントエンドコードを盗むと、サーバー側のコードを取得できないためゲームを再生できません。サーバーに入ることができれば、別の問題があります。オンラインでゲームを収益化することにまったく問題はないと思います。現時点では、まだ大成功を収めていないことです。それは最初に鶏肉や卵の問題です - 人々は成功を待っています、そして、人々が待っているので成功は来ていません。誰かが前に出てそれを試してみる必要があります。そして、それはインターネットなので、以前のようにゲームを販売する必要はありません。ゲーム内での支払いからお金を稼ぐことができるかもしれません。そのため、無料のゲーム体験をすることができますが、ゲームで人々が経験すること、レベルのプレイヤーが到達する、持っているアーマー、エネルギーが獲得することができます。何が可能かを完全に理解したら、特にEAのような大企業が参加した後、それを収益化する方法を見つけました - 誰かがお金を稼ぐ方法を知っているなら、それはこれらの人々です。独立した開発者が追随すると思います。 iOSほど簡単ではありません...しかし、彼らはすでに大きなリードを持っています。オンラインでそれを行う方法はたくさんあります。新聞はペイウォールの紹介を検討し始めています...これは必ずしもうまくいきません。問題は、コンテンツをブロックする必要があるということです。これは、インターネットの当初の意図に反しますか?インターネットにより適したお金を稼ぐ他の方法はありますか?たぶんそれが質問に対する答えでしょう - 「彼らが支払わないなら、どうすれば彼らが私のゲームをプレイするのを止めることができますか?」では、「インターネットが得意なことでこのゲームからお金を稼ぐことができますか?」プレイヤーからもそこでお金を稼ぎますが、スポンサーからお金を稼ぎます。私たちが一年でどこにいるのか知りたいです。たくさんのお金を稼ぐ一連の成功したゲームが見られるかもしれません。
html5ゲームとwebgl
に関するよくある質問WebGLはWebグラフィックライブラリの略です。これは、プラグインなしの互換性のあるWebブラウザーでインタラクティブな3Dおよび2DグラフィックをレンダリングできるJavaScript APIです。 WebGLは、開発者にさまざまなデバイスでスムーズに実行できるリッチで高品質のグラフィックエクスペリエンスを作成できるため、HTML5ゲームにとって重要です。これにより、ブラウザで直接再生できる複雑で没入型のゲームを作成できるため、ゲーム開発の無限の可能性が開かれます。
HTML5ゲームには、従来のゲームプラットフォームと比較して多くの利点があります。まず、HTML5ゲームはプラットフォームに依存しており、スマートフォン、タブレット、コンピューターなど、Webブラウザーを備えた任意のデバイスで再生できます。これは、プレイヤーが何もダウンロードしたりインストールしたりせずに、どこでもお気に入りのゲームを楽しむことができることを意味します。第二に、HTML5ゲームは通常、従来のプラットフォームよりも速く開発しやすく、ゲームには通常、特別な知識とツールが必要です。最後に、HTML5ゲームは簡単に更新および配信でき、開発者とプレーヤーの両方にとって魅力的になります。
はい、HTML5ゲームの大きな利点の1つは、オフラインでプレイできることです。これは、HTML5のアプリケーションキャッシング機能のおかげです。これにより、Webアプリケーションは、ネットワーク接続がない場合に使用するためにユーザーのデバイスにデータを保存できます。これは、インターネットに接続されていなくても、お気に入りのHTML5ゲームをプレイし続けることができることを意味します。
HTML5ゲームは通常、他のWebアプリケーションと同じくらい安全です。ただし、すべてのソフトウェアと同様に、適切に設計および維持されていない場合、攻撃に対しても脆弱である可能性があります。開発者は、セキュリティプロトコルの使用、ユーザー入力の検証、潜在的なセキュリティの問題を修正するためにゲームを定期的に更新およびパッチングするなど、Webセキュリティのベストプラクティスに従う必要があります。
今日、シンプルなパズルゲームから複雑なマルチプレイヤーオンラインゲームまで、多くの人気のあるHTML5ゲームがあります。注目すべき例には、「2048」、「Hexgl」、「Gem Maze」が含まれます。これらのゲームは、HTML5とWebGLのパワーと汎用性を紹介し、Webベースのゲームの将来についての洞察を与えてくれます。
HTML5ゲームの開発には、HTML、CSS、およびJavaScriptを十分に理解する必要があり、WebGL APIに精通しています。また、Phaser、Pixi.js、Three.jsなど、開発プロセスを簡素化できるいくつかの利用可能なライブラリとフレームワークもあります。さらに、HTML5ゲーム開発を開始するのに役立つ多くのオンラインチュートリアルとリソースがあります。
はい、HTML5ゲームを収益化する方法はたくさんあります。一般的なアプローチは、広告を介して行われます。これは、ゲームに広告を表示したり、有料の広告なしバージョンのゲームを提供したりすることで達成できます。もう1つのアプローチは、ゲーム内でゲーム内の購入を購入できるゲーム内での購入です。最後に、一部の開発者は、自分のウェブサイトを通じて、ゲーム配信プラットフォームを使用するかどうかにかかわらず、ゲームを直接販売することを選択します。
HTML5ゲームの未来は非常に明るく見えます。 Webテクノロジーの継続的な進歩とモバイルゲームの人気の高まりにより、将来的にはより革新的で刺激的なHTML5ゲームが見られる可能性があります。さらに、仮想および拡張現実のテクノロジーの台頭は、HTML5ゲーム開発の新しい可能性を開く可能性もあります。
HTML5ゲームには多くの利点がありますが、いくつかの制限もあります。たとえば、特により複雑なゲームの場合、パフォーマンスは問題になる可能性があります。さらに、すべてのWebブラウザーがHTML5とWebGLのすべての機能を完全にサポートするわけではありません。これにより、互換性の問題につながる可能性があります。ただし、Webテクノロジーの継続的な開発と改善により、これらの制限はそれほど重要ではありません。
! WebGLは多くの場合、ゲームに関連していますが、さまざまなゲーム以外のアプリケーションでも使用できます。たとえば、WebGLを使用して、インタラクティブな3D視覚化、仮想ツアー、さらには拡張現実体験を作成できます。可能性はほとんど無限です。
以上がJSおよびHTMLGAMING:Angry BirdsからZX Spectrumまでの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。