Ein Paar Fragen

Previous topic - Next topic

Sebe

Hiho liebe GLBasic Community!
Ich (20 Jahre) habe seit meinem 12ten Lebensjahr an diversen Hobbyspielen mitgewirkt. Angefangen hat alles mit dem "Gamemaker Professional". Dannach ging die Reise weiter über VisualBasic und diverse C++ Versuche (C++ ist ne schöne Sprache, aber DirectX ist einmal Hölle und zurück ^^). Zur Zeit bin ich Informatikstudent, aber mein Ziel war immer meinen Lebensunterhalt mit Spieleprogrammierung zu bestreiten. Für grössere Projekte benutze ich eine Kombination aus C++/PureBasic mit der ColdSteel Engine.
Für kleinere Projekte lohnt sich der Aufwand aber nicht und deshalb stellt sich für mich nun die Frage: Blitz3D, DarkBasicPro oder GLBasic?

Mit Blitz3D habe ich bereits gearbeitet, allerdings habe ich Bedenken, dass der Support (nachdem BlitzMax nun schon eine Weile auf dem Markt ist) eingestellt wird und ich recht schnell die Grenzen dieser Sprache in Sachen 3D Engine erreiche. DarkBasicPro scheint mir recht gut zu sein, allerdings hört man in nicht-DB-Foren nur Schlechtes über diese Sprache. GLBasic macht einen recht guten und ambitionierten Eindruck. Einige Fragen habe ich allerdings und ich hoffe, hier Antworten zu finden:

1. Welche Rendertechniken implementiert GLBasic, um Rechenaufwand bei grösseren 3D Szenen zu minimieren (Stichwort: PVS, etc.)?

2. Funktioniert BumpMapping mit GLBasic wirklich so einfach?

3. Kollisionen waren bei Blitz3D ein wunder Punkt. Wie sieht es in GLBasic aus?

4. Wie einfach bekommt man in GLBasic Echtzeitschatten?

5. Welches 3D Modellformat ist das beste für GLBasic bzw. welche Formate werden überhaupt unterstützt? Als Modelling Programm verwende ich Nendo (exportiert .ndo, .obj, .x, .3ds, .wrl) und DoGA L3 (exportiert .dxf, .wrl, .x), zum Animieren PaceMaker (exportiert .b3d, .x) und zum konvertieren Ultimate Unwrap 3d (exportiert so ziemlich alles KLICK)? Wie sieht es mit Animationen aus?.

6. Hat GLBasic Befehle/Funktionen für 3D Audio? Hierzu kann ich auf der Seite nichts finden.

7. Wie sieht es mit Multiplayer Funktionen aus?

8. Kann man Shader in GLBasic benutzen und wenn ja: wie einfach und welches Format?

Ich hoffe die Fragen sind nicht zu blöd. Bin ja mal gespannt, ob sich GLBasic für mich eignet.
Ach ja: Frohe Weinachten und ein schönes neues Jahr! GLBasic sieht von den Features her ja nett aus. Allerdings sieht auch Torque recht nett aus und ist eigentlich - sagen wir mal - nicht so toll. Danke schonmal im Vorraus für eure Antworten, ich hoffe eure Zeit nicht gestolen zu haben

Kitty Hello

1. In GLBasic werden einzelne Objekte gerendert. Was nicht sichtbar ist (sphere in cone test) bleibt weg. Schnell und effizient, wenn man die Grafiken nicht zu groß macht.
2. BumpMapping? Klar - schau die das Demo an, da ist der Quellcode dabei. CelShading ist noch leichter.
3. Kollisionen gehen: Obj<>Sphere, Obj<>AABB, Obj<>Ray/Line
4. Nicht. Hab ich mir mal überlegt, wäre einfach, aber Zeit fehlt gerade.
5. 3ds und x sollten funktionieren.
6. Nein, GLBasic hat Stereo Audio
7. Netzwerkfunkionalität ist da, auch Multiplatform (Linux-Windows-PocketPC)
8. Nein, derzeit noch nicht. Wenn inline C++ kommt, dann gehen alle. Geplant hatte ich auch mal GLSL Shader.
Ich bin halt der Entwickler von GLBasic - meine Aussagen sind hier nicht 100% objektiv, wie man vermuten könnte.

Guten Rutsch,
-Gernot

Sebe

Quote1. In GLBasic werden einzelne Objekte gerendert. Was nicht sichtbar ist (sphere in cone test) bleibt weg. Schnell und effizient, wenn man die Grafiken nicht zu groß macht.
Befriedigend. Erweiterte Features wie z.B. Octree wären wünschenswert, sind aber nicht notwendig da ich etwas zum entwickeln kleinerer Spiele suche.

Quote2. BumpMapping? Klar - schau die das Demo an, da ist der Quellcode dabei. CelShading ist noch leichter.
Sehr schön, baust du demnächst evtl. noch Normal- und Parallaxmapping ein?

Quote3. Kollisionen gehen: Obj<>Sphere, Obj<>AABB, Obj<>Ray/Line
Also Mesh<>Sphere, Mesh<>Rectangle und Mesh<>Line (<--- SEHR SCHÖN!). Reicht vollkommen für kleinere Spiele.

Quote4. Nicht. Hab ich mir mal überlegt, wäre einfach, aber Zeit fehlt gerade.
Das ist sehr schade. Besteht die Möglichkeit, dass du Schatten auf die ToDo Liste setzt? Mit Echtzeitschatten kann man seinen Programmen eine Menge Atmosphäre verleihen. Auch kleinere Spiele würde enorm davon profitieren. Z.B. ein 3D Mahjong Spiel, bei dem der Mauszeiger des Spielers ein Lichtpunkt ist und die Steine entsprechende Schatten werfen.

Quote5. 3ds und x sollten funktionieren.
Also Animation fällt mit .3ds schon mal flach. Ich würde dringend empfehlen, dass du dir eventuell das b3d Format ansiehst: http://www.blitzbasic.co.nz/sdkspecs/sdkspecs/b3dfile_specs.txt Viele Programme unterstützen den Export als b3d Modell (bei PaceMaker ist es sogar die Primärlösung) und alle nötigen Features sind implementiert. Wäre das eventuell ebenfalls einen Eintrag auf der ToDo Liste wert?

Quote6. Nein, GLBasic hat Stereo Audio
Das ist einerseits schade, andererseits erleichtert dies das Programmieren auch ungemein. Eine weitere Frage hierzu: Welche Sound- und Musikformate werden unterstützt? mp3 hab ich schon gelesen. Wie sieht es mit ogg aus? Andere Formate ausser diesen beiden?

Quote7. Netzwerkfunkionalität ist da, auch Multiplatform (Linux-Windows-PocketPC)
Sehr schön. Welche Protokolle werden unterstützt? TCP/IP und/oder UDP? Sonstige erwähnenswerte Funktionen (z.B. die Möglichkeit, Internetadressen einzugeben und einen Rückgabewert abzufragen zum Beispiel phpstring = ReturnHTML("www.myip.com") und phpstring würde dann die InternetIP zurückliefern)?

Quote8. Nein, derzeit noch nicht. Wenn inline C++ kommt, dann gehen alle. Geplant hatte ich auch mal GLSL Shader. Ich bin halt der Entwickler von GLBasic - meine Aussagen sind hier nicht 100% objektiv, wie man vermuten könnte.
Imho gibt es nur eine nützliche Verwendung von inline C++: Objekte. Dies ist aber auch wieder nichtig, da man die Objekte wohl kaum in GLBasic weiterverwenden kann -.- Obwohl, für Userlibs in Form von C++ Quellcodes wäre es schon auch praktisch, wobei wohl die Wenigsten XPlattform fähigen Code fabrizieren werden. Insofern wäre dll Unterstützung ähnlich interessant.

Nochmal 2 Fragen:

1. Ist ein MacOS Port geplant?

2. Kann ich Linux(PocketPC/[irgend ein zukünftiger Port])programme unter Windows kompilieren?

Sieht gut aus mit GLBasic, allerdings wären mir Echtzeitschatten schon wichtig. b3d Unterstützung wäre schön, aber darauf könnte ich auch noch 1 Jahr oder so warten :) Bin mal gespannt auf die Antwort ^^

Kitty Hello

Hi,

b3d Format ist mit unangenehm - steht ja "BlitzBasic" irgendwie 'drin. Da gibt's bestimmt einen Weg. Zur Not hilft Milkshape immer, das liest alles und exportiert nach .x oder .md2. Ideal.
Musik geht alles,was der Mediaplayer kann. Wenn Du einen ogg Codec installierst (die gibt's), geht's. Die Sounds sollten WAV sein. Kann man mit "ShoeBox" komprimieren.
TCI und UDP sind 'drin - glaub ich. Hab ich schon lange nichts mehr damit gemacht. Eine Webseite herunterladen will ich demnächst machen. Auch einen Highscore php Server stell ich dann zur Verfügung unter www.glbasic.com.
Mac port ist geplant, aber ich müsst erstmal einen Mac kaufen usw...
Kompiliert wird _immer_ unter Windows. Leider hab ich's unter WINE (Linux) noch nicht ganz zum Laufen gebracht, arbeite aber 'dran. Der Editor geht schon unter WINE.

Sebe

Quoteb3d Format ist mit unangenehm - steht ja "BlitzBasic" irgendwie 'drin
Verstehe ich schon irgendwie, aber immerhin ist das Format PublicDomain und was für den Kunden gut ist kann dir ja eigentlich nur Recht sein ^^ Ist für mich kein "muß", aber ich würde an deiner Stelle darüber nachdenken. Wie gesagt: Da Animation per .3ds flach fällt bleiben höchstens noch .x und .md2. Und ich glaube .md2 unterstützt keine Bones :-/ Bleibt also noch .x und mal ehrlich: das DirectX Modellformat in einer OpenGL Engine (womöglich auch noch unter Linux!) zu nutzen wäre mir unangenehmer, als das Blitz3D Format in einer anderen Sprache zu unterstützen =)

QuoteDa gibt's bestimmt einen Weg. Zur Not hilft Milkshape immer, das liest alles und exportiert nach .x oder .md2.
Milkshape wären nochmal 20 Euro zusätzlich. Sicher, ich kann Unwrap3D dafür benutzen, aber .b3d Unterstützung wäre sicher nicht nur für mich ein Plus.

QuoteIdeal.
Sofern .md2 Bones unterstützt (bin mir nicht sicher gerade), dann ja. Wo wir gerade dabei sind: Welche Animationsmöglichkeiten bietet GLBasic eigentlich?

QuoteMusik geht alles,was der Mediaplayer kann. Wenn Du einen ogg Codec installierst (die gibt's), geht's. Die Sounds sollten WAV sein. Kann man mit "ShoeBox" komprimieren.
Das ist natürlich etwas blöd. ogg ist viel besser für Musik geeignet als mp3. Bei gleicher Qualität komprimiert es besser und dazu ist es vollkommen lizenzfrei. Muss mal sehen, unter Windows reicht es evtl. eine dll beizulegen. Unter Linux kann ich evtl davon ausgehen, dass der ogg Codec standardmässig vorhanden ist. Ich verwende nämlich den Music Maker 2006 und für mp3 müsste ich zusätzliche Gebühren zahlen.

QuoteTCI und UDP sind 'drin - glaub ich. Hab ich schon lange nichts mehr damit gemacht.
Naja, TCP muß eigentlich drin sein. Ohne das fällt jeder http, ftp etc. Zugriff flach. UDP wäre für schnelle Actionspiele sehr sinnvoll, da hier die (für Actionspiele überflüssige) Ankunftskontrolle von TCP wegfällt.

QuoteEine Webseite herunterladen will ich demnächst machen.
Also ist das praktisch die von mir beschriebene ReturnHTML(INETADRESSE) Funktion? Ausgezeichnet ^^

QuoteMac port ist geplant, aber ich müsst erstmal einen Mac kaufen usw...
Dann wäre es wohl besser auf die ersten Intel-Macs zu warten. Aber wenn es schon auf der ToDo Liste steht bin ich zufrieden ^^

QuoteKompiliert wird _immer_ unter Windows. Leider hab ich's unter WINE (Linux) noch nicht ganz zum Laufen gebracht, arbeite aber 'dran. Der Editor geht schon unter WINE.
Ehrlich gesagt habe ich kein Interesse UNTER Linux zu entwickeln. Aber ich will meine Spiele auch FÜR Linux entwickeln. Wenn ich also unter Windows sowohl Windows, als auch Linux, PocketPC (und später evtl MacOS) Programme kompilieren kann wird ein Traum war. Damit hat GLBasic einen GEWALTIGEN Pluspunkt gegenüber DarkbasicPro gesammelt :-D

Noch eine interessante Frage: Wie viele Leute haben GLBasic inzwischen gekauft/lizensiert und entwickeln damit. Das Forum ist ja erstaunlich leer. Selbst bei PureBasic ist mehr los, ich glaube daran muss man (ich/wir) mal was ändern ^^ GLBasic hat so viele positive Eigenschaften, liegt es evtl an der deutschen Herkunft? Wie auch immer, wenn ich mich pro GL entscheiden sollte (und dannach sieht es im Moment aus, ich will nur alle Fragen klären. Als Informatikstudent ist man fast immer knapp bei Kasse) stehe ich gerne mit Rat und Tat zur Seite so gut ich kann ^^

Kitty Hello

Animationen werden als keyframes gespeichert. Ein .x kann nicht direkt geladen werden, muss man nach .ddd (GLBasic 3D) konvertieren.

Derzeit gibt es knapp 100 Lizenzen für GLBasic. Vorwiegend aus .de - ist mein Englisch so schlech? ;)

Das ogg kann man ganz einfach in mp3 konviertieren. Mit LAME encoder z.B. - der kostet nix. Du brauchst nur den ogg codec für den Mediaplayer installieren - kannst Du ja zu Deinem Spiel dazulegen.

BTW: Wie ist der Music Maker. Ich bin ein Musikalischer Volltrottel, aber ich bräuchte ab und an auch mal 'ne Tune. Kann das wirklich jeder? Also: Klick+Play? Dann kauf ich mir sowas auch mal...

D2O

Quote from: GernotFrischDas ogg kann man ganz einfach in mp3 konviertieren. Mit LAME encoder z.B. - der kostet nix. Du brauchst nur den ogg codec für den Mediaplayer installieren - kannst Du ja zu Deinem Spiel dazulegen.

BTW: Wie ist der Music Maker. Ich bin ein Musikalischer Volltrottel, aber ich bräuchte ab und an auch mal 'ne Tune. Kann das wirklich jeder? Also: Klick+Play? Dann kauf ich mir sowas auch mal...
Hi, das mit LAME ist schon richtig.
Aber will man hier ein Shareware Produkt verkaufen werden hier auch wieder Lizenskosten fällig :(

Musik Maker ist nicht schlecht, man hat hier sehr schnell erfolge und es muss nicht immer Techno dabei raus kommen :)
z.B. //www.deuteriumoxid.com/sound/Aufbruch1.mp3
Schau doch einfach mal in einem Media... Saturn... vorbei,
oder in die Kataloge von Pearl.de bzw. Smm.de rein.
Hier gibts oftmals den MusikMaker ab 15 Euronen (1-3 Jahre älter version).
Da ist also nicht so arg viel Kaputt gemacht.


Gruss vom Bodensee
I7 2600K; 8 GB RAM ; Win10 Pro x64 | NVidia GTX 750 TI 2048MB ; Realtec OnBoard Sound;
Lenovo ThinkPad T400: XP Pro
GLB Premium-immer Aktuell

Sebe

QuoteAnimationen werden als keyframes gespeichert. Ein .x kann nicht direkt geladen werden, muss man nach .ddd (GLBasic 3D) konvertieren.
Na dann bietet .b3d sowieso keine Vorteile mehr soweit ich das überblicken kann. md2 unterstützt ja bereits Keyframe Animationen, kein Wunder dass .x Dateien erst in das GL Basic Format konvertiert werden müssen (die Bones werden in Keyframes rübergerechnet oder?). Das ist zwar auch akzeptabel, wenn du für GLBasic aber irgendwann einmal eine Physikengine planst, dann kommst du um Bones fast nicht herum (es sei denn du willst auf Ragdolls verzichten, aber wer will das schon ^^).

QuoteDerzeit gibt es knapp 100 Lizenzen für GLBasic. Vorwiegend aus .de - ist mein Englisch so schlech?
Da sehe ich zwei Gründe:

1. Bei deutschen Entwicklern hat GL Basic ein wenig Heimvorteil, d.h. manche Entwickler werden statt Blitz3D, etc. eher GLBasic gekauft haben, weil sie mit dem Autor in ihrer Muttersprache in Kontakt treten können

2. GLBasic ist in englischen Foren so gut wie nicht promoted. Insbesondere 2 Seiten sind hier immens wichtig:

a) codersworkshop.com -> hier sollte man eventuell mal die Admins des Forums kontaktieren ob es möglich wäre, ein GLBasic Unterforum einzurichten. Blitz3D, DarkBasic und PureBasic sind hier vertreten und GLBasic dürfte gewaltig von einem eigenen Unterforum profitieren
b) devmaster.net/engines/ -> die im Moment aktuellste Liste was 3D Engines und Game Programming Languages angeht. Auch hier sind DarkBasic (Pro) und Blitz3D vertreten. Wenn sich alle User von GLBasic dort anmelden und GLBasic (wenn es dann dort gelistet ist) gut bewerten (und zwar möglichst mit Kommentaren zu ihrer Wertung), dann könnte GLBasic durchaus in die Top10 der kommerziellen Engines kommen.

Insgesammt wäre ein schöneres Seitenlayout von Nutzen. Einige ehemalige Hobbyprogrammier-Kollegen von mir meinten wörtlich: "Wenn die Sprache so toll ist, dann hätten sie ihr auch eine bessere Seite spendieren können." Vergleiche mal glbasic.com mit thegamecreators.com oder blitzbasic.com. Die Useability dieser Seite steht ausser Frage, aber das Design ist nicht besonders ansprechend. Eine Lösung mit recht gutem Preis/Leistungsverhältnis stellt eventuell cmsimple dar (www.cmsimple.de). Da gibt es recht schöne Templates (lizensierbar) und wenn man dieses CMS zum Laufen bringt ist es echt ein schönes System. Nur ein Vorschlag von mir, aber vielleicht lässt sich ja auch durch das Austauschen der Grafiken die Seite optimieren. Die Verpackung verkauft nunmal den Inhalt, deshalb wurde Doom3 auch erfolgreich, obwohl das Spiel bis auf die hübsche Grafik absolut nichts Neues zu bieten hatte ^^

Vampire

@sebe
"schönheit" ist sehr subjektiv und  liegt im auge des betrachters.
mir gefällt die GLBasic-seite sehr gut. ich weiss gar nicht was du willst...

Sebe

Für mich ist die Ästhetik einer Seite nicht entscheidend. Wichtig ist, was sich hinter dem Produkt verbirgt. Es war ja auch nur ein Gedankenanstoß. Die Darkbasic Seite kommt einfach alleine wegen der Aufmachung professioneller rüber. Muss nicht heissen, dass das Produkt besser ist. Aber die Leute von TGC haben es schon immer verstanden die Mitelmäßigkeit ihrer Produkte mit gutem Marketing zu kaschieren.

Quoteich weiss gar nicht was du willst...
Mehr Interesse an GLBasic in der Indie-GameDev-Szene. Je grösser die Userbase, desto mehr Tutorials, Tips und Support anderer Produkte für diese Sprache wird es geben. Beispiel: Blitz3D. Die Userbase ist gewaltig, es gibt unzählige Einträge in den Code Archives und sehr viel Unterstützung von Drittherstellern (zum Beispiel: GameSpace, Cartography Shop/3D World Studio, giles, Tattoo, Character Shop, Character FX, Milkshape 3D, FragMotion, PaceMaker, T.ED). Ich sehe keinen Grund, weshalb GLBasic solch eine Unterstützung versagt bleiben sollte. Alles was fehlt ist ein bisschen öffentliches Interesse und ein guter Ersteindruck. Die Seite kann einfach nicht den Anspruch haben, jedem Besucher gefallen zu wollen. Keine Seite kann das. Aber bei glbasic.com ist vom Stil her noch was machbar. Wenn dies der Autor wünscht selbstverständlich. Wenn die Seite genau dem Wunsch des Admins entspricht sollte sie nicht geändert werden, da es sehr frustrierend ist wenn einem die eigene Seite nichtmehr gefällt (kenne ich nur all zu gut). Soviel dazu, sollte kein GLBasic Bashing sein (aus dem Alter bin ich raus :-P)

Kitty Hello

Ja, die Farben der Seite hab ich schon oft kritisiert bekommen. Bin halt ein Ingenieur, kein Grafiker/Designer. Wenn einer einen Vorschlag hat, her damit. :)

Sebe

Bin auch kein Webdesigner, aber 3 Sachen kann ich dir raten:

1. Maximal 3 Farben verwenden, alles was darüber hinausgeht ist Overkil

2. Keine Komplementärfarben gegeneinander verwenden

3. Weisse Schrift auf schwarzem Hintergrund strengt die Augen unnötig an, dunkle Schrift auf hellem Hintergrund ist besser

Der Aufbau der Seite ist ansich nämlich gut durchdacht :-)