Lohnt sich BlitzMax?

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Cykid

Betreff: Lohnt sich BlitzMax?

BeitragFr, Jan 23, 2015 9:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo zusammen Smile
Ich bin ja jetzt schon sehr sehr lange, mal mehr mal weniger Aktiv, mit Blitz3D unterwegs.
So langsam schließt sich mir die Frage: Würde sich ein Umstieg auf BlitzMax lohnen?

Ich meine das feature der Objektorientierung und der Plattformunabhängigkeit reizt mich dann doch, genauso wie der verwendung von OPENGL.

Da stellt sich mir nur die Frage... Brauche ich das?

Gibt es noch signifikante Gründe für BlitzMax?

Lobby

BeitragFr, Jan 23, 2015 9:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Performanz und wohl generell eine bessere Unterstützung für neuere Systeme.
TheoTown - Eine Stadtaufbausimulation für Android, iOS, Windows, Mac OS und Linux

Xeres

Moderator

BeitragFr, Jan 23, 2015 20:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Für Hobbyisten bieten BlitzMax genug Möglichkeiten.
Wenn man mit allem drum und dran programmieren möchte (z.B. Interfaces, Überladung, Funktionspointer) wird man mit BlitzMax nicht glücklich werden.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

BladeRunner

Moderator

BeitragFr, Jan 23, 2015 20:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Immer noch die Sprache mit der ich am meisten mache, weil ich die Syntax sehr mag. Es gibt mächtigeres am Markt, sicher, aber für einen Hobbiisten ist sie einfach genial.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Thunder

BeitragFr, Jan 23, 2015 23:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich mag BlitzMax auch sehr, komme sehr schwer davon weg, weil ein simples Grafikzeugs (das durchaus auch komplexer werden kann, weil ich eben OOP zur Verfügung hab und ein paar echt coole Module) kaum wo anders so einfach zu programmieren ist.

Der Linux-Port ist aber nicht das Wahre... Das Ding funktioniert nicht out of the Box, weil einige Module in brl und pub sich weigern, gelinkt zu werden. Wenn man nur die Module importiert, die man braucht, dann gehts, aber naja...

BlitzMax wird ja auch seit einiger Zeit nicht mehr gepflegt. Dafür, dass man keine Aussicht mehr auf Updates hat, sind 79$ schon einiges.

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSa, Jan 24, 2015 20:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich überlege auch schon lange auf BlitzMax umzusteigen, aber letztendlich möchte ich auch einige lieb gewonnene Funktionen von Blitz3D portieren können. Doch nicht zu allen konnte ich bisher eine Alternative finden. Daher mal ne Frage, welche Möglichkeiten bieten sich folgende Befehle auf BlitzMax zu verwenden?

--- --- ---

CreatePivot im allgemeinen. Also ein oder mehrere gespeicherte Bezugspunkte, aus dessen alle Koordinaten abgehen

ReadPixel(Fast) und WritePixel(Fast) der direkt auf einen Texturpuffer angewendet werden kann

BumpMap im allgemeinen, dass auf eine Textur geladen werden kann

CameraProject, TFormPoint, TFormNormal und TFormed(X/Y/Z) als quasi Umwandlungsparameter von 3D auf 2D

EntityType, Collisions, CountCollisions, Collision(NX/NY) und EntityRadius also eine simple Kollisionsabfrage von Radien auf Triangles die auf der Grafikkarte ablaufen

--- --- ---

Ich versuche schon seit längerem die Draw3D2 auf eine andere Programmiersprache zu portieren und möchte möglichst vermeiden, dass mir die gleiche Zeit ins Land geht, wie es mit NuclearBasic passiert ist.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D
 

PhillipK

BeitragSa, Jan 24, 2015 23:43
Antworten mit Zitat
Benutzer-Profile anzeigen
@Hectic:

Alles, ausser den Texturebefehlen, lässt sich mit Minib3d umsetzen soweit ich weiß.
Wenn ich mal ganz tief grabe, orientiert sich minib3d ganz exakt an den befehlen, wie sie in Blitz3d vorhanden sind.
Die WritePixel & Readpixel sache lässt sich in OpenGL recht einfach umsetzen, stichwort FrameBufferObject (FBO). Nobody hat mir hierzu mal einen kleinen wrapper geschickt, das sind kaum 30 zeilen code.
Allerdings habe ich nie Minib3d in combi mit den reinen OpenGL befehlen verwendet.
Die Bumpmap lässt sich auch über OpenGL recht einfach umsetzen. Selbst ich, als absoluter vollidiot, kann innerhalb von 30minuten einen kleinen Bumpmap shader umsetzen. OHNE shader weiß ich allerdings keine alternative.

Zum Topic:
Ich finde, das Blitzmax auf jedenfall lohnt. Die syntax ist einfach, objekt orientiertheit ist auch supi. Es mangelt am 3d und ein paar weiteren befehlen (DesktopBuffer() etc), aber es lässt sich alles über google oder hirnschmalz nachlegen. 95% der sachen die man brauchen könnte sind bereits in modulen umgesetzt (von anderen usern). allerdings sind etwa 25% der module mittlerweile schon nichtmehr aufzutreiben (tote links, inaktive autoren).Allerdings würde ich mittlerweile auch monkey nichtmehr missen wollen - es bleibt abzuwägen - wenn man ein wenig weiter experiementieren möchte ist blitzmax auf jedenfall sein geld wert. Es lässt sich nahezu jedes tutorial umsetzen, jeder algorithmus schreiben. Win API etc lassen sich einfacher nutzen als unter blitz3d (mein empfinden!) und wenn wirklich was fehlt was man in blitz3d hat, lässt sich der sourcecode zu ~98% in wenigen minuten umschreiben.

Mein empfinden:
Wenn man schnell und einfach was in 2d haben möchte, was mit modernen programmiersprachen mithalten kann, ist blitzmax auf jedenfall sein geld wert. Bei 3d wirds kritischer, allerdings gibts minib3d, leadwerks und weitere. Alle haben ihre vor und nachteile, aber alle helfen stark weiter - zumal minib3d kostenlos zu downloaden ist. Es fehlen kleinigkeiten wie interface, method overload oder propertys, aber über kleinere hacks lässt sich alles lösen. Da es das in älteren blitz sprachen auch nicht gibt, wird man nichts vermissen sondern nur gewinnen. Wer moderner denken will, sollte aber auch monkey in betracht ziehen Smile

DAK

BeitragSo, Jan 25, 2015 1:20
Antworten mit Zitat
Benutzer-Profile anzeigen
So, hab diesen Post jetzt zum dritten Mal angefangen, aber bisher immer am Handy und dann hab ich den Browser mal 5 Min im Hintergrund gehabt und die Seite war weg -.-

Ob sich BMax auszahlt kommt drauf an, was man erwartet oder haben will.

Im Vergleich zu BB ist BMax deutlich besser. Gerade im 2D-Bereich geht so viel mehr als noch in BB (Transparenz, Echtzeit-Rotation und -Skalierung, Einfärben, ...). Die OOP-Umsetzung ist zwar im Vergleich zu anderen modernen Sprachen recht schlampig und simpel (keine Interfaces/Mehrfachvererbung, keine sinnvollen Sichtbarkeitsmodifikatoren, keine Überladung, keine Generics), gibt aber im Endeffekt doch viel her und erlaubt wesentlich mehr Freiheit als die Types in BB. Gerade wenn es um Datenverwaltung und Algorithmen geht kann man hier viel mehr machen als in BB.
Multithreading erlaubt das Verwenden von Multicore-Prozessoren und erlaubt die Performance stark zu heben, ist aber wieder etwas schlampig und halbherzig umgesetzt, wenn man es mit anderen modernen Sprachen vergleicht.
Es ist auch etwas zukunftssicherer als BB, da es Dx9 oder OpenGL als Grafikengine verwendet.
Module erlauben das einfache Erweitern der Sprache.
Es ist im Endeffekt eine gute Weiterführung einer Anfängersprache.

Allerdings ist BMax von der Entwicklung her schon länger tot. Das merkt man auch an der Technik. So ist Dx9 jetzt auch schon etwas älter. Ich weiß nicht, welche OpenGL-Version unterstützt wird, aber die wird auch nicht viel neuer sein. Soweit ich mich erinnere kann BMax auch nur auf 32-Bit kompilieren, was bei größeren Projekten auch schon mal ein Limit sein kann. Wie ich noch aktiv BMax verwendet habe (bis vor drei Jahren) gab es noch keine richtig gute kostenlose 3D-Engine für BMax, die Blitz3D gleich kommt und auf OpenGL basiert, weiß nicht, ob sich das inzwischen geändert hat.
Die Plattformunabhängigkeit ist auch so eine Sache. Um für eine Plattform kompilieren zu können, muss man BMax auf dieser Plattform laufen lassen. Cross-Compiler oder plattformunabhängige Binaries, wie man es z.B. aus Java kennt, gibt es nicht. Und BMax unter Linux zum Laufen bekommen ist keine Anfängeraufgabe, das ist schon etwas komplizierter.
Und mit all dem sind $80 doch schon sehr teuer (kauft man es hier muss man noch Mehrwertsteuer aufschlagen, weswegen es aktuell auf ~€93 kommt).

Wenn man BMax mit anderen modernen Sprachen vergleicht, dann schaut es da imho nicht so gut aus. Als reine Anfängersprache finde ich BMax eigentlich zu komplex, nicht mehr so simpel wie BB. Wo die meisten Erweiterungen sehr sinnvoll sind, machen sie die Sprache doch um Einiges komplexer. Dadurch, dass viele der Konzepte (z.B. Multithreading und OOP) nur schlampig umgesetzt sind, verliert die Sprache doch Einiges an Attraktivität. Vergleicht man BMax z.B. mit Java, dann sieht es für mich so aus:
-) Java ist deutlich sauberer als BMax, was die Sprache selbst angeht
-) Java kann 64-Bit-Binaries machen
-) Java hat Binary-Plattformunabhängigkeit: Ein Mal kompilieren, und die gleiche Datei rennt auf Windows, Linux, Mac
-) Es gibt einige extrem mächtige 3D-Engines für Java, und die kostenlos
-) Java ist nicht wirklich komplizierter als BMax
-) Für Java muss man die C-Syntax mögen (einziger wirklicher Nachteil)
-) Java ist insgesamt kostenlos, wogegen BMax >€90 kostet

Und ein ähnlicher Vergleich lässt sich auch mit anderen Sprachen machen.

Aber im Endeffekt ist es jedermans eigene Präferenz.
Gewinner der 6. und der 68. BlitzCodeCompo

Cykid

BeitragSo, Jan 25, 2015 5:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Syntaxtechnisch kein Problem da ich eh beruflich mit PHP zu tuen habe und in der Uni C und Java lerne ^^

Also würde sich eignetlich Java weitaus mehr lohnen. Dachte nur das Java halt sehr langsam ist und daher nie richtig läuft bei spielen

DAK

BeitragSo, Jan 25, 2015 11:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Java ist auf jeden Fall die professionellere und zukunftssicherere Sprache.

Inzwischen ist Java eigentlich schon recht schnell. Das Bild das Java so langsam ist kommt aus der Anfangszeit, wo es wirklich sehr langsam war. Im Vergleich zu BMax ist Java dank 64-Bit-Unterstützung und bei Verwendung von Multithreading in vielen Fällen sogar schneller als BMax. Vor allem auch, wenn man eine Grafikengine verwendet, die moderne Grafikkarten sinnvoll verwendet.

Dazu kommt, das es in Java sehr gute Implementationen der meisten wichtigen Algos und Datenstrukturen gibt, womit die Programe oft auch deutlich schneller werden können.

Allerdings bin ich ein Bisschen ein Java-Fanboy, also bild dir dazu deine eigene Meinung Wink

Seit ich vor 3 Jahren auf Java umgestiegen bin hab ich BMax nicht vermisst.
Gewinner der 6. und der 68. BlitzCodeCompo

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group