Interview mit BigCrash

© Thomas Antoni, Oktober 2001

Per E-Mail erreichen Sie BigCrash unter bigcrash@gmx.net



Vorwort von Thomas Antoni

BigCrash kenne ich von vielen Begegnungen in diversen QBasic und Blitz Basic Foren und Chats. Er ist quasi ein "Wanderer" zwischen diesen beiden Programmierwelten - QBasic und Blitz Basic. Im Gegensatz zu anderen Aufsteigern von QB nach BB verleugnet er seine QBasic-Vergangenheit nicht und steht uns hier in diesem Interview Rede und Antwort.


Interview

Thomas: Hi BigCrash! Wie ist Dein richtiger Name
BigCrash: Ich heisse Markus Rossé.

Thomas: Wie alt bist Du und wo wohnst Du?
BigCrash: Ich bin geboren am 25.09.1986, also 15 Jahre alt und komme aus Unterentfelden in der Schweiz.

Thomas: Was machst Du ausbildungs- bzw. berufsmäßig?
BigCrash: Ich bin Schüler.

Thomas: Was erwartet den Besucher auf Deiner Webseite?
BigCrash: Nun, momentan habe ich keine richtige Webseite, ich arbeite aber daran.

Thomas: Wie sieht Dein Webdesign-Konzept aus?
BigCrash: Ansprechendes Design, spannende Inhalte und regelmässige Aktualisierungen, damit die Besucher immer wieder kommen, um zu erfahren, was es Neues gibt.

Thomas: Was sind denn Deine Lieblings-Webseiten?
BigCrash: Die allerwichtigsten Webseiten sind für mich die folgenden Sites über Blitz Basic und QBasic: Thomas: Joi. joi, dass Du meine Seite QBasic.de hier erwähnst, schmeichelt mir mächtig :) BigCrash: Wie war Dein Werdegang als Programmierer?
BigCrash: Hui, das fing alles an, als ich etwa neun war. Ich hatte den 286ger von meinem Vater und ein paar QBasic Bücher. Ich fing an, Beispiele aus dem Buch abzuschreiben und selber auszuprobieren. Und so hat sich alles entwickelt. Da ich relativ lange kein Internet hatte, konnte ich nie QBasic Beispielprogramme aus dem Netz herunterladen und ausprobieren; so habe ich viel Praxis bekommen.

Eines Tages fand ich in einem Forum einen Eintrag von Jan (danke an dieser Stelle), darin stand, das es eine neuartige Programmiersprache gäbe, die Blitz Basic hiesse. Ich habe mir natürlich sofort die Demo gezogen und war hellbegeistert. Und heute bin ich immer noch dabei und werde es wohl vielleicht auch immer bleiben!

Thomas: Sag doch mal ein paar Worte zu Deinen QBasic Programmen.
BigCrash: Da gibt es nicht viel zu sagen. Alle Programme, die ich je geschrieben habe, sind fort. Ich formatierte immer meine Platte neu und sicherte meine Programme nie, da ich dachte, sie wären unnütz. Heute weiss ich, dass das ein Fehler war. Eigentlich schaue ich immer auf eine gute Struktur im Code und achte darauf, dass er schön speicherschonend ist. Ich benutze immer nur SUB's und FUNCTION's, nie GOTO/GOSUB!

Thomas: Welche Art von Programmen hast Du in QBasic seinerzeit geschrieben? Beschreibe sie doch etwas!
BigCrash: Nun, ich habe recht viele Tools geschrieben. Dazu kleine Demos, so Grafik- und Datei-Sachen. Richtige Spiele habe ich nur wenige programmiert. Mir fällt da nur eins ein. Eine Art Asteorids, das ich mit einer Polygone Engine zum Laufen gebracht hatte, in Screen 12 mit 2 Farben, schwarz und weiss - ich hätte auch mehr nehmen können. Das waren noch Zeiten! Ich habe auch einmal mit DirectQB und FutureLib rumprobiert, aber habe es dann gelassen, weil ich was besseres gefunden hatte: BlitzBasic :) !

Thomas: Schade, dass Deine QBasic-Projekte untergegangen sind! Das sollte alle Leser dieses Interviews anregen, regelmäßig ihre wertvollen Quellfiles auf Diskette oder CD-ROM zu sichern :) Und was gibt es über Deine Blitz Basic-Projekte zu berichten?.
BigCrash: Momentan warte ich gespannt auf B3D (Blitz3D). Sehr gern möchte ich eine Art Bomberman Clone machen, oder vielleicht mal ein RTS (Real-Time (Echtzeit-) Strategiespiel).

Thomas: Schön, dass ich mal einen Blitz Basic Experten zu fassen kriege. Ich wollte schon lange mal die folgende Frage loswerden: Gibt es einen Trick, mit dem man in Blitz Basic auch ganz "normale" Anwendnungen mit Windows-gemäßer Bedienoberfläche programmieren kann?
BigCrash: Nun, da man ja von Blitz Basic aus nicht direkt auf Windows-Buttons, Fenster und so weiter zugreifen kann, gibt folgende Lösungen von einigen talentierten Programmierern, die dieses Problem aus der Welt geschafft haben :) Mit Hilfe dieser Programme kann man ganz einfach Buttons, Fenster, usw. einfügen, fast wie bei VB.

Thomas: Mirage stammt übrigens von TheShadow mit dem ich ebenfalls ein Interview gemacht habe (Interview mit TheShadow). BigCrash: In welchen Sprachen programmierst Du?
BigCrash: Ich beherrsche mehr oder weniger die folgenden Programmiersprachen:
  • Qbasic
  • Blitzbasic
  • HTML :)
  • Ein bisschen JS
  • Ein bisschen Assembler
  • C++ (nur Konsolenanwendungen)
(Anmerkungen von Thomas Antoni: Unter "Konsolenanwendung" versteht man ein rein textbasiertes Programm. Auf einer Windows-Plattform laufen Konsolenanwendungen normalerweise in der DOS-Box und haben keine Windows-gemässen Menüs und Dialogboxen.)

Thomas: Kannst Du etwas über Deine momentanen Projekte berichten?
BigCrash: Eigentlich wäre da nur meine BB-Webseite und vielleicht ein Bomberman Clone, den ich wieder aufnehmen werde.

Thomas: Was rätst Du einem QB-Programmierer, der sein Game netzwerkfähig machen will, z.B. über TCP/IP oder IPX?
BigCrash: Es gibt mittlerweilen genug Funktionen, mit denen man aus einem QB-Programm heraus mit TCP/IP und IPX über Netzwerk Daten versenden kann. Vor allem möchte ich an dieser Stelle auf Dreaels Heimseite hinweisen. Das ist eine Superseite mit viel QBasic-Know-How. Dort gibt es auch eine Erklärung, wie man ein TCP/IP Protokoll in QB proggt. Allerdings würde ich für Netzwerk und Internet BlitzBasic empfehlen, da dort TCP/IP Befehle fest eingebaut sind.

Thomas: Was rätst Du einem QB-Programmierer, der aus seinem Programm heraus aufs Internet zugreifen und z.B. E-Mails versenden will?
BigCrash: Ich erkenne keinen Sinn darin, aus QB heraus E-Mails zu versenden. Wer es aber trotzdem versuchen will, sollte sich mit der Spezifikation des SMTP-Protokolls beschäftigen.

Thomas: Ich möchte an dieser Stelle "GetWeb" erwähnen. Das ist eine in VB 6 geschriebene Toolsammlung zum Zugriff auf ein Modem bzw. das Internet von Sebastian Mate; Download auf www.Sm-gimi.de.
BigCrash: Wie siehst Du die Zukunft von QBasic, QuickBasic und MS-DOS?

BigCrash: Nicht mal schlecht! Ich als BB Anhänger finde, dass QB eine Chance hat, weiter zu leben; aber langsam laufen viele talentierte Leute von QB weg und fangen mit Blitz Basic an. Somit wird QB immer eine Programmiersprache für Anfänger bleiben. Ach ja, nicht alle Profis laufen fort, es gibt noch viele, vor allem Fortgeschrittene, die hin und wieder immer noch sehr gerne mit QB programmieren!

Thomas: Auf welche Windows-Programmiersprache sollte ein QB-Fan aufsteigen a) wenn er nur hobbymäßig programmieren will bzw. b) wenn er einen IT-Beruf anstrebt?
BigCrash: Zu a): Blitzbasic, da günstig und sehr einfach, aber doch leistungsfähig! Zu b): C++, aus der IT Branche gar nicht mehr wegzudenken.

Thomas: Was rätst Du einem QBasic Spiele-Programmierer, der Animationen, Sound und Mausbedienung in seine Spiele und sonstigen Programme hineinbringen will?
BigCrash: Also, Anfänger sollte man vielleicht eine Lib wie DirectQB oder FutureLib benutzten, da sie sehr viele Funktionen bereithalten. Für Fortgeschrittene allerdings sollten sich ein bissel Assembler beibringen, da man mit IASM (Inline-Assembler) sehr schnelle Funktionen direkt in sein QB-Programm einbauen kann.

Thomas: Assembler-Routinen in QBasic einbauen - wie geht das ganz konkret? Kannst Du uns dazu ein paar Tipps dazu geben?
BigCrash: Nun, zuerst möchte ich euch mal das deutschsprachige Tutorial "Adoks Way to Assembler" ans Herz legen, das man auf www.qbasic.de runterladen kann.

Ohne ASM wird man in QB nicht weit kommen, das heisst, wer mal richtig in QB programmieren will, sollte ein bisschen ASM beherrschen. Schnelle Grafikausgabe, Sound, alles das ist ohne ASM nicht machbar. Für Leute die aber trotzdem nicht auf solche Sachen verzichten wollen und nicht ASM können, sollten DirectQB lernen.

Thomas: Wie schafft man sich den nötigen freien Speicherplatz für seine Spiele und überwindet die für QBasic geltende 160 KB Grenze für die max. Länge von Code und Daten?
BigCrash: Zuerst sollte man eine klare Vorstellung haben, wie der Code aussehen könnte. Der Code braucht eine Struktur; nur so kann man aus ihm das Maximale heraus holen. Das sollte eigentlich schon ausreichen. Die beste Art, ein Spiel zu programmieren, ist meiner Meinung nach, dass man 2 Programmteile hat, einer in dem das eigentliche Spiel hinterlegt ist, und einen zweiten, in der die "Engine" abgearbeitet wird, wie Grafikfunktionen, Textzeichnen, Playerbewegungen.

Ausserdem kann man alle Daten wie Levels, Grafiken, Sound und Informationstexte in getrennte Dateien auslagern. Wenn das immer noch nicht genügt, hat man entweder nicht sauber genug programmiert (in 160 KB kann man viel einbauen), oder man muss weiter auslagern. Leider wird dann irgendwann einmal das Projekt zu unübersichtlich!

Thomas: Welche weiteren Ratschläge kannst Du einem QBasic- Einsteiger geben?
BigCrash: Sich aktiv in der QB-Community im Internet beschäftigen, viele Programme programmieren, lesen und verstehen. Ich behaupte, ein guter Programmierer kann ein Spiel im Geiste spielen, wenn er sich nur den Code ansieht :)

Thomas: Spiele für Linux - denktst Du über sowas nach?
BigCrash: Nun ja, Linux it eigentlich nur für Server geeignet, und auf denen werden wohl keine Spiele laufen. Aber tatsächlich werden grosse Spiele nach Linux konvertiert, aber ich werde wohl nie Spiele für Linux herstellen!

Thomas: Spieleprogrammierung in VB oder Delphi - macht das Sinn?
BigCrash: Also in VB für mich sicher nicht. Mit Delphi schon mehr, da die Programmiersprache mich an C++ erinnert. Da ich mich aber noch nie gross damit auseinander gesetzt habe, kann ich das nicht gut beurteilen.

Thomas: Was hast Du für Zukunftsprojekte?
BigCrash: Ich möchte mal ein Spiel entwickeln, das mit denjenigen der Branchenriesen konkurrieren kann, und das in Blitz Basic! Und dann werde ich mich noch mit KI beschäftigen und mich zu einem KI-Profi heraufarbeiten :)
(Anmerkung Thomas Antoni: KI = Künstliche Intelligenz = AI = Artificial Intelligence).

Thomas: Welche Art von "Superspiel" schwebt Dir denn vor?
BigCrash: Ersten mal möchte ich sagen: Das Superspiel für Jedermann gibt es nicht. Für mich ist ein Superspiel nicht ein tausendmal kopiertes Echtzeit-Strategiespiel (RTS) oder irgend ein Moorhuhn-Clone. Sondern ich sehe die Spiele der Zukunft in den einfach zu bedienenden Spielen mit viel Tiefgang. Bestes Beispiel sind die Arcadespiele. Du startest sie spielst sofort los. Du bist gefesselt, und wenn du sie fertig gespielt hast, spielst du sie einfach von vorne wieder durch. Solche Spiele werden heute nicht mehr hergestellt, was ich sehr schade finde. Alle grossen Publisher wollen Riesen- Erfolge wie C&C, Anno 1602 oder HalfLife nachprogrammieren. Aber das war einmal. Leider gibt es nicht so viele Leute wie Shigeru Miyamoto oder Peter Molyneux, die einfach neue Ideen bringen und sie verwirklichen. Meiner Meinung nach gehört Spielen, die außer guter Grafik und Sound nichts aufzuweisen haben, keine Zukunft. Auf das Gameplay und Story kommt es an, was leider immer mehr vernachlässigt wird. Aber was soll's.

Ich bitte alle Programmierer, egal ob ihr in QB, Blitz Basic, DarkBasic oder C++ programmieren: Macht nicht einfach Clone, überlegt euch vorher ganz genau, wie euer Projekt auusehen soll. Auch wenn ihr denkt, ein C&C Clone kommt gut an, nach ein paar Wochen steht er im Regal und verstaubt. Macht lieber kleine, aber feine Spiele, denn die sind es, von denen wir in unseren Freunden erzählen (siehe Moorhuhn). Sie haben Langzeitmotivation. Und wenn ihr eine Idee habt, teilt sie anderen mit, damit sie verbessert werden können. Wenn ein Mann/Frau eine gute Idee hat: Was passiert, wenn 20 Leute daran mitdenken und es verbessern? Nur so entstehen neue Spiele, an die man sich gerne wieder zurückerrinnert und denkt: "Mann, so was möchte ich auch mal machen !" :)

Thomas: Wer sind denn Shigeru Miyamoto und Peter Molyneux ?
BigCrash: Miyamato ist der der schlaue Kopf von Nintendo, kann man sagen. Er hat Mario und DonkeyKong erfunden. Molyneux hat sich Black&White, DungeonKeeper, Populus und einige weitere Spiele ausgedacht.

Thomas: Was ist eigentlich KI genau? Kannst Du Beispiele dafür nennen? Hast Du schon etwas in Richtung KI programmiert, z.B. die Gegner bei Bomberman?
BigCrash: Da könnte ich lange erzählen! Eigentlich soll die KI nur einen menschlichen Gegner simulieren. Zum Beispiel in Strategiespielen: Was soll ich "künstliches Intelligenzwesen" machen, wenn ein menschlicher Gegner neben mir vorbei läuft der stärker ist als ich? Fortrennen? Angreifen? Verstärkung holen? Oder ganz was anderes? Es ist eigentlich nicht einmal so schwer eine gute KI zu programmieren. Alles was man braucht, ist Fantasie und sehr sehr viel Zeit. Man soll einfach beginnen und immer weiterentwickeln. Auch wenn die KI nicht komplizierter ist als R=INT(RND(4)), spiel gegen den KI-Gegner und schau, was er falsch macht, wieso und was Du an dieser Stelle gemacht hättest. So kann man schlussändlich eine akzeptable KI erschaffen.

Leider hat dieses Thema doch noch ein paar mehr Facetten, besonders in anderen Spielen, wie zum Beispiel Halo. Was soll dein KI-Verbündeter machen wenn er Front an Front mit 2 KI-Gegnern steht? Soll er sich opfern, soll er abhauen, soll er sie angreifen oder was? Solche Sachen sind viel komplizierter als eine Wegfinde- Routine oder ein Gegner bei Bomberman. Glücklicherweise gibt es im Internet viele Seiten über Lösungen zu KI-Problemen, siehe z.B. auf Rob's Linkseite robsite.de/links.htm#ki

Thomas: Was ist Halo für ein Spiel - das kenne ich noch nicht.
BigCrash: Halo ist ein neuartiges Aktion Spiel für die X-Box, in dem man mit Hilfe eines NPC-Verbündeten die NPC-Feinde besiegen muss (NPC = No-Player Character = ein vom Computer gesteuerter künstlicher Spieler)! Da sind solche Probleme zu lösen wie: Was macht dein NPC-Verbündeter, wenn jemand auf dich ballert :) ! Soll er sich opfern und dazwischen stellen, fliehen, weil er Angst hat oder einfach nur schiessen? Infos über Halo findet ihr im Internet unter www.xbox.com/Games/action/halo.htm

Thomas: Wie willst Du Dich beruflich entwickeln?
BigCrash: Ich möchte mal studieren und vielleicht an einer Uni arbeiten, vielleicht etwas mit KI!

Thomas: Warum hört man so wenig von PowerBasic und VB-DOS - im Vergleich zu QuickBasic?
BigCrash: Diese Sprachen habe eine schlechte Vermarktung. Ausserdem sind sie nicht gratis im Internet zu bekommen und haben keine grosse Community. Viele Faktoren sprechen dagegen, QB ist einfach besser.

Thomas: Hast Du noch andere Hobbies außer Programmieren? Was macht BigCrash so alles privat?
BigCrash: Ausser programmieren? Ich werde anfangen, Tennis zu spielen. Aber eigentlich ist Programmieren mein einziges Hobby.

Thomas: Vielen Dank BigCrash für die höchst aufschlussreichen Antworten. Willst Du noch einen Abschiedsgruß an den Leser richten und etwas von Deinen Erfahrungen als Programmierer und Mensch weitergeben?
BigCrash: Aus aktuellem Anlass (11.9.2001) bin ich immer noch sehr erschüttert über das Unglück in Amerika, New York! Ich möchte hier mein grösstest Beileid ausprechen. Ich hoffe, dass, wenn in ein paar Jahren eine neue Generation von QB Proggern dieses Interviews liest, die Erde nicht mit atomaren Strahlen verseucht ist. Die Vergangenheit hat es immer wieder gezeigt: Gewalt ist keine Lösung für Probleme. Fangt nicht an, agressiv zu werden. Ich habe noch nie jemandem etwas zu leide getan, ich hoffe ihr werdet das auch nicht tun!

(Anmerkung Thomas Antoni: BigCrash spricht hier die Terror-Anschläge an, bei denen heute in den USA 4 Passagierflugzeuge entführt wurden. Zwei davon rasten in die beiden Türme des Word Trade Center in New York und zerstörten diese vollkommen. Ein weiteres Flugzeug lenkten die Terroristen in das Pentagon und zerstörten einen Teil davon. Das 4. Flugzeug zerschellte am Boden. Insgesamt kamen in den Flugzeugen und am Boden tausende von unschuldigen Menschen um.)

Ja, da wären wir schon am Ende und ich habe nicht mal Werbung für BB gemacht. Easy, ist ja auch ein QB-Interview!

Thomas: Danke BigCrash für das interessante Interview!





[zur Startseite http://www.antonis.de]       [zur framelosen Startseite]