Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - Trabant 500

#1
@Marmor
Ja, eine Seilfunktion ist tatsächlich nicht schwer.
Ich dachte aber auch Du wölltest nur ein Seil als Deko oder um etwas daran baumeln zu lassen. Von Kollisionsabfragen sagtest Du ja nichts. Wobei auch das mit einer simplen Verletintegration kein großes Problem darstellt.
#2
Das seh ich auch so Heiko.
Wobei eine integrierte Physikengine wohl etwas Too-Much wäre für ein einfaches BASIC. Ein bissl will man ja noch selber zu tun haben, sonst könnte man ja gleich Gamemaker oder sowas nehmen. ;)
#3
@Quentin
QuoteWas deine Probleme mit der 3D-Darstellung angeht, wäre ein wenig Coding hilfreich.
Code (glbasic) Select

X_LOADOBJ "skybox.ddd", 0
LOADSPRITE "skybox.png", 0

WHILE NOT KEY(1)
X_MAKE3D 1,3000, 45
X_CAMERA 0,0,0,0,0,100
X_AMBIENT_LT 0,RGB(255,255,255)

INC i,1
i=MOD(i+360,360)
X_ROTATION i,0,1,0
X_SETTEXTURE 0,-1
X_DRAWOBJ 0,0

X_MAKE2D

SHOWSCREEN
WEND
END


Quote...wird dir aufgefallen sein, dass das Hauptaugenmerk auf der Unterstützung von was weiss ich wie vielen unterschiedlichen Plattformen gelegen hat.
Ja das ist mir aufgefallen, aber was nützt weitestgehende Plattformunabhängigkeit, wenn grundlegende Befehle fehlen ? Die fehlen dann ja auch auf allen Plattformen. ;)

@Schranz0r
QuoteHallo Trabant500, mal wieder :)
Ja, ich mal wieder. :) Hallo Schranz0r.  :booze:

QuoteGLB ist pure 2D Power...
Wieso wirbt es dann aber mit der 'großartigen' 3D-Funktionalität ?

QuoteSonst ist GLB in 3D echt flott unterwegs!
Das will ich auch gar nicht bezweifeln. Die Geschwindigkeit stand erstmal außen vor.

QuoteWieso für jeden "Mist" nen eigenen Befehl, wenn man es in 3 Zeilen meist selber machen kann?! 
Vielleicht um sich 'BASIC'-Dialekt nennen zu dürfen !?
Mir ist schon klar, daß man sich eine Funktionssammlung zulegt. Das bezieht sich aber in meinem Fall eher auf eine Tileengine, eine Partikelengine und diverse Vektorfunktionen.
Klar kann man sich zu manchen Aufgaben in 3 Zeilen eine einfache Funktion selber schreiben, aber andere echte BASIC-Dialekte haben sowas in einem! Befehl integriert !

QuoteDrehen der Objekte per ID:
Mir ist bewusst, daß man auch das selber machen kann. Aber mir ging es nicht darum das es nicht möglich sei, sondern das sowas bei BASIC direkt implementiert sein müsste. Blitz3D und Purebasic zum Beispiel (um nur mal die 2 bekanntesten zu nennen) haben es ja auch.

QuotePush- und Popmatrix ist pure Power...
Das glaube ich Dir, aber auch da wird GLBasic einem echten BASIC-Dialekt absolut nicht gerecht !

QuoteGernot hat sehrwohl nachgedacht bei seiner Entwicklung...
Ja, sorry. Das war bissl unglücklich formuliert. Ich wollte damit nicht sagen das Gernot 'gar nicht' nachgedacht hat, sondern, meiner Meinung nach, einfach in die falsche Richtung.

QuoteMachs besser...
Ich kann es nicht besser und ich habe größten Respekt vor der ganzen Arbeit die da drinsteckt. Wenn ich es könnte, hätte ich es auch nicht besser, sondern anders gemacht.

@CptnRoughnight
QuoteHaha, hab mich schon gefragt wann so ein troll kommt!
Ich glaube Du hast die Definition eines Trolls nicht verstanden. Ich sagte ja nicht das ich es besser könnte und das jedes Vorschulkind eine eigene Programmiersprache hätte programmieren können !

Quote...dann fängt man sowieso an sich seine eigene Funktionssammlung zu erstellen...
Siehe weiter oben.

QuoteNochwas, das Crossplatform Konzept ist hervorragend.
Dem stimme ich absolut zu ! Allerdings sind 100 Plattformen natürlich auch sehr nützlich um auf allen das Gleiche NICHT machen zu können. ;)
#4
Hi@All

Nachdem ich GLBasic mehr oder weniger den Rücken gekehrt hatte, wollte ich mal die 3D-Funktionalität und Benutzerfreundlichkeit verschiedener Basic-Dialekte vergleichen. Bis jetzt habe ich 3D Sachen immer mit Blitz3D gemacht.
Da ich es in GLBasic auch mal ausprobieren wollte, habe ich in 3D Studio eine Skybox erstellt (also einen Würfel mit 6 Bildern), sie exportiert, konvertiert, in GLBasic geladen, die Kamera in die Mitte gesetzt und die Skybox rotieren lassen.

Dabei sind mir folgende Sachen aufgefallen:
1. Die Textur wurde nicht mitgeladen
2. Der rotierende Würfel wird, trotz Ambientlight (ohne zusätzliche Lichter) ständig hell und dunkel, obwohl die Kamera stillsteht

Des Weiteren hab ich da mal ein paar Fragen was die 3D Sachen in GLBasic angeht:
1. Wieso wird die im 3D-Programm zugewiesene Texturenzugehörigkeit nicht mit konvertiert ?
2. Wieso kann man keine 3ds-Dateien direkt importieren ? Laut einem Thread von 2009 steht das auf der To-Do-Liste, aber das ist ja schon Jahre her !
3. Was stimmt mit dem Licht nicht ?
4. Als ich die Textur manuell zugewiesen habe (Es ging nur eine, nicht alle 6 !), wurde sie außen auf dem Würfel angezeigt, obwohl ich in 3DMax die Normalen geflippt hatte. Konvertierungsfehler ?
5. Wieso muss man dem jeweiligen Objekt JEDESMAL die Textur zur Laufzeit neu zuweisen ?
6. Wieso haben die Objekte keine ID über die man sie ansprechen kann ? Man kann also kein Objekt drehen, skalieren, bewegen etc. ohne es direkt danach zeichnen lassen zu müssen.

Ich kenne das Entitysystem, aber wieso ist sowas nicht von Anfang an integriert worden ? Mir ist schon klar, daß sowas zu programmieren viel Arbeit ist, aber wenn man sich schon die ganze Arbeit macht, wieso macht man es dann nicht gleich richtig ?

Hat jetzt nichts mit 3D zu tun, aber grundlegende Funktionen wie zum Beispiel unausgefüllte Rechtecke oder generell ein Ellipsenbefehl fehlen völlig und auch die Einbindung von DLLs entspricht ganz und gar nicht einem BASIC-Dialekt. Klar könnte man sich selber Funktionen dafür schreiben, aber wenn sowas nicht von Haus aus integriert ist, dürfte sich so eine Sprache nicht 'Basic' nennen, weil sie dem absolut nicht gerecht wird, finde ich.

Alles in Allem hätte GLBasic so eine tolle Sprache werden können, wieso hat man nur soviel falsch gemacht bzw. so wenig nachgedacht bei der Entwicklung ?  :blink:
#5
Wieso willst Du denn für ein einfaches Seil gleich Box2D nehmen ?  :blink:
Programmier das doch selber, denn für sowas simples wäre das Einbinden von Box2D Overkill, finde ich.
#6
Naguddi. Dann warte ich mal auf das nächste Update.  :whistle:
#7
Aber wieso ? Und wann wird das wieder funktionieren ? O_O
#8
Hi@All.

Kann es sein, daß in der neuen Version (9.040) irgendwas nicht stimmt ? Ich habe ein Programm geschrieben was auf dem PC wunderbar läuft, aber wenn ich es für den WIZ kompiliere und dort starte zeigt er nur kurz 'Loading' an und wechselt dann wieder zurück ins Hauptmenü.

Um den Fehler einzukreisen habe ich meinen Code auf das nötigste reduziert:
Code (glbasic) Select
WHILE NOT KEY(28)
SHOWSCREEN
WEND
END


Aber selbst das funktioniert nicht. Weiß jemand warum ? :blink:
#9
Quote from: S. P. Gardebiter on 2010-Dec-08
Dann wäre das aber noch genauso rechenlastig, wenn nicht sogar noch mehr oo'

Eben nicht, solange Du nur die umliegenden Linien überprüfst. Dann ist das sehr schnell, aber die Optimierung überlasse ich Dir.  =D
#10
Ich hätte da folgende Idee:

Du sagst ja das es sich um Rechtecke handelt, die aber nur zum Teil solide sind. Das Gute daran ist ja, daß Du weißt wo sie sich im Koordinatensystem befinden und welche Ausmaße sie haben. Somit könntest Du jedes Rechteck (egal welche Form es nun genau hat) in die Außenlinien unterteilen und eine Linie-Linie-Kollisionsprüfung durchführen.
Dadurch das Du ja den Startpunkt und den Winkel hast, lässt sich der Endpunkt ganz simpel berechnen, sofern Du weißt wie lang Deine Linie werden soll.
#11
Ich denke das der Befehl, gerade für totale Neueinsteiger, nützlich sein kann, da diese sich ja erstmal mit 2D-Grundlagen beschäftigen sollten. Außerdem gibt es ja auch 'DRAWRECT' und 'DRAWLINE'. Wieso also nicht 'DRAWOVAL' ?
Das es die Befehlsliste aufbläht finde ich nicht, denn die Hilfe strotz ja eh so vor Fehlern und ist dermaßen unübersichtlich, daß es auf diesen einen Befehl auch nicht mehr ankommt.  :whistle:
GLBasic ist, meiner Meinung nach, momentan die beste Programmiersprache für Fortgeschrittene, aber für absolute Anfänger aufgrund fehlender grundlegender Befehle (wie eben 'DRAWOVAL' oder ein weiteres Print-System mit Fontloads) ungeeignet und gerade an die sollte man ja denken.
#12
Ok. Mach das. Und bis dahin wärs schön, wenn sich Gernot mal zu dem 'DRAWOVAL'-Thema äußern würde.  ;/
#13
Dann mach das doch. Ich denke das viele, mich eingeschlossen, das gut finden würden.  :good:
#14
@Kitty Hello
Und was ist mit den anderen zwei Fragen ?  O_O

@Schranz0r
Das ist natürlich wirklich das Günstigste, aber eine Original-CD ist eben doch was anderes.  :)
#15
Na eine Lizenz habe ich ja schon. Wäre es nicht möglich nur die CD (Hülle brauch ich nicht) nachzubestellen ?

Zum Thema Startdata habe ich gerade gemerkt das ich vergessen habe einen Kommentar nach den Datawerten auch auszukommentieren. Dennoch hat er mir nicht die betreffende Zeile angezeigt, sondern 'STARTDATA' als Fehler ausgegeben.
Aus welchem Grund kann man eigentlich keine Dims als Bezeichner angeben ? Ist das schwer zu implementieren und wird sowas in Zukunft gehen ?

Wie findest Du DRAWOVAL ? Keine Ausreden Gernot, das muss her ! :D