HTML5 Spiele
Übersicht

![]() |
AbrexxesBetreff: HTML5 Spiele |
![]() Antworten mit Zitat ![]() |
---|---|---|
Für alle die mal über denn Horizont gucken wollen.
Ich habe mich die letzten Tage mal mit Games unter HTML5 beschäftigt. Dabei stellt HTML5 ein "Canvas" zur Verfügung das unter Javascript genutzt werden kann.....ich war begeistert. Selbst auf einem schwachen Netbook ist einiges möglich. Leider ist der IE hier ausgeschlossen (als einziger). IE9 wird dieses Problem aber lösen, und selbst bei IE8 gibts abhilfe....einlesen ![]() So habe ich einen Code unter allen PCs (Windows,OS-X,Linux) sowie unter Android und iPhone/pad zum laufen gebracht (wenn auch da als Demo ohne Touch,was aber an mir lag). [Also das was Marc mit bmax2 vorhat] Ohne Hilfe geht das natürlich nicht, ich empfehle: Notepad++ : http://notepad-plus-plus.org/ Für Anfänger dazu noch : http://www.chip.de/downloads/J...50105.html Als Doku und Demo wäre anzuraten: SelfHtml: http://de.selfhtml.org/ (Fast perfekt) Canvasdemos: http://www.canvasdemos.com/ (Tuts, Demos,etc) Insbesonderem bei letzterem gibts einiges zu bestaunen was man zb mit Firefox oder Opera OnTheFly ausprobieren kann (je nach Tut). have fun |
||
![]() |
Lord Stweccys |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nebenbei kann ich als JavaScript-IDE das Aptana-Studio nur empfehlen.
Es hat alles, was man braucht, baut auf der guten Eclipse-IDE auf und ist schön übersichtlich, trotzdem voll mit nützlichem Zusatzwerk. ![]() mfg LordSt |
||
![]() |
Abrexxes |
![]() Antworten mit Zitat ![]() |
---|---|---|
Aptana? *Extremanschauing* ![]() |
||
![]() |
Farbfinsternis |
![]() Antworten mit Zitat ![]() |
---|---|---|
... und als Framework kann ich meines empfehlen ![]() https://www.blitzforum.de/foru...hp?t=35693 |
||
Farbfinsternis.tv |
![]() |
Lord Stweccys |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hey es gibt das ganze jetzt sogar 3 mal ![]() -sedm.de/beezy/ -sedm.de/jmax/ -sedm.de/jbb/ Jder Name kriegt wohl ne eigene Homepage ![]() |
||
![]() |
Farbfinsternis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nein, das Richtige ist http://www.sedm.de/jbb ... aber da ist die Doku noch nicht übertragen. Aber das FW ist ja noch nicht komprimiert und im Source dokumentiert. | ||
Farbfinsternis.tv |
![]() |
Abrexxes |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hey, freue mich das es Interessenten gibt.
Ok, mein Plan. Parser von BB zu( JS(KanvasHtml)mit HTML5) Konkret: Entwickeln in BB, Ausführen in BB,Parsen zu HTML5. Wer hat interesse*? ![]() cu *melden per PN, minimale Kenntnisse in B3D/B+ erwünscht. VS Kenntnisse.......ach...wen kümmerts. ! PS: Egal was ich tue, eine Lizenz von B3D oder B+ ist pflicht! |
||
![]() |
Lord Stweccys |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sehr nette Idee, werde es auf jeden Fall verfolgen, hab aber leider immo anderes zu tun ;D | ||
![]() |
Farbfinsternis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zumindest die Möglichkeit Bilder außerhalb der Initialisierungsfunktion zu laden und den Status zu prüfen habe ich hinzugefügt (für Sounds, Shader, Models etc. adde ich das noch). Problem bei einem Converter ist es immer noch den Initialisierungsteil vom eigentlichen Programm zu trennen. Programme die mit Subroutines (Goto, Gosub) arbeiten sind ein weiteres Problem da JavaScript dies nicht unterstützt. Desweiteren habe ich die Funktion "ResizeCanvas()" implementiert so dass man ein Canvas auf die Parameter des "BB Graphics()" anpassen oder gar neu erzeugen kann.
Ganz naiv könnte man ein Programm 1:1 übersetzen und dann manuell die Problemzonen beseitigen. Dies würde allerdings voraussetzen dass sich der Programmierer gut bis sehr gut mit JavaScript auskennt. Folgendes Programm .... Code: [AUSKLAPPEN] Graphics(800, 600) SetBuffer BackBuffer() Repeat Cls() Flip() Forever ...müsste in folgendes Programm übersetzt werden: Code: [AUSKLAPPEN] <!DOCTYPE html> <html> <head> <script type="text/javascript"> function init(){ ResizeCanvas("bbConverted", 800, 600); Graphics("bbConverted", main, 30); } function main(){ Cls(); Flip(); } </script> </head> <body onLoad="init();"> <canvas id="bbConverted"> Dein Browser unterstützt das HTML5 Canvas Element nicht. </canvas> </body> </html> Ich selbst wüsste auf die Husche nicht wie das zu lösen wäre, außer mit massivem Brutforce. Aber es gibt bestimmt einen Weg und ich bin gespannt ob jemand eine Lösung kennt ![]() |
||
Farbfinsternis.tv |
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Naja so ganz schwer wirds doch nicht sein ? Ich denke man kann es so machen das man die vorhandene Syntax in Java-Syntax umschreibt, also einen semikolon hinter jeden Befehl, stat If - EndIf If (bla==blubb) { } (und auch vergleiche wie <> in != und = in ==). Variablen, die müssen im BB Code mit Global oder Local deffiniert sein, dann werden sie beim Parsen zwischengespeichert (auch Funktionen) und wenn ein Begriff nicht auf eine Variable oder eine Funktion zupasst ist es ein Befehl und wird abgeglichen mit dem Vorhandenen Befehlssatz der jBB. Wenn nichts gefunden wurde, Fehler.
Ich denke, so schwer wäre das nicht, nur ein wenig arbeit ^^ mfg ToeB |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
feiderehemals "Decelion" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Canvas.. zu dem Thema kann ich diese Website empfehlen:
http://canvas.quaese.de |
||
![]() |
Farbfinsternis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ganz so einfach ist es nicht ToeB, es sind wesentlich mehr Dinge zu beachten als einfach nur stumpf die Zeilen einer Textdatei zu interpretieren.
Aber ich habe da eine Idee ... man nimmt ein Template und ersetzt in diesem Platzhalter durch essentielle Daten die unbedingt vorhanden sein müssen. Ein Converter könnte diese Daten teilweise selbst heraus finden (AppTitle, Breite und Höhe des Fensters, etc.) und fehlende Werte per GUI erfragen. Ein Template müsste etwa so aussehen: Code: [AUSKLAPPEN] <!DOCTYPE html> <html> <head> <title>[#APPTITLE#]</title> <script type="text/javascript" src="[#JBBSOURCE#]"></script> <script type="text/javascript"> function initJBB(){ ResizeCanvas("jBBGame", [#CANVAS_WIDTH#], [#CANVAS_HEIGHT#]); Graphics("jBBGame", jBBGame, [#FPS#]); } function jBBGame(){ } </script> </head> <body onload="initJBB()"> <canvas id="jBBGame"> Dein Browser unterstützt das HTML5 Element "<canvas>" nicht. </canvas> </body> </html> der Platzhalter [#JBBSOURCE#] müsste erfragt werden da man diese Info ja schwerlich in einem BB Programm findet. die Platzhalter [#CANVAS_WIDTH#] und [#CANVAS_WIDTH#] kann man der BB Funktion "Graphics()" entnehmen, ebenso den Apptitle etc. Schwierig wird es die Hauptroutine zu erkennen, diese müsste dann in den Rumpf der JavaScript Funktion "jBBGame()". Weitere Funktionen und Subroutines des BB Originals müssten dann ebenfalls in JS Funktionen umgewandelt werden. Data-Blöcke müssten in JSON Objekte umgewandelt werden usw. usf. .... "Einfach mal eben" ein BB Programm nach JS konvertieren läuft also nicht, da muss man schon eine Menge Grips investieren ![]() |
||
Farbfinsternis.tv |
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hauptschleife ist die Schleife in der Flip ausgeführt wird. Gibt es mehrere Flips, gibt es auch mehrere Hauptschleifen. | ||
![]() |
Farbfinsternis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja ... tolle Info ... aber praktisch herauszufinden welche Routine die "main()" ist, ist nicht so einfach. Zudem müssen immer noch alle Resourcen in der Initialisierungsfunktion geladen werden. Klar kann man im Mainloop "ImageLoaded()" verwenden und das Image-Objekt auf Null testen, aber das passiert ja im BB Source nicht und muss somit hinzugefügt werden. Man könnte natürlich den kompletten Source nach "LoadImage()" und anderen Funktionen durchsuchen und diese in die Init packen, aber man muss dann auch parsen wie die Var heißt in die das Image geladen wurde und wo diese verwendet wird. Diese Details machen die Sache extra schwierig!
Prinzipiell müsste man sich mit Compiler-Bau befassen um dieses Problem zu lösen. Klar ist das interessant, aber JS ist nicht so kompliziert als dass man jBB (oder vergleichbare Frameworks) nicht direkt nutzen könnte. Erst heute habe ich das zweite jBB Tutorial unter http://sedm.de/jmax/ veröffentlicht. |
||
Farbfinsternis.tv |
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja es soll ja auch nicht jedes X-Beliebige Blitzbasic-Programm damit geparst werden. Man legt einfach von dem Parser fest, Das man z.B. die Haubtschleife mit einem Kommentar versehen soll (z.B. ;[MAIN] )
Ich versteh da wirklich nicht deine Komplizierten Gedankengänge ![]() mfg ToeB |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
![]() |
Farbfinsternis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Es geht aber direkt darum dass man BB Programme konvertieren kann ohne dass der Autor zuvor spezielle Maßnahmen ergriffen hat. | ||
Farbfinsternis.tv |
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Deshalb sage ich ja : Entweder du bestimmst die Hauptschleife über das Flip / Cls bzw. Until Keyhit(. Ist aber nicht sehr Komfortabel da man auch vorher z.B. Laderoutinen mit Flip/Cls belegen kann (ich weiß, das macht so gut wie keiner, aber man kann es nicht ausschließen). Dann im Parser nach einer Repeat/Until oder While/Wend schleife Filtern, dann gucken ob die Austritsbedingung einer Taste zu grunde liegt (Keyhit/KeyDown) und dann in der Schleife prüfen ob dort Flip / Cls benutz wird (und zusätzlich noch ein Timer, dann isses zu 99.99% eine Hauptschleife), dann soll er den teil in der Schleife Parsen. Oder du einfügst einen Kommentar hinzu, es wäre eine Arbeit von gut 2 Sekunden, das wird wohl jeder hinbekommen, wäre für dich im Parser auch nur eine kleine Arbeit und alles ist nicht so Dramatisch ![]() mfg ToeB |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
![]() |
Farbfinsternis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Es ist nicht nur das Suchen nach dem MainLoop. Es müssen auch alle Stellen gefunden, analysiert und umgebaut werden an denen Resourcen geladen werden. In jBB sollte man Resourcen in der Initialisierungsfunktion laden und die Handles in globale Variablen legen. Ein jBB Programm wird nunmal nicht synchron durchlaufen wie ein BB Programm. Desweiteren müsste der Converter ein Profiling vornehmen und eine Ordner/Daten-Struktur vorschlagen die auf dem Webserver eingerichtet werden muss.
So einen Converter schreibt man nicht mal eben an einem freien Nachmittag, da ist wesentlich mehr Aufwand dahinter. |
||
Farbfinsternis.tv |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group