JavaScript 2D Game-Engine

Skarge

Cadet 1st Year
Registriert
Okt. 2007
Beiträge
10
Update, 22.12.2010: Finale Version 0.5 steht zum Download bereit!
Update, 10.11.2010: Download der 0.5beta !
Update, 12.09.2010: Beitrag zum aktuellen Stand und "Stereoskopie-Test"
Update, 06.04.2010: Beitrag zum Thema "Normal Mapping" und "Teil-Entkopplung"
Update, 25.03.2010: Beitrag zum 0.3.0-Download inkl. Demos und Kommando-Liste

Guten Morgen allerseits,

ich wollte die Chance nutzen und kurz mein aktuelles Projekt vorzustellen. Bei diesem handelt es sich um eine auf Javascript basierende Engine zur Umsetzung von 2D-Spielen. Wieso das Ganze? Zum Einen reizt mich die Umsetzung bereits seit einiger Zeit, zum Anderen habe ich eine starke Abneigung gegenüber Flash und Java-Applets ;)

Die Engine an sich steht momentan bei Version 0.2.5 (als stable), integriert sind hierbei Sprites (inkl. Movement selbiger etc.), Animationssystem, Callbacks (selbst definierbare Aufrufe, auch Funktionen möglich. Können an den generellen Ticker gekoppelt werden). Hinzu kommen werden in der nächsten Version weitere Sprite-Funktionen (Rotation, Transparenz...), ein Wait-Befehl, Multi-Layer und noch ein paar Dinge.

Ein paar kleine Demos sowie eine kleine "Roadmap" findet ihr hier: http://www.screensports.de/2010/03/d-day-engine-demos/
Feedback würde mich freuen, ebenso bin ich immer auf der Suche nach Leuten, die damit eventuell was umsetzen möchten ;)

*UPDATE*
Da laut meiner Statistik viele Leute auf den Demolink hier, aber nicht auf die eigentlichen Links weiter unten klicken, schieb ich diese kurzerhand hier nach:
Download der finalen Version 0.5
Die "Fighter"-Demo als Standalone
 
Zuletzt bearbeitet:
Hm, ich denke das man damit sicherlich einige interessante Handy-Spiele - welche im Handybrowser aufgerufen werden - umsetzen könnte.

Für alle die, die nicht über ein Handy mit GPU verfügen.
 
Ich weiss net, die Sachen die ihr da "Demos" nennt lassen sich doch mit wenigen Funktionen von nahezu allen JS Frameworks umsetzen, zumal euer Framework Code ja auch noch ganz am Anfang steht und lediglich ein paar Variablen initiiert.

PS: Prototype nervt :>
 
Wer Interesse hat: Ich habe unter http://www.screensports.de/2010/03/project-zero-becomes-screensports2d/ die aktuelle Version (0.3.0) zum Download gestellt. Wie im Eintrag erwähnt würde ich mich sehr über Feedback und Erweiterungs- / Verbesserungsvorschläge freuen, aufgrund der noch niedrigen Version aber bitte nicht ZU viele Möglichkeiten erwarten. Fragen etc. ruhig auch per IM oder Mail ;)
 
Hm.. nunja, sieht schonmal nicht schlecht aus.
Aber soweit ich erinnere, hatte ein Däne sogar schon eine komplette 3D Engine in Javascript geschrieben. (Mit spielbaren Spielen, welche richtige Physik unterstützen)
Vllt ein Ansporn für dich?
 
Ansporn definitiv, auf kurz oder lang ist sowas auch geplant. Allerdings möchte ich erst eine fertige 2D-Engine haben, bevor ich den Schritt in Richtung 3D wage. Die 3D-Variante würde ich zudem gerne mit WebGL lösen, nur hakt es da noch ein wenig an der Unterstützung durch die Browser.
 
Moin auch!

Nachdem ich für die kommende Version einige Teile (Renderer, Soundwrapper) vom Rest entkoppelt hab und diese dadurch beliebig wechselbar wurden, wurde ein wenig mit Grafikeffekten herum experimentiert ;)
Nach einem fragwürdigen Ausflug in Beleuchtung von 2D-Objekten (in der dafür verwendeten Technik sehr unsinnig), hab ich mich gestern mal an Normal Mapping versucht. Und siehe da: Es klappte sogar. Über Sinn und Unsinn kann man sich gerne streiten, allerdings finde ich persönlich solche Dinge auch in 2D reizvoll, man stelle sich beispielsweise vor, der Spielcharakter laufe mit einer Fackel / Taschenlampe durch eine Höhle und die Umgebung reagiert auf die Bewegung des Lichts mit wechselndem Schatten - sehr nett für die Atmosphäre.

Screen zum Normal Mapping

Sollte jemand noch Fragen haben oder in irgendeiner Form helfen möchten, einfach kurze Nachricht an mich per PN oder Messenger ;)
 
Sieht auf jeden Fall nice aus. Das mit dem Normal Mapping finde ich stark. Interessanter Weise habe ich heute erst von Parallax Scrolling gelsen und hier gibts gleich eine Demo.
 
Zum Thema Normal Mapping hab ich vorhin mal ein kleines Video gemacht:
Zum Video

Zum Online stellen ist mir der Effekt noch zu Buglastig und nicht performant genug, muss da mal dran drehen.
 
Reines Javascript, realisiert über Canvas und Pixel-Manipulation (ist was sehr feines). Steckt noch ein wenig Prototype mit drin, wird aber vermutlich zur Version 0.5 oder 0.6 rausfliegen, da ich es kaum verwende.
Überlege aber, einen separaten Renderer mit WebGL zu bauen, da dürfte noch einiges mehr gehen - allerdings erst, wenn die jetzige Variante fertig ist ^^
 
sieht ja alles nice aus.

Eine "von oben"-Sicht bzw. Vogelperspektive ist aber nicht möglich?
ähnlich wie bei RTS Spielen.
 
Generell möglich ist das, selbst bei der isometrischen Perspektive verlässt man sich ja in erster Linie auf x und y. Hängt dann in erster Linie von der Zeicheneinheit (also dem Renderer) ab, der könnte da sicherlich drauf angepasst werden. Kannst gerne etwas in der Richtung entwickeln, schreib mich dafür einfach im Messenger an ;)
Persönlich interessant finde ich, neben gewöhnlichen 2D-RPGs o.ä., ein paar Sideview-Games, beispielsweise ein Beat 'em Up oder gar Point & Click wie die guten alten Lucas Arts-Titel.

Die alte Version 0.3, die zum Download angeboten wird, hat mit der aktuellen Version übrigens nicht mehr allzu viel gemeinsam, mal abgesehen von den Befehlen.
 
Auch wenn die vergangenen Monate wenig neues zu hören war, so geht die Entwicklung an der Engine dennoch weiter - wenn auch nicht ganz so schnell, wie wir es uns manchmal wünschen.
Aktuell wird stark an der Version 0.5 gewerkelt. Diese bietet quasi ein komplettes Recoding von Grund auf, da weder die Performance noch die Bedienung den eigenen Vorstellungen genügten. Desweiteren wurden und werden einige neue Features integriert - wie sinnvoll diese letztendlich für den Einzelnen sind, bleibt jedem selbst zu entscheiden. Testweise integriert wurde vor kurzem ein Renderpfad für stereoskopische Bilddarstellung, welcher unter folgendem Link in einer angepassten Version der Zugdemo betrachtet werden kann:

http://zero.screensports.de/tests/050/demos/train-0.5/ ("Toggle 3D" drücken zum aktivieren / deaktivieren)

Ob diese grafische Spielerei schlussendlich auch in einem finalen Release vertreten sein wird ist derzeit noch unklar, zumal die Performance nicht die Beste ist. Allerdings ist es nett zu sehen, was mit Javascript und HTML5 derzeit alles machbar ist.

Sollten hier interessierte Leute vorbeischauen, die entweder aktiv mitentwickeln oder mit dem Projekt an sich Demos / Spiele machen möchten, so stehe ich jederzeit als Ansprechpartner zur Verfügung. Ansonsten freuen wir uns über Kritik und Kommentare jeglicher Art ;)
 
Nachdem seit dem letzten Release (v0.3, Ende März) bereits einiges an Zeit vergangen ist, gibt es seit dem heutigen Tage die aktuelle 0.5 als Beta-Download. Interessenten können diese unter http://zero.screensports.de/transfer/ss2d-0.5beta.rar herunterladen, im Paket enthalten sind u.a. eine komplette Befehlsliste sowie ein paar Demos.

Hier ein paar der wichtigsten Neuerungen gegenüber dem letzten Release:

  • Komplettes Neucoding aller Bestandteile zugunsten höherer Flexibilität und (teils deutlich) besserer Performance
  • Einführung der GameObjects
  • Frameskip-Integration um eine konstante Aktualisierungsrate bei aufwendigen Projekten zu sichern
  • komplett neue Syntax (deutlich einfacher und logischer)
  • viel mehr Einstellungsmöglichkeiten
  • Animationen werden nur noch einmal angelegt und sind anschließend für alle Objekte nutzbar
  • Integration einer Tile-Engine
  • Panoramafunktion inkl. "unendlicher Bewegung"

Fragen, Anregungen sowie jegliches Feedback sind gerne gesehen ;)
 
Mit dem heutigen Tage steht auch die finale Version 0.5 zum Download. Diese bietet im Vergleich zur Beta in erster Linie Bugfixes und Optimierungen, konnte doch beispielsweise ein Fehler im Animationssystem den Browser einfrieren ;)
Als nette Dreingabe gibt es zudem das Mini(mini)game "Fighter", ein Beat 'em Up mit Street Fighter-Rips. Zwar ist es äußerst knapp gehalten und lediglich mit simpler "Gegner-KI" versehen, doch zeigt es relativ gut, in welche Richtung sich das Projekt in den vergangenen Wochen / Monaten entwickelt hat.

Feedback jeglicher Art ist gerne gesehen, bei Fragen o.ä. einfach melden / mich anschreiben.

Download der finalen Version 0.5
Die "Fighter"-Demo als Standalone
 
Zurück
Oben