2D Spieleentwicklung mit HTML5/JavaScript/CSS

Jack159

Lieutenant
Registriert
Dez. 2011
Beiträge
766
Hallo,

ich habe bereits einige 2D Spiele erfolreich in Java umgesetzt (nur mithilfe der Java-API, also ohne irgendwelche externen Game-Engines). Die Größenordung/Komplexität von der ich hier rede ist in etwa ein Minecraft-2D-artiges Spiel.

Von HTML5 und JavaScript habe ich fast keine Ahnung. Mich würde aber dennoch intressieren, wie dort die 2D-Spieleentwicklung aussieht. Ist das im Vergleich zu Java (oder auch C#, C++, ..., jeweils ohne externe Engine) leichter oder schwerer? Es gibt für HTML5/JS bereits einige Game-Engines, aber wie schwer/leicht wäre das Umsetzen eines 2D-Spieles ohne/mit solch einer Egine?

In Java erfordert ein 2D-Spiel bereits viele Zeilen Code. Ohne OOP wäre dies denke ich sehr unübersichtlich.
JavaScript ist war OOP, bietet jedoch keine Klassen. Ich stelle mir das ganze in HTML5/JavaScript daher ziemlich chaotisch vor, falls ich dort ähnlich viel Code schreiben müsste, wie in Java. Oder erfordert HTML5/JavaScript wesentlich weniger Codezeilen insgesamt?

Und kann man die 2D-Spieleentwicklung mittels HTML5/JavaScript als ernstzunehmende Konkurrenz zur nativen Programmierung mittels z.B. Java bezeichnen? Oder ist das ganze noch sehr unausgereift, chaotisch und maximal eine spielerrei?
 
Zuletzt bearbeitet:
Hallo,
es gibt bereits einige recht eindrucksvolle Browsergames, die aber meines Wissens nach spezielle PlugIns benötigen. Zudem dürfte bei den meisten mittels WebGL bei der Grafik nachgeholfen werden. Wie gut nicht beschleunigtes HTML/CSS per JavaScript ist, kann ich dir leider nicht beantworten. Ich kann mir allerdings nicht vorstellen, dass 2D Games mit genannten Mitteln einfacher sein soll als z.B. mit Java/C#. In der Regel ist das Programmieren von Oberflächen für Browser sogar aufwändiger.

Hier solltest du primär mal nach dem Sinn fragen. Wann macht das es Sinn ein Spiel für den Browser zu programmieren? I.d.R. gar nicht. Bleibe bei Java / C# / C++ or what ever. Es gibt sehr gute und auch freie Game Engines die dir viel Arbeit abnehmen können.

Greetz
hroessler
 
WebGL ist eine richtige 3D Grafik API. Für 2D Spiele nimmt man dagegen ein einfaches 2D Canvas Element. Das hat mit HTML und CSS dann nichts mehr zu tun, sondern man kann den Canvas auf Pixelebene manipulieren. Dafür gibt es auch einige Game-Engines.
Größere Programme kann man mit JavaScript durchaus schreiben, nur muss man dafür JavaScript und entsprechende Design Patterns vernünftig lernen. Und JavaScript hat halt nichts mit Klassen basierten OOP zu tun. Man kann Klassen zwar "faken" aber so kommt auf Dauer natürlich kein schöner Code raus.
 
@hroessler: Sinn macht das, wenn Du ein Spiel für alle Plattformen entwickeln willst, die einen Browser unterstützen. So kannst Du z.B. eine App für Windows Phone, iOS und Android entwickeln. Das Spiel ist Standard Webtechnologie und nur die App, die den Browser im Vollbildplugin hostet, muß für das jeweilige System neu entwickelt werden.
 
Ruheliebhaber schrieb:
@hroessler: Sinn macht das, wenn Du ein Spiel für alle Plattformen entwickeln willst, die einen Browser unterstützen. So kannst Du z.B. eine App für Windows Phone, iOS und Android entwickeln. Das Spiel ist Standard Webtechnologie und nur die App, die den Browser im Vollbildplugin hostet, muß für das jeweilige System neu entwickelt werden.

@Ruheliebhaber: Ja, ganz prima. D.h. also ich muss trotzdem Code für jede Plattform schreiben die ich unterstützen will?
Dann bleibt weiterhin die Frage nach dem Sinn.

Greetz
hroessler
 
Zurück
Oben