Schlüsselpunkte
HTML5/JavaScript Gaming -Feld hat sich in letzter Zeit rasant entwickelt. Browser -Spiele werden immer beliebter, und Entwickler entdecken auch eine Reihe von bequemen APIs und anderen Tools. Rob Hawkes ist begeistert davon, HTML5 und JavaScript und seine Anwendung in Browser -Spielen zu loben. Rob ist ein visueller Programmierer, Autor und technische Evangelist bei Mozilla, der für die Spiele von Mozilla in der Entwicklergemeinschaft verantwortlich ist. Er gab im Mai eine schließende Keynote auf der Web -Richtungscode -Konferenz in Melbourne und zeigte uns, wie großartig HTML5- und Javascript -Spiele rasch wachsen.
Hallo, Rob. Bitte teilen Sie uns Ihren Hintergrund in der Entwicklung mit.
Ich arbeite seit etwa 13 Jahren im Bereich der Netzwerkentwicklung. Ich habe ein wenig über HTML und CSS gelernt-ich interessierte mich mehr für Webdesign, wandte sich dann aber an PHP, als ich erfuhr, dass ich in der Server-Seite etwas sehr leistungsfähiges tun konnte. Sobald ich weiß, wie ich ein Formular erstellen kann, dachte ich jetzt, wie ich auf diese Daten zugreift? Jeder lernt Php aus der Form ... ja! Es ist wirklich cool, Daten irgendwo senden zu können. Also arbeitete ich später in der Branche, war hauptsächlich in Front-End-Entwicklung und arbeitete mehrere Jahre. Ich interessierte mich für die Medien und begann mich mit JavaScript zu befassen, und seitdem wurde mir klar, dass ich nicht so leidenschaftlich daran war, Websites zu machen, sondern leidenschaftlicher für das Lernen von Technologie und das Schieben an meine Grenzen. Ich habe mich schon immer sehr für das Spielen und das Lieben interessiert, um etwas verrückte Dinge zu tun, um zu lernen, wie es funktioniert. Während des Studiums habe ich viele HTML5 -Arbeiten geleistet - insbesondere Leinwand.
Sie müssen in den frühen Tagen mit Leinwand begonnen haben, oder?
Tatsächlich gab es Leinwand, bevor ich anfing. Apple benutzte es, um sein Dashboard -Widget zu erstellen. Es ist immer in Webkit, obwohl es in anderen Browsern nie wirklich stabilisiert - oder zumindest hat es nie Spaß gemacht. Niemand hat jemals etwas damit getan. Aber als ich auf Leinwand stieß, fand ich es wirklich cool. Ich habe zu einer guten Zeit angefangen - es gab zu dieser Zeit nur sehr wenige Bücher darüber, aber es brachte auch viele Möglichkeiten. Ich bin einer der wenigen Leute, die sich ausführlich damit befassen. Darüber hinaus nahm ich auch am Experiment der JavaScript -API teil. Ich glaube, ich bin weder ein Designer noch ein Entwickler - zwischen den beiden. Ich liebe visuelle Programmierung. Dinge wie Spiele und Leinwand sind perfekt, weil Sie die Hardcore -Entwicklung mit einigen wirklich intuitiven Benutzererfahrungen kombinieren können. Das ist es, woran ich bei Mozilla arbeite.
Was hat Sie für HTML5/JavaScript -Spiele interessiert? Bist du ein Spielfan?
Ich habe Spiele in meinem Leben - ich habe ein ZX -Spektrum, eine Spielekonsole ...
wow! Bist du ein Fan von ZX Spectrum?
Mein Vater mag Computer nicht sehr, aber aus irgendeinem Grund hält er denkt, dass es eine gute Idee ist, eine zu kaufen. Aber ich war zutiefst von der Idee angezogen, dass das Spiel nach dem Einsetzen des Bandes erschien! Ich meine, ich war noch sehr jung, aber ich erinnere mich noch - "gegen die Ente kämpfen" und all diese verrückten Spiele. Als ich dann anfing, PC -Spiele zu spielen, fiel meine Produktivität lange zurück! Aber das Spiel hat mir immer Spaß gemacht. Technologien wie Flash und JavaScript haben mir klar gemacht, dass es so cool war, dass ich jetzt Spiele machen konnte. Sobald Sie das Spiel gemacht haben, eröffnet es ein ganz neues Reich von Möglichkeiten. Es ist wie das Gefühl, das ich fühlte, als ich zum ersten Mal eine Website gemacht habe - ich habe sie erstellt! Es gibt viele verschiedene Techniken, die Sie in der Spieleentwicklung lernen können - Einsatz, visuelle Grafiken, Sound - und Sie erhalten diese Erfahrung beim Erstellen einer Standard -Website nicht immer. Im Spiel schieben Sie immer die Dinge an die Grenze.
Wenn ich also an der Entwicklung von HTML5/JavaScript -Spiel interessiert bin, wie sollte ich zuerst lernen und welche Richtung ich entwickeln soll?
Master JavaScript; Aber wenn Sie mit JavaScript zufrieden sind, können Sie sich einige Grafik -APIs ansehen - wie die Canvas -API. Leinwand ist eine sehr gute API. Bis ich darauf gestoßen bin, weiß ich wirklich nicht, wie man etwas im Browser zeichnet, ohne ein Bild zu erstellen. Sie können auch die Audio -API überprüfen. Die Multimedia -Funktionalität in HTML5 ist sehr interessant. Schauen Sie sich einige Game -Engines an. Möglicherweise müssen Sie sie nicht unbedingt von Grund auf lernen, aber es gibt viele Spiele, die es Ihnen ermöglichen, schnell loszulegen, ohne die Grundlagen vollständig verstehen zu müssen. Ich glaube, es ist ein australischer Motor und es ist kostenlos. Dann gibt es einen sehr guten Motor mit einem Preis von 99 US -Dollar, genannt Impact - eine sehr gute Spielmotor mit sehr gut dokumentierten Dokumentation. Wenn Sie ein Spiel mit JavaScript erstellen möchten, aber nicht unbedingt zu tief in die Implementierungsdetails einsteigen möchten, sind diese Motoren ein guter Ausgangspunkt. Wenn Sie wirklich einen tieferen Einblick in die Vor- und Nachteile der Spieleentwicklung sehen möchten, erfahren Sie, wie Sie anhand von Tools wie RequestAnimationFrame animieren können, die Schleifen in JavaScript optimieren können. Wenn Sie es mit der Canvas -API kombinieren, wie beispielsweise eine quadratische Bewegung auf dem Bildschirm, ist es keine schwierige Aufgabe, die Tastatur von dort aus zu verwenden. Von dort aus können Sie es überall hin mitnehmen.
Es scheint, dass Sie immer noch den grundlegenden JavaScript gut verstehen müssen.
Ja. Ich meine, es gibt einige Spielbibliotheken wie JQuery - Motoren wie Crafty und Impact sind ein bisschen so. Aber sie sind nicht so abstrakt wie JQuery. Wenn Sie etwas Komplizierteres tun möchten, müssen Sie immer noch JavaScript schreiben. Aber wenn Sie nur grundlegende Animationen durchführen möchten - wie die Einführung von Bildern als Sprites und sich, können Sie das mit schlauem Handeln tun. Das Problem ist, dass Sie nicht vollständig verstehen, was hinter den Kulissen vor sich geht. Wenn Sie außerhalb des Webs ein Spiel machen möchten, können Sie Flash oder Unity verwenden, da es eine Möglichkeit für komplexe Animationen und physikalische Effekte abstrahiert. Aber für mich bedeutet das Verständnis von JavaScript, dass ich Spiele von Grund auf neu erstellen kann. Ja, es kann schwierig sein und eine Weile dauern, aber es lohnt sich auf lange Sicht. Wenn Sie zumindest die Grundlagen davon verstehen können - für Schleifen, Arrays und Objekte usw. - werden Sie es dann wirklich zu schätzen wissen, wenn Sie die Dinge weiter verschieben möchten.
HTML5 und JavaScript scheinen zur Explosion von Retro -Spielen geführt zu haben - Strategiespiele, Plattformspiele und die Auferstehung alter Spiele wie Pong. Denken Sie, dass es in andere Richtungen gehen wird, wie z. B. komplexere und interaktivere Projekte?
Retro -Spiele sind in dieser Hinsicht cool. HTML5 -Spiele befinden sich in einer ziemlich einfachen Bühne, daher sind Retro -Spiele perfekt - sie erfordern nicht viele Fähigkeiten, hauptsächlich in 2D, und sind leicht zu kreieren. Das gleiche gilt, wenn Flash -Spiele beliebt waren. Nichts kann Entwickler davon abhalten, JavaScript zu verwenden, um ein eindringlicheres Erlebnis zu schaffen. Wir beginnen zu sehen, wie wir WebGL verwenden. Viele Menschen beginnen, Spiele näher an denjenigen zu kreieren, die Sie auf iOS sehen - sogar 3D -Spiele -, die Technologien wie Hardware -Beschleunigung verwenden. "Pong" ist großartig, aber es treibt nicht zu viel Technologie an. Ich habe jemanden gesehen, der Quake 4 in WebGL erstellt hat und es läuft reibungslos. Wir müssen mehr von diesen Spielen sehen, um das Web als Plattform für moderne Spiele zu etablieren. Wir haben jetzt die Technologie und Fähigkeiten, die wir brauchen, um ein echtes Spiel zu erstellen. Und was ich unter echten Spielen meine, sind diese Spiele, die Sie in PC -Spielen sehen können. Wir beginnen, Unternehmen und Entwickler in diese Richtung zu bewegen. Wir müssen Online -Spiele für das Internet erstellen. Jetzt sehen wir eine Wiederbelebung interaktiver Spiele, aber wir sehen nicht zu viele Spiele, die speziell für das Web geschaffen wurden. Ich möchte mehr Spiele sehen, die das Netzwerk nutzen und gleichzeitig die Einschränkungen der Geräte erkennen. Nur weil Sie auf beiden Plattformen dasselbe Spiel machen können, heißt das nicht, dass es genau das gleiche sein sollte. Ich denke, das Netzwerk hat die Chance, eine unabhängige Gaming -Plattform zu sein - ein einzigartiges Ziel, nicht nur ein weiterer Ort, um Standardspiele zu platzieren. Sobald die Spieleentwickler dies unter dem Griff bekommen, werden wir denke, dass wir etwas wirklich Interessantes sehen werden. Jetzt kopieren die Spiele im Web wirklich nur andere Plattformen - Spiele sind ziemlich statisch und sie verwenden nichts wirklich, was das Web bietet, z. B. soziale Funktionen oder die Möglichkeit, sich mit anderen APIs zu verbinden. All dies ist dem Web innewohnt und wir verwenden es auf der Website, aber was passiert, wenn wir es im Spiel verwenden?
Was viele Entwickler in Browserspielen tun, beinhalten oft das Graben der Vergangenheit, was nicht unbedingt eine schlechte Sache ist - aber können Sie Erweiterungen von Konzepten und Ideen sehen?
Das wäre mein Traum. Jetzt denke ich, dass wir HTML und das Web als Gaming -Plattform gegenüber unfair sind. Wir vergleichen es mit früheren Plattformen. Wir haben es herübergebracht, weil es erfolgreich war. Dies ist unfair; Natürlich sind native Plattformen besser - es ist für die Berührungskontrolle, einige Programmiersprache und -technologie erstellt. Wir werden das Netzwerk niemals unabhängig wachsen lassen, indem wir es auf das einschränken, was wir zuvor getan haben. Wir können die Leistung des Netzwerks auslösen und etwas ausprobieren, das nicht so begrenzt ist wie die Spiele, die wir normalerweise spielen. Zum Beispiel sehen wir, dass das Spiel in einer kleinen Schachtel im Browser enthalten ist. Es gibt keinen Grund, dass das Spiel in einer kleinen Box als Teil einer Website erscheinen muss - es kann Teil des Netzwerks sein. Es gibt keinen Grund, warum Sie Spiele auf Twitter nicht spielen können. Ich hoffe, dass wir, wenn die Leute die Idee von Online -Spielen allmählich annehmen, viele neue Spiele kommen. Die JavaScript -API ist für das Netzwerk erstellt. Dies ist eine sehr grundlegende Technologie.
Wie machen Sie diese Ideen den Markt wert?
Dies ist eines der Probleme, die wir bei Mozilla lösen wollen. Dies ist auch eines der häufigsten Probleme, die wir von Spieleentwicklern bekommen - "Es klingt gut, aber was ist, wenn ich mein Spiel nicht kostenlos zur Verfügung stellen möchte?" Alles ist offen; Wir haben also zwei Probleme, die hier gelöst werden müssen. Erstens: Wie überzeugen wir die Menschen, dass die Verwendung offener Technologie eine gute Idee ist? Ich denke, dieses Problem ist leicht zu lösen, denn wenn Sie sich Sorgen machen, dass Ihr Spiel gestohlen wird, dann denke ich nicht, dass das Netzwerk für Sie ist. Nur weil Sie Spiele in HTML machen können, heißt das nicht, dass es die beste Plattform für Ihr Spiel ist. Und es gibt Möglichkeiten, diese Probleme zu lindern, z. B. das Verkleinern des Codes - diese Methoden können den Entwicklern helfen, sich beim Veröffentlichen von Code etwas wohler zu fühlen, an dem sie bereits viel Zeit damit verbracht haben, zu arbeiten. Die zweite Frage ist Marketing: Wie verkaufen Sie Ihr Spiel? Wenn Sie nicht als Unternehmen Ihren Lebensunterhalt verdienen können, macht es keinen Sinn, Spiele zu machen. Sie können einen Weg gehen und wenn Sie kein Geld ausgeben, müssen Sie sich keine Sorgen darüber machen, dass Sie Menschen daran hindern, Ihr Spiel zu betreten, aber Sie können den Spendenmodus verwenden. Auf der anderen Seite können Sie das tun, wenn Sie sie wirklich ausschalten möchten, ohne für das Spiel zu bezahlen. Wir entwickeln eine offene Webanwendungs -API bei Mozilla, mit der Sie Quittungen bereitstellen können, die auf dem Spieleentwicklerserver überprüft werden müssen. Wir suchen nach Möglichkeiten, die Offenheit des Codes zu nutzen, anstatt die Leute davon abzuhalten, den Quellcode anzusehen, sondern nur einen Punkt zu erstellen. Können Sie sagen, dass Sie für dieses Spiel bezahlen? Wenn nicht, werden Sie nicht die volle Erfahrung bekommen. Dies ist keine magische Pille. Wenn es nur ein Einzelspieler ist, für den sie bereits bezahlt haben, gibt es keine Möglichkeit, sie davon abzuhalten, es zu nehmen und das zu tun, was die Leute mit Networking -Technologie tun, sobald sie den gesamten Quellcode erhalten. Ich habe ein starker Zweifel daran, dass Spiele im Internet nicht mehr als Spiele an anderer Stelle gestohlen werden. Raubkopien sind viel komplizierter als nur Quellcode. Wenn Sie eine serverseitige Komponente haben, haben Sie Schutz und dort kann das Quittungssystem ins Spiel kommen. Wenn Sie wissen, dass das Spiel nur gespielt werden kann, wenn jemand Ihren Server besucht, können Sie die Erfahrung steuern. Wenn sie den Front-End-Code stehlen, können sie das Spiel immer noch nicht abspielen, da sie Ihren serverseitigen Code nicht erhalten. Wenn sie auf Ihren Server einsteigen können, haben Sie ein weiteres Problem. Ich glaube nicht, dass es absolut kein Problem mit der Online -Monetarisierung von Spielen gibt - das Problem ist im Moment, dass wir noch keinen großen Erfolg hatten. Es ist zuerst eine Frage von Hühnchen oder Eier - die Menschen warten auf den Erfolg, und Erfolg kommt nicht, weil die Leute warten. Wir brauchen jemanden, der sich meldet und es ausprobiert. Und es ist das Internet, also müssen Sie nicht wie früher Spiele verkaufen. Möglicherweise können Sie mit Zahlungen im Spiel Geld verdienen, damit Sie immer noch ein freies Spielerlebnis haben, aber kontrollieren, was die Leute im Spiel erleben-die Level-Spieler erreichen, welche Rüstung sie haben oder welche Energiegewinne.Sobald wir vollständig verstanden haben, was möglich ist, finden wir heraus, wie wir es monetarisieren können, insbesondere nachdem große Unternehmen wie EA Join - wenn jemand weiß, wie man Geld verdient, das sind diese Leute. Ich denke, unabhängige Entwickler werden dem Beispiel folgen. Es ist nicht so einfach wie auf iOS ... aber sie haben bereits einen großen Vorsprung. Es gibt viele Möglichkeiten, es online zu tun. Zeitungen haben begonnen, Paywalls einzuführen ... das funktioniert nicht unbedingt. Die Frage ist, sollten Sie den Inhalt blockieren? Übergeht dies gegen die ursprüngliche Absicht des Internets? Gibt es andere Möglichkeiten, Geld zu verdienen, das besser für das Internet geeignet ist? Vielleicht ist das die Antwort auf die Frage: "Wie kann ich sie davon abhalten, mein Spiel zu spielen, wenn sie nicht bezahlen?", Aber "Wie mache ich mit dem, was das Internet gut ist?" Sogar vom Spieler verdienen Sie dort Geld, aber verdienen Sie Geld mit Sponsoren. Ich würde gerne wissen, wo wir in einem Jahr sein werden. Wir können eine Reihe erfolgreicher Spiele sehen, die viel Geld verdienen.
Häufig gestellte Fragen zu HTML5 -Spielen und WebGL
WebGL steht für Web Graphics Library. Es handelt sich um eine JavaScript-API, die es ermöglicht, interaktive 3D- und 2D-Grafiken in jedem kompatiblen Webbrowser ohne Plug-Ins zu rendern. WebGL ist für HTML5-Gaming von entscheidender Bedeutung, da es Entwicklern die Möglichkeit bietet, reichhaltige, hochwertige Grafikerlebnisse zu erstellen, die auf einer Vielzahl von Geräten reibungslos ausgeführt werden können. Dies eröffnet endlose Möglichkeiten für die Spielentwicklung, da es ermöglicht, komplexe, immersive Spiele zu erstellen, die direkt im Browser gespielt werden können.
HTML5 -Spiele haben im Vergleich zu herkömmlichen Spielplattformen viele Vorteile. Erstens sind HTML5-Spiele plattformunabhängig und können auf jedem Gerät mit einem Webbrowser, einschließlich Smartphones, Tablets und Computern, abgespielt werden. Dies bedeutet, dass Spieler ihre Lieblingsspiele überall genießen können, ohne etwas herunterzuladen oder zu installieren. Zweitens sind HTML5 -Spiele in der Regel schneller und einfacher zu entwickeln als herkömmliche Plattformen, und Spiele erfordern normalerweise spezialisiertes Wissen und Werkzeuge. Schließlich können HTML5 -Spiele leicht aktualisiert und verteilt werden, was sie sowohl für Entwickler als auch für Spieler attraktiv macht.
Ja, einer der großen Vorteile von HTML5 -Spielen ist, dass sie offline gespielt werden können. Dies ist der Anwendungs -Caching -Funktion von HTML5 zu verdanken, mit der Webanwendungen Daten auf den Benutzungsgeräten für die Verwendung speichern können, wenn keine Netzwerkverbindung vorhanden ist. Dies bedeutet, dass Sie weiterhin Ihre Lieblings -HTML5 -Spiele spielen können, auch wenn Sie nicht mit dem Internet verbunden sind.
HTML5 -Spiele sind normalerweise so sicher wie jede andere Webanwendung. Wie bei aller Software können sie jedoch auch anfällig für Angriffe sein, wenn sie nicht ordnungsgemäß entworfen und gewartet werden. Entwickler müssen Best Practices für die Websicherheit befolgen, z. B. die Verwendung von Sicherheitsprotokollen, die Überprüfung der Benutzereingaben und die regelmäßige Aktualisierung und Patchen von Spielen, um potenzielle Sicherheitsprobleme zu beheben.
Es gibt heute viele beliebte HTML5 -Spiele, von einfachen Puzzle -Spielen bis hin zu komplexen Multiplayer -Online -Spielen. Einige bemerkenswerte Beispiele sind "2048", "Hexgl" und "Gem Maze". Diese Spiele zeigen die Leistung und Vielseitigkeit von HTML5 und WebGL und geben uns einen Einblick in die Zukunft webbasierter Spiele.
Die Entwicklung von HTML5 -Spielen erfordert ein gutes Verständnis von HTML, CSS und JavaScript sowie mit der WebGL -API vertraut. Es gibt auch einige verfügbare Bibliotheken und Frameworks, die den Entwicklungsprozess wie Phaser, Pixi.js und drei.js vereinfachen können. Darüber hinaus gibt es viele Online -Tutorials und Ressourcen, mit denen Sie mit der HTML5 -Spielentwicklung beginnen können.
Ja, es gibt viele Möglichkeiten, HTML5 -Spiele zu monetarisieren. Ein häufiger Ansatz ist durch Anzeigen, die durch Anzeigen von Anzeigen in Spielen oder der Bereitstellung bezahlter Werbefreier des Spiels erreicht werden können. Ein weiterer Ansatz ist durch Einkäufe im Spiel, bei denen Spieler virtuelle Waren oder Dienstleistungen im Spiel kaufen können. Schließlich verkaufen einige Entwickler ihre Spiele direkt, sei es über ihre eigenen Websites oder über Spielverteilungsplattformen.
Die Zukunft der HTML5 -Spiele sieht sehr hell aus. Mit der kontinuierlichen Weiterentwicklung der Web -Technologie und der zunehmenden Beliebtheit von mobilen Spielen werden wir wahrscheinlich in Zukunft innovativere und aufregende HTML5 -Spiele sehen. Darüber hinaus kann der Aufstieg virtueller und erweiterter Reality -Technologien neue Möglichkeiten für die Entwicklung von HTML5 -Spielen eröffnen.
Obwohl HTML5 -Spiele viele Vorteile haben, haben sie auch einige Einschränkungen. Leistung kann beispielsweise ein Problem sein, insbesondere für komplexere Spiele. Darüber hinaus unterstützen nicht alle Webbrowser alle Funktionen von HTML5 und WebGL, was zu Kompatibilitätsproblemen führen kann. Mit der kontinuierlichen Entwicklung und Verbesserung von Web -Technologien werden diese Einschränkungen jedoch weniger wichtig.
natürlich! Während WebGL häufig mit Spielen zusammenhängt, kann es auch in einer Vielzahl von Nicht-Spiel-Anwendungen verwendet werden. Zum Beispiel kann WebGL verwendet werden, um interaktive 3D -Visualisierungen, virtuelle Touren und sogar Augmented Reality -Erlebnisse zu erstellen. Die Möglichkeiten sind nahezu unbegrenzt.
Das obige ist der detaillierte Inhalt vonJS und HTMLGaming: Von Angry Birds bis ZX Spectrum. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!