AmiBlitz³
jBB <basic-style-canvas /> - Druckversion

+- AmiBlitz³ (https://amiblitz.de/community)
+-- Forum: Community (https://amiblitz.de/community/forum-12.html)
+--- Forum: Off Topic (https://amiblitz.de/community/forum-13.html)
+--- Thema: jBB <basic-style-canvas /> (/thread-17.html)



jBB <basic-style-canvas /> - bruZard - 12.10.2013

Das JavaScript Framework jBB ermöglicht es Spiele für das HTML5 Canvas mit Basic-ähnlichen Funktionen zu schreiben. Nach mehr als einjähriger Planung befindet sich jBB nun in der "Re-Implementierungsphase". "Re-Implentierung" deshalb weil zuvor immer das umgesetzt wurde was am Publikumswirksamsten war. Die neue Version wird entlang der Doku von BB implementiert und erst wenn das erreicht ist werden Spezialitäten hinzugefügt.
Der Status des Projekts wird automatisch berechnet da der Endstatus bereits festgelegt ist. Dieser ist anhand des Befehlsschatz von BlitzBasic(2D/PC) definiert. HTML5 kann auf Amigas mit Webkit basierenden Browsern genutzt werden, derzeit dürften das OWB und Timberwolf sein, aber auch Netsurf dürfte HTML5 ansatzweise beherrschen.
jBB stellt die meisten Funktionen exakt so dar wie sie in Blitzbasic existieren. Einige Funktionen reagieren anders oder geben andere Werte zurück, bspw. wartet die "Colorpick Funktion" GetColor() nicht auf nachfolgende "ColorRed(), ColorGreen(), ColorBlue()" Funktionen, sondern liefert sofort den Farbwert als JSON Objekt zurück. Selbstverständlich darf man dennoch o.g. Funktionen verwenden.
Einige Funktionen sind nicht mehr umsetzbar (Buffer Flip, GraphicsModes etc.) und sind deshalb als "wird nicht implementiert" markiert. Andere Funktionen sind in HTML5 nicht umsetzbar (Filesystem, TCP, UDP etc.) und fallen darum unter "wird nicht implementiert". Es gibt aber auch Funktionen die es in BB nicht gibt. So ist der Viewport (ein Bereich im Screen der separat bemalt wird, bspw. eine Minimap) anders zu benutzen als in BB, oder die Funktion "JoySupport" die ermittelt ob der Browser die Gamepad-API unterstützt.
jBB steht derzeit bei 53,58% ... d.h. das ein wenig mehr als die Hälfte geschafft ist. Was noch alles zu tun ist kann man sich auf <!-- m --><a class="postlink" href="http://jbb.colorflow.de/">http://jbb.colorflow.de/</a><!-- m --> anschauen.


Re: jBB - Der Wanderer - 13.10.2013

Schön. Jetzt muss man nur was damit machen.
@Bruzard
Jetzt brauchst du nur noch ein Demo Spiel. Ich könnte dir das Artwork geben...
Wie wärs mit einer Umsetzung von Voyage of the Wanderer ;-)
[ATTACHMENT NOT FOUND]

Oder was simpleres wie AmegaOne?
[ATTACHMENT NOT FOUND]

Oder was ganz einfaches wie Squirm, wäre auch cool.
[ATTACHMENT NOT FOUND]

Oder sowas hier, fiele auch unter "Fingerübung":
[ATTACHMENT NOT FOUND]
Das Artwork dafür hat satte 4K, und es gibt 3 lange levels.


Re: jBB - bruZard - 13.10.2013

Hey cool, ja das könnte mir gefallen. Aber wie ich schrieb: Nicht wieder damit anfangen zuerst das "coolste" zu implementieren, sonst werden die Basics nie fertig. Jetzt steht erst einmal der Bereich "Sound & Music" an, dann geht es zu den Images.


Re: jBB - Der Wanderer - 13.10.2013

Ja, sowas wie VOW oder AmegaOne wäre schon viel Arbeit. Aber so ein Squirm (meiner Meinung nach das "bessere Pacman") oder so ein Mini-Shooter ohne viel Schnickschnack wäre in ein paar hundert Zeilen erledigt. Das ganze Level kann man ganz simpel in ein 2D Byte-Array packen und braucht super wenig Speicher. Wollte ich schon immer mal als Mini-Game für die WB machen. Für Browser wäre natürlich auch lustig.


Re: jBB - bruZard - 13.10.2013

Habe den "Image" Block nun doch zuerst in Angriff genommen. Man muss bedenken dass Bilder in jBB nicht sofort nach einem ImageLoad() verfügbar sind, man muss immer mit ImageLoaded()testen ob das Bild bereits geladen wurde bevor man es zeichnet!

jBB ist jetzt prinzipiell soweit fertig dass man damit Spiele basteln kann.


Re: jBB - bruZard - 14.10.2013

Mit dem letzten Update muss man vor einem DrawImage() nicht mehr prüfen ob das Bild fertig geladen ist, das erledigt die Funktion nun selbst und zeichnet erst wenn das Bild verfügbar ist. Außerdem wurde ein Bug mit den Image-Bounds behoben und es gab eine Änderung bei "SaveBuffer()" und "RestoreBuffer()": diese beiden Funktionen müssen nun nur verwendet werden wenn man ein (oder mehrere) Viewports benutzt. Dann wurde noch ein Performance Slowdown behoben.

Zu guter Letzt habe ich auf der Site eine Shoutbox eingerichtet und den Download für die Library verlinkt.


Re: jBB <basic-style-canvas /> - bruZard - 17.10.2013

62,15% ... dutzende Funktionen implementiert und es scheint nicht weniger zu werden Wink

Zwar sind Sounds derzeit noch gar nicht implementiert, aber dafür alle relevanten Funktionen um ein Spiel zu bauen. Maus- und Tastatur-Input ist komplett, man kann Images laden und zeichnen, Arrays definieren (auch mehrdimensional mittels Dim()) und ohnehin die JavaScript Funktionalität ohne Wrapping verwenden. Auch das globale Alpha kann nun mittels SetAlpha() definiert werden, nur Scale und Rotate hat noch keine Funktion. Aber GrabImage() funktioniert ... einfach einen Teil des Canvas kopieren und dann mit Image-Funktionen benutzen.

Weiter gehts ... noch 37,85% to go Big Grin