Blitz3D oder Blitzmax - Bitte um eine kleine Hilfestellung

Übersicht BlitzBasic Allgemein

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen

 

alterego

Betreff: RE: tft, Weazle35, Garfield

BeitragDo, Dez 01, 2005 15:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke Euch für Eure kompetenten Meinungen.

Da es doch auch hier um die Auseinandersetzung Objektorientiert - Nicht objektorientiert geht,
gebe ich auch mal hierzu meine eigene Meinung ab:

Bis vor 10 Jahren hab ich auch nur prozedural programmiert
(Von Assenbler bis C - mach das ja schon seit mehr als 25 Jahren).
Als ich dann mit einem halbwegs objektorientierten 4GL Entwicklungswerkzeug begann,
habe ich mir weder schwer damit getan, noch ist mir etwas abgegeangen.
Das gilt bis heute, da ich auch manchmal rein prozedural kleinere Dinge machen muss.
Da ich berufsmässig programmiere, muss mein Code weder elegant sein, noch muss er
einzigartig sein, aber er soll robust, in 10 Jahren auch wieder ohne Probleme lesbar und änderbar sein.
Auch soll er nur soviele Ressourcen benötigen, dass auch in ungünstigen Situationen
ein einwandfreies Arbeiten möglich ist.
Und daher gilt bei mir: Es ist völlig gleichgültig ob oo. oder nicht oo., was zählt ist nur
die Programmierqualität, deren Aufwand da und dort ident ist.
Schlechte Programme werden durch oo. oder nicht oo. nicht besser oder umgekehrt.
Unterm Strich ist es jedoch möglich, dass sehr gut programmierte oo.Programme eine
bessere Lesbarkeit aufweisen können, als ihre nicht oo.Kollegen.
Aber das bestimmt alleine der Programmierer Smile


RE:Garfield: for x = 1 to String$.length
Hier wäre es interessant, ob String$.length bei jedem Schleifendurchlauf neu ausgewertet wird.
Wenn ja, wäre es höchst unperformant.

Artemis

BeitragDo, Dez 01, 2005 16:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein es wird nicht neu abgefragt, sondern gespeichert.

Sowohl bei der Methode mit Len() als auch bei der mit .Length.

Hier ein kleiner Test-Code
Code: [AUSKLAPPEN]
SuperStrict

Local Text:String = "1234567890"

Local Counter:Byte

For Counter = 1 To Text.Length
   
   Print(Counter)
   Print(Text)
   
   Text = Text[..Text.Length-1]
   
Next

Garfield

BeitragDo, Dez 01, 2005 16:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe auch mal einen Messcode geschrieben, aber wie mein Vater schon sagte: "wer viel mißt mißt viel Mist"

(Da laufen halt noch ein paar Hintergrundprozesse auf dem Rechner)
also was soll man sagen

Die Ergebnisse:

10 Durchläufe 0 to 9
Differenz1 für laenge = Len(txt$)
Differenz2 für For x = 1 To txt.length
Zitat:

0 Differenz 1 = 502
0 Differenz 2 = 503
1 Differenz 1 = 502
1 Differenz 2 = 593
2 Differenz 1 = 502
2 Differenz 2 = 504
3 Differenz 1 = 501
3 Differenz 2 = 593
4 Differenz 1 = 504
4 Differenz 2 = 501
5 Differenz 1 = 502
5 Differenz 2 = 593
6 Differenz 1 = 503
6 Differenz 2 = 502
7 Differenz 1 = 503
7 Differenz 2 = 592
8 Differenz 1 = 503
8 Differenz 2 = 503
9 Differenz 1 = 501
9 Differenz 2 = 299


und hier der Code:
Code: [AUSKLAPPEN]

txt$= "asdaksfsjdfklsdfjsdfjsdjfsdjfsdjfaskdfasdfasdnfasdfn mvasdnfandsfnvadsnfvafnvv a vas dvfjkdasfavd fva sdfvjaksdf vasd fvasdfvjalsdf vadsfjlv sdfjl "

Global delta[10,2]

For xx = 0 To 9

   time1= MilliSecs()

   laenge = Len(txt$)


   For x = 1 To laenge

   Print txt

   Next

   timedelta1 = MilliSecs() -time1


   time2= MilliSecs()

   For x = 1 To txt.length

   Print txt

   Next

   timedelta2 = MilliSecs() -time2

   delta [xx,0] =timedelta1
   delta [xx,1] =timedelta2

Next

For xx = 0 To 9
Print xx+" Differenz 1 = "+delta[xx,0]
Print xx+" Differenz 2 = "+delta[xx,1]

Next
BlitzPlus|BMax|BMax-GUI -- Sony VAIO Win7 * MacBookPro Sierra

TheShadow

Moderator

BeitragDo, Dez 01, 2005 19:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Es gibt nur 2 echte Variable Typen und das erleichtert den einstieg enorm


Int, Float, String



Zitat:
habe grade wieder was in BMAx angefangen und ständig

laenge = len(String$)
for x = 1 to laenge

geschrieben. Bis ich bei der Suche nach anderen Dingen drauf gekommen bin, das so zu schreiben:

for x = 1 to String$.length


Für zeitkritische Codes wird der 1. Code weiterhin von mir empfohlen - da weniger overhead.

Dein Beispiel sagt nix aus - da hier die Bremse Print ist - welche 99,9% der Zeit verbraucht.


ICH empfehle Anfängern Blitz2D oder BlitzPlus zu kaufen - da diese deutlich einfacher sind - zudem gibt es gute Hilfe dazu auf deutsch. Es sein denn du möchtest deine Kinder auf eine schlecht dokumentierte und zudem kompl. englischsprachige Software loslassen - das trübt den Spaß erheblich - auch wenn BlitzMax in vielen Dingen überlegen ist.

Im Übrigen hab ich hier 500KB große Software ohne Variablen-DeklarationsPflicht - und es läuft stabiler als manch andere Software von MS.
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2
 

alterego

Betreff: RE: TheShadow

BeitragDo, Dez 01, 2005 21:51
Antworten mit Zitat
Benutzer-Profile anzeigen
So, habe mich jetzt ein paar Stunden mit Blitzmax auseinandergesetzt.
Macht Spass, hat professionelle Ansätze, aber es scheint, dass eine Doku so gut wie nicht vorhanden ist.
Dachte, dass sei nur für die Demo so, aber es scheint sie definitiv nicht zu geben.
Das ändert meine Meinung natürlich beträchtlich, da es den Kindern (in dem Fall mir)
nicht zumutbar ist, jede Kleinigkeit auszuprobieren, um ein minimales Erfolgserlebnis zu haben.
Bei nicht wirklichen Profi-Entwicklerwerkzeugen muss man natürlich grobe Abstriche bei
der Doku hinnehmen (kostet dafür auch wenig), aber fast gar keine ist mir doch zu wenig.
(Die letzte von mir in Buchform bestellte Doku meines derzeit hauptverwendeten Entwicklungssystemes
braucht deutlich mehr als einen Meter Regalbreite und der Inhalt ist recht klein gedruckt!)

Also wirds nun doch Blitz3D!

Hiermit möchte ich mich noch einmal bei allen bedanken, die mir so nett mit Tips bei der Auswahl weitergeholfen haben.

RE: TheShadow
"...im Übrigen hab ich hier 500KB große Software ohne Variablen-DeklarationsPflicht ..." :

Natürlich kannst Du ohne Dekl.pflicht auch große und stabile Programme machen!
Nur Du benötigst einfach mehr Zeit, um es so zu erstellen und
wir alle wissen, dass die Fehlersuche die wohl ekelhafteste Arbeit bei der Programmerstellung ist!

x-pressive

BeitragDo, Dez 01, 2005 22:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Also für mich ist Blitz3D inziwschen eigentlich der perfekte "Sandkasten" zum Austoben:

- Einfache, klare Befehle, die einerseits den Einstieg leicht machen, andererseits aber auch wirklich genug Power für "richtige", sogar kommerziell verwertbare Spiele bieten.

- Die Kids lernen nicht nur zu programmieren, sondern auch, räumlich zu denken und können sich auch kreativ mit dem Gestalten von 2D-Grafiken UND 3D-Modellen beschäftigen. Hier stellt sich ja auch heraus, was dem Kind besser liegt -"linkshirniges" Coden oder "rechtshirniges" Gestalten -vielleicht aber auch beides.

- Ich bin seit zehn Jahren als selbstständiger (ein-Mann-)Spieleentwickler tätig. Gerade da kommt es bei einer Sprache ja darauf an, ob sich Dinge schnell und ohne großen Aufwand realisieren lassen. Das ist der Hauptgrund, warum ich bei B3D hängen geblieben bin.

- Nur mit 3D-Spielen hat man WIRKLICH das Gefühl, eigene Welten zu erschaffen und sich sogar darin bewegen zu können -als Kind ein Traum! Meiner jedenfalls schon immer.

- Blitz3D ist momentan (noch) der beste "Allrounder"
- 2D ist ebenfalls möglich.
- Es ist bugfrei.
- Die Doku ist sehr gut und ausführlich.
- Es gibt Uuuunmengen code samples!

Aber wieso frägst du die Kids nicht auch einfach mal selbst, was ihnen am meisten Spaß machen würde oder ihre Kreativität am besten anspricht: Anwendungen? 2D-Jump'n'Runs? 3D-Spiele? Nur coden? Artwork und Grafik?

Ich finde es eine wahnsinnig gute Idee, daß du deine Kinder mit der Materie vertraut machen willst -aber bitte, bitte vergiss nicht, auch die gestalterische Kreativität zu fördern und in gleichem Masse mit dem logischen Denken zu entwickeln. Ich kenne leider schon genug Coder, die so trocken und staubig wie ein altes Brot sind -von Phantasie leider keine Spur mehr Sad
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL
 

alterego

Betreff: RE: x-pressive

BeitragFr, Dez 02, 2005 11:51
Antworten mit Zitat
Benutzer-Profile anzeigen
RE: x-pressive

Also zu allererst auch Dir vielen Dank für Deinen Rat.

Zu: ..Ich bin seit zehn Jahren als selbstständiger (ein-Mann-)Spieleentwickler tätig ......
Hut, ab! Du hast verwirklicht, was ich wahrscheinlich auch gerne getan hätte.
Aber mir hat der dafür notwendige Einstieg gefehlt und ich bin sofort auf völlig andere
Sachgebiete gekommen, wo ich leider hängengeblieben bin.
Auch großen Respekt vor Deiner Selbständigkeit, bis vor 10 Jahren hab ich das auch
ähnlich gemacht, aber das Risiko ist mir einfach zu groß geworden.
Wenn man eine Familie ernähren muß, hat man mehr Wert auf Sicherheit zu legen.

Zu: .. Nur mit 3D-Spielen hat man WIRKLICH das Gefühl, eigene Welten zu erschaffen ....
Bis jetzt hatte ich leider keine Gelegenheit das nachzuvollziehen.
Als Spieleanwender allerdings gefällt mir 3D schon ganz gut,
allerdings wird ein schlechtes Spiel durch 3D nicht besser.
Und ja, ich spiele auch heute noch 2D Spiele, die mir Spass machen Smile

Zu: .. Aber wieso frägst du die Kids nicht auch einfach mal selbst ...
Tja, die Antwort ist einfach, sie können es noch gar nicht wissen.
Das stellt sich erst beim Beschäftigen mit dieser Materie heraus.

Zu: ..bitte vergiss nicht, auch die gestalterische Kreativität zu fördern und in gleichem Masse....
Da kann ich Dich völlig beruhigen. Der einzige Grund warum ich mit meinem
Beruf begann war die wahnsinnig große gestalterische Freiheit.
Und glaub mir, in meinem jetzigen Fachgebiet bin ich vielleicht sogar der einzige,
der sich alle gestalterische Freiheit selbst herausnimmt und sogar, wenn es hart auf
hart geht, solche Sachen sagt wie: "Wenn ihr das nicht so wollt, wie ich es euch
machen möchte, dann müsst ihr auf meine Dienste verzichten".
Das kann ich mir allerdings wirklich nur leisten, weil die sogenannte Konkurrenz nicht sehr stark ist Smile
Das führt mich auch gleich auf die Fehler die heutzutage in der Programmentwicklung
häufig gemacht werden (kommerzielle Software):
- Viel zu große Teams (Man hat ja Angst, dass jemand kündigen könnte)
- Kreativität wird auf ein Minimum unterdrückt (Durch Überspezialisierung ist kein Freiraum mehr gegeben)
- Der Kontakt Anwender zu SW-Ersteller ist fast nicht mehr vorhanden (geht oft über mehrere Ecken)
- SW-Ersteller machen grundsätzlich alles, was Auftraggeber (der vielleicht völlig ahnungslos ist)
wünscht, das heisst der SW-Ersteller übernimmt eigentlich keine Verantwortung mehr
- Häufig wird jede möglich Hype, was SW-Technik angeht, mitgemacht,
was oftmals bis zum Rand einer Katastrophe führt.
- Diese Liste lässt sich noch lange fortsetzen ....

Zu: Particle Candy, Sprite Candy, Dont´t get Angry ...
Habe mir die Freiheit genommen und auf Deiner Website vorbeigeschaut.
Bin ganz begeistert, was Du da gezaubert hast.
Vielleicht darf ich mich irgendwann als Käufer bei Dir melden?

Zu: 3D
Wir sind ja noch nicht ganz so weit, um damit etwas beginnen zu können, aber vielleicht hast Du ja
eine Empfehlung für einen einfach zu bedienenden 3D Modeller, der sich mit Blitz3D verwenden lässt.
Für Grafiken würden wir Jasc PaintShopPro 8 verwenden.

So, das war jetzt ein langer Beitrag, aber mich freut es sehr, dass es hier in diesem Forum so viele Gleichgesinnte gibt.

x-pressive

BeitragFr, Dez 02, 2005 14:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
- Viel zu große Teams (Man hat ja Angst, dass jemand kündigen könnte)
- Kreativität wird auf ein Minimum unterdrückt (Durch Überspezialisierung ist kein Freiraum mehr gegeben)
- Der Kontakt Anwender zu SW-Ersteller ist fast nicht mehr vorhanden (geht oft über mehrere Ecken)
- SW-Ersteller machen grundsätzlich alles, was Auftraggeber (der vielleicht völlig ahnungslos ist)
wünscht, das heisst der SW-Ersteller übernimmt eigentlich keine Verantwortung mehr
- Häufig wird jede möglich Hype, was SW-Technik angeht, mitgemacht,
was oftmals bis zum Rand einer Katastrophe führt.
- Diese Liste lässt sich noch lange fortsetzen ....

Da muß ich dir in jedem einzelnen Punkt recht geben -ich habe eine Zeitlang auch in einer SW-Agentur gearbeitet, bis genau diese Dinge mich so angenervt haben, daß ich mich entscheiden musste: "sicheres" Einkommen, oder mir meine Kreativität erhalten. Habe mich damals für letzeres entschieden. Aber du hast auch völlig recht: wenn man eine Familie zu ernähren hat, stellt sich die Frage anders. Aber es gibt hier ja auch einige, die eben nebenbei an Spielen arbeiten und vielleicht sogar zu ihrem Job so noch etwas hinzuverdienen.

Auch in den anderen Punkten hast du recht -ein Spiel wird natürlich nicht besser, nur weil es 3D ist. Aber es gibt viele Vorteile, schon in der Entwicklung:
Bei einem 2D-Spiel ist die Grafik "fest" und "starr". Wenn du z.B. eine Figur in einer bestimmten Pose zeichnest, lässt sich das später nur mühselig wieder ändern. Bei einem 3D-Spiel hast du völlige Freiheit und kannst deine Objekte von allen Seiten betrachten, den Blickwinkel ändern, drehen, zoomen, was auch immer. Unterm Strich ist es sogar einfacher bzw. "ergonomischer", 3D-Spiele zu entwickeln, als 2D-Spiele. Das ist einer der Gründe, warum heute so viele Spiele in 3D entwickelt werden, ob es Sinn macht, oder nicht.

Was ich auch ganz faszinierend finde: ein 3D-Modell ist von der Dateigrösse oft kleiner, als eine entsprechende 2D-Grafik -aber lässt sich sogar von allen Seiten betrachten und 'zoomen', ohne daß es, wie bei einer Grafik, pixelig wirkt. Ausserdem läuft 3D-Grafik heute auf den meisten Rechnern durch Hardware-Unterstützung schneller, als 2D-Grafik (paradox). Das fasziniert mich immer wieder Wink

Okay, es gibt aber auch Nachteile: der Einstieg ist etwas umständlicher, als bei 2D-Spielen. Zum gewohnten Zeichenprogramm (Paint Shop tut es allemal -ich benutze sogar noch die 7er-Version) muss man sich halt auch noch mit einem 3D-Modeller anfreunden und die ganze Arbeitskette (Modellieren, Textur zeichnen, Textur richtig auf das Objekt 'kleben', Modell exportieren) erst einmal verinnerlichen. Ich habe mir das alles selbst über Internet-Tutorials und nicht zuletzt durch dieses Forum beigebracht Wink

Hier mal eine Liste meiner Arbeitsprogramme:

- Blitz3D
- Ein guter Text-Editor zum Coden (macht vieles einfacher)
- Paint Shop Pro 7 (Texturen & Grafiken zeichnen)
- Cinema4D Version 7 (3D Modelle erstellen)
- LithUnwrap (Um die Texturen auf die Modelle zu 'kleben', gibt es kostenlos)
- Ein Soundprogramm (z.B. Goldwave oder das kostenlose Audacity)

Mehr braucht es eigentlich gar nicht. Was Cinema4D angeht: da reicht die "uralte" Version 7 allemal, die ist noch einfacher zu bedienen, als die aktuelle. Vielleicht bekommt man die noch bei eBay für wenige Euro.

Wenn du weitere Fragen dazu hast -immer her damit Smile
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL

TheShadow

Moderator

BeitragFr, Dez 02, 2005 17:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
So, habe mich jetzt ein paar Stunden mit Blitzmax auseinandergesetzt.
Macht Spass, hat professionelle Ansätze, aber es scheint, dass eine Doku so gut wie nicht vorhanden ist.


jup... einzige Hilfe ist mein tool: HOTDOCS - damit wird neue Doku erstellt - welche deutlich übersichtlicher ist. Ansonsten noch Blitzwiki.de - welche jetzt down ist...



Ich persönlich bin kein Fan von 3D-Spielen. Ich weiß nicht wie ihr das sieht, aber heutzutage muß alles 3D sein -egal ob es sein muß oder nicht... Interessanter weise machen mir 3D-Spiele weniger Spaß als 2D-Spiele.

Einzig bei Rennspielen mag es noch gut sein - aber da bewegt man sich weiterhin meist in 2 Dimensionen - >vor/zur. links/rechts.
Außerdem finde ich 2D-Spiele mit 3D-Grafik gut.
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group