Interview mit NicTheQuick

© Thomas Antoni, April 2002





Vorwort von Thomas Antoni

NicTheQuick ist seit rund einem viertel Jahr einer der eifrigsten Besucher unseres QBasic-Gemeinschaftsforums www.qbasic.de/forum/ und fällt dort durch kompetente Antworten auf die Fragen der QBasic-Newbies auf sowie durch das Stellen kniffliger Profi-Fragen.

Als Programierer scheut sich NicTheQuick nicht davor, dicke Bretter zu bohren. Außer seinen schön animierten Spielen
  • Gewinn mit 4 - Variante des Spiels "4 in einer Reihe", spielbar gegen einen menschlichen Gegner oder gegen die KI (Künstliche Intelligenz) des Computergegners
  • Space Labyrinth - Finde schnellstmöglich den Weg zum Ziel im Labyrinth
  • Wer wird Millionär? - Quiz mit grafisch ansprechender Oberfläche
hat NicTheQuick durchaus anspruchvolle Anwendungen programmiert wie etwa
  • Countdown - Countdown-Timer über große, Jahre umfassende Zeitspannen hinweg
  • Rechfunk - Zeichnet den Funktionsgraphen zu der vom Anwender eingegebenen Funktionsgleichung
  • Decodi - Verschlüsselt Dateien mit wählbarer Verschlüsselungsmethode
  • Rechen - Taschenrechner
Die besten Programme von NicTheQuick können Sie auf meiner Seite www.qbasic.de herunterladen



Interview



Thomas: Wie ist Dein richtiger Name?
NicTheQuick: Mein vollständiger Name ist Nicolas Göddel.

Thomas: Wie kam es eigentlich zu Deinem Nicknamen "NicTheQuick"? Worin bist Du so schnell? :))
NicTheQuick: Das ist eine kompliziertere Geschichte. Es hat nämlich nichts mit Programmieren oder Computern überhaupt zu tun, falls das jetzt irgendjemand denkt. Nein, es geht auf meine Trompeten-Künste zurück, da ich immer wieder gerne "schnelle" Lieder ohne Trompete, sondern nur mit den Lippen "gespielt" habe. Daher hat mich irgendwann mal jemand in einem KSJ-Lager (jetzt bin ich aber Pfadfinder) "NicTheQuick" genannt. Sozusagen war ich an meiner Namensgebung gar nicht so richtig beteiligt, sondern wurde von einem anderen so genannt. Und weil ich das lange so in Erinnerung behalten habe, habe ich mich bei meinem ersten Eintrag in das QB-Forum auch so genannt, und dann später überall.

Thomas: Wie alt bist Du und wo wohnst Du?
NicTheQuick: Ich bin 15 Jahre (1.5.1986) alt und wohne in Homburg (Saar). Wer nicht weiß, wo das ist, dem sagt vielleicht unsere Landes-Hauptstadt Saarbrücken etwas.

Foto von NicTheQuick

Foto von NicTheQuick



Thomas: Was machst Du ausbildungs- bzw. berufsmäßig?
NicTheQuick: Ich Moment bin ich noch Schüler der 10. Klasse im Gymnasium Johanneum in Homburg.

Thomas: Was erwartet den Besucher auf Deiner Webseite?
NicTheQuick: Ich habe (noch) keine.

Thomas: Wie sieht Dein Webdesign-Konzept aus?
NicTheQuick: Ich denke, jeder wünscht sich schnelle Ladezeiten, also werde ich bei meiner zukünftigen Homepage nach diesem Konzept vorgehen. Allerdings werde ich QuickBasic und andere Programmiersprachen wohl eher als Nebensache behandeln und noch andere Themen, an denen ich interessiert bin, mit einbeziehen. Aber eine Domain habe ich schon reserviert: www.NicTheQuick.de.vu

Thomas: Wie war Dein Werdegang als Programmierer?
NicTheQuick: Ich weiß gar nicht mehr genau, mit wieviel Jahren ich mit QuickBasic angefangen habe. Ich schätze mal, dass das vor 5 oder 6 Jahren war, als ich 9 bzw. 10 war. Angefangen hat es an dem alten Rechner von meinem Vater, einem 486 DX mit 40 MHz und 8MB RAM. Dort habe ich irgendwo QuickBasic in einem einzelnen Verzeichnis gefunden (C:\QUICKBAS\). Und als ich mir dann die verschiedenen Beispielprogramme angeguckt habe, fand ich das alles schon richtig gut. So habe ich meine ersten Versuche mit dem SOUND-Befehl und FOR-NEXT-Schleifen gemacht. So hat das alles angefangen. Und als ich noch kein Internet hatte, glaubte ich schon, dass diese Sprache wohl keiner heutzutage mehr programmieren würde. Erst seit 3 Monaten bin ich auch im Internet dabei.

Thomas: Sag doch mal ein paar Worte zu Deinen QBasic Programmen.
NicTheQuick: Ich bin wohl eher der Typ von Programmierern, der Anwendungen programiert. Bei Spielen habe ich nie genug Phantasie. Ich habe zwar mal eins angefangen - und zwar noch bevor ich irgendeine QuickBasic-Seite kannte - aber es fehlt noch heute der letzte Teil in der Engine. Das Menü und das Intro, das ohne jegliche Dateien auskommt, außer der Schriftart-Datei, funktionierte schon tadellos.

Auch der Schriftart-Editor, der Level-Editor, und der Bild- Editor gingen schon, obwohl man sie bestimmt noch etwas hätte verbessern können. Das Männchen konnte auch schon laufen, und die Gegner sind einem gefolgt ohne irgendwo runterzufallen. Nur die bewegte Landschaft wollte nicht so richtig funktionieren: Und wenn die Gegner sie unter Beschuss nahmen, haben sie immer in die Wand geschossen, zumindest, wenn sie direkt vornedran standen.

Deshalb mache ich lieber alles, was ein bisschen mit KI und Algorithmen zu tun hat, wie zum Beispiel einen Computergegner beim bekannten 4-Gewinnt-Spiel oder ein Verschlüsselungsprogramm. Auf das Design achte ich meistens schon von Anfang an, wodurch es meistens passiert, dass der Anfang und alles was unwichtig ist im Programm sehr gut aussieht, aber der Rest nicht funktioniert. Ich habe bis jetzt auch noch nie ein Programm mit CALL ABSOLUTE oder CALL INTERRUPT gemacht, sondern lieber alles nach meinen eigenen Ideen so hingebogen, dass es funktionierte.

Thomas: In welchen Sprachen programmierst Du?
NicTheQuick: Ich programmiere neben QuickBasic auch noch 3BlitzBasic 2D, womit ich jetzt versuche, mein in QB nicht fertiggestelltes Spiel endlich zu Ende zu bringen. Seit Neuestem bin ich auch mit PureBasic voll dabei. Schade nur, dass es bis jetzt (V2.90) noch einige Fehler zu beheben gilt, die allerdings mit V3.0 ausgebessert werden sollen.

Thomas: Kannst Du etwas über Deine momentanen Projekte berichten?
NicTheQuick: In QuickBasic habe ich im Moment kein Projekt am laufen, aber in BlitzBasic. Ich bin gerade dabei, das Verschlüsselungsprogramm, das ich ja schon in QuickBasic vorliegen habe, in verbesserter und schnellerer Form zu programmieren. Praktisch dabei ist, dass ich jemanden kenne, der mir endlich und bald sagen kann, wie asynchrone Verschlüsselungsmethoden funktionieren. Das wird dann wohl auch das beste sein. Wer das Prog in QuickBasic haben will, der kann es sich von mir schicken lassen (Mail an NicolasG@web.de). Allerdings ist das nicht das Einzige, an dem ich im Moment arbeite, sondern da ist natürlich auch noch mein Jump'n Run-Spiel, das den Drang hat, sehr viel RAM in Anspruch zu nehmen, obwohl es eigentlich ganz einfach aussehen wird. Dabei versuche ich dann auch noch, es fit fürs Netzwerk zu machen.

Thomas: Was rätst Du einem QB-Programmierer, der sein Game netzwerkfähig machen will, z.B. über TCP/IP oder IPX?
NicTheQuick: Ehrlich gesagt, habe ich mich in QuickBasic noch nie damit auseinandergesetzt. Ich habe nur schon des öfteren gehört, dass es ja ein paar Funktionen speziell für diesen Bereich in QuickBasic gibt, aber mehr weiß ich leider auch nicht. Ich habe nur früher schon mal darüber nachgedacht, dass man die Daten theoretisch über verbundene Netzwerklaufwerke machen könnte. Aber das würde dann wohl ein bisschen zu langsam sein.

Thomas: Was rätst Du einem QB-Programmierer, der aus seinem Programm heraus aufs Internet zugreifen und z.B. E-Mails versenden will?
NicTheQuick: Ich kann mir nicht vorstellen, dass das auf so einfache Art und Weise gehen kann, d.h. dass ich hierzu im Moment auch noch nichts sagen kann.

Thomas: Wie siehst Du die Zukunft von QBasic, QuickBasic und MS-DOS?
NicTheQuick: Ich glaube, dass die Anzahl der QuickBasic - Programmierer zwar nicht sonderlich steigen wird, aber dennoch sehr viele Newbies immer wieder zuerst auf diese Sprache setzen werden, anstatt direkt mit Windows-Sprachen, wie z.B. C++, loszulegen. Es kann höchstens passieren, dass Micro$oft mit seinen neuen, immer sicherer, aber schlechter werdenden Betriebssystemen, langfristig immer mehr Befehle von QuickBasic funktionsunfähig machen wird, sodass dem Einen oder Anderen der Spaß verdorben wird, in QuickBasic zu 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?
NicTheQuick:
Zu a: Zum hobbymäßigen Programmieren kommen verschiedene Sprachen in Frage. Ich denke da so an Blitz Basic und Blitz 3D, Delphi (kenn ich eigentlich nicht) oder, falls man keine Spiele machen will, eventuell noch VisualBasic. Dazu gibt es ja seit Neustem noch eine Alternative: PureBasic, das Blitz Basics Geschwindigkeit, VisualBasics API-Schnittstelle und die OpenGL Grafikschnittstelle miteinander verknüpft.

Zu b: Ich denke in einem IT-Beruf wird hauptsächlich C++ vorausgesetzt. Natürlich ist es schon nicht schlecht, wenn man C oder TurboPascal kann, weil beide Sprachen schon etwas damit zutun haben.

Thomas: Was rätst Du einem QBasic Spiele-Programmierer, der Animationen, Sound und Mausbedienung in seine Spiele und sonstigen Programme hineinbringen will?
NicTheQuick: Natürlich ist es nicht schlecht, wenn man seine Maussteuerung und den Sound durch Assembler-Befehle verwirklichen kann, aber um es einfacher zu haben, empfehle ich hier natürlich die DirectQB und Future-Library, mit denen ich eigentlich noch gar nicht gearbeitet habe. Nur mit DirectQB habe ich mich für 5 Tage einmal auseinandergesetzt. Ich wollte mal testen, wie schnell die Bilder wirklich gesetzt werden, und habe einfach mal gezählt, wieviele Vollbilder es pro Sekunde dann waren. Dummerweise weiß ich das Ergebnis jetzt nicht mehr.

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?
NicTheQuick: In meinem Jump'n Run-Spiel habe ich es geschafft, die Bilder nach meiner eigenen Methode in eine Datei zu schreiben und sie dann schließlich jedesmal, wenn das Bild gemalt werden sollte, auszulesen. Das ging schnell genug und brauchte so gut wie keinen Speicherplatz. Der Hintergrund und die Texturen waren weder in einer externen Datei noch im Programm integriert, sondern wurden durch ein paar Angaben wie Höhe, Breite, Typ immer wieder selbst generiert. Ich habe also in die Funktion, die den Level zeichnete, einen Texturgenerator eingebaut (So macht es ja auch Clonk). Falls man jetzt immer noch nicht genug Speicherplatz für seine Variablen und vor allem Datenfelder hat, sollte man diese, falls sie nicht für schnelle Funktionen gedacht sind, in eine externe Datei auslagern, die mit BINARY geöffnet wurde. Das würde dann vielleicht so aussehen, wenn man ihr einen Wert zuweisen will:
     [CALL] Zahl2Datei "Datenfeld", Index, Zahl
und zurück so:
     Zahl = Datei2Zahl ("Datenfeld", Index)
Man kann aber auch noch versuchen, sein Programm in einzelne Teilabschnitte zu gliedern, und die Teile, die besonders speicherintensiv sind, in eine externe Datei auszulagern, die vom Hauptprogramm aufgerufen wird.

Thomas: Genau, das geht z.B. mit dem CHAIN-Befehl. Welche weiteren Ratschläge kannst Du einem QBasic - Einsteiger geben?
NicTheQuick: Wenn er die einfachen Befehle wie PRINT, (LINE) INPUT, IF..THEN ...ELSE...END IF und ein paar Zeichenketten- Operatoren beherrscht, dann kann er auf jeden Fall schon mal mit sowas Einfachem wie einer Passwort-Eingabe- Routine mit Sternchen und so anfangen. Aber wenn er sich vielleicht durch ein paar Tutorials durchgearbeitet hat (was ich ja nicht machen konnte, musste mir alles selbst beibringen) und ein großes Spiel machen will, sollte er sich wohl besser an den folgenden Aufbau halten (wie ich es immer mache, nur bei meinem Spiel dummerweise nicht):
  • Spielideen sammeln
  • Story erfinden
  • Grafisches Grundgerüst erstellen (nicht programmieren)
  • Objekte und deren Eigenschaften definieren
  • Grafiken erstellen
  • Engine erstellen
  • Menü erstellen
  • Durch Spiele-Test's Fehler beheben
  • Dem Spiel den letzten Schliff geben
Ein weiterer Rat, den ich jedem Programmierer ans Herz legen will, ist, dass es taktisch klug ist, seine Projekte oder besser gesagt alles, was man so an Sourcecodes rumfliegen hat, immer wieder zu sichern. Ich selbst habe dafür eine kleine Festplatte mit 218 MB, die ich auf dem Sperrmüll gefunden habe, genommen. Natürlich könnte man auch eine CD-RW oder eine ZiP-Diskette nehmen.

Wenn man sich weiterbilden will, muss man nicht immer nur Tutorials lesen oder andere Programmierer fragen, was natürlich am einfachsten ist, sondern man kann auch ganz einfach ein Beispielprogramm zu dem Problem ausfindig machen und dieses dann studieren und neue Ideen dazu entwickeln.

Thomas: Spiele für Linux - denkst Du über sowas nach?
NicTheQuick: Ich habe zwar Suse Linux 7.0 auf meinem Rechner, aber ehrlich gesagt, habe ich damit nicht soviel am Hut. Ich benutze es meistens nur dann, wenn Windows wieder mal nicht geht. Ich habe mal gehört, dass es bei BASIC für Linux keine Speichergrenzen gibt, daher wird damit schon mal ein großes Problem beseitigt sein, falls es jetzt nur um QuickBasic-Spiele geht. Andererseits wäre es besser, Linux Windows-kompatibel zu machen, anstatt Spiele zu machen, die zwar auf Windows und Linux laufen, dafür aber mehr Speicherplatz auf beiden Systemen verbrauchen und vielleicht mehr Fehler haben.

Ich glaube aber, auch wenn es jetzt Windows XP gibt, dass Linux Windows bald komplett überholt haben wird. Es wird aber bestimmt noch ein paar Jahre dauern. Windows XP hat ja auch ein paar Fehler. Vor allem würde es mich stören, wenn es bei jedem Internet-Aufbau nach Hause telefonieren würde. PureBasic läuft ja auf drei verschiedenen Oberflächen: Windows, Linux, AmigaOS. Da wäre es wohl kein Problem, aber Linux-Spiele mit BASIC zu programmieren habe ich noch nie ausprobiert.

Thomas: Spieleprogrammierung in VB oder Delphi - macht das Sinn?
NicTheQuick: Ich würde sagen, dass die beiden Sprachen zu langsam sind, um schnelle Spiele zu programmieren. Vor allem, weil sie ja hauptsächlich für Anwendungen zu gebrauchen sind und kein DirectX oder OpenGL unterstützen.

Thomas: Was hast Du für Zukunftsprojekte?
NicTheQuick: Im Moment habe ich keine bestimmten Ideen, was ich in Zukunft programmieren will. Ich lasse normalerweise alles auf mich zukommen. Es kann höchstens sein, dass ich einzelne Programme, die ich in QuickBasic vorliegen habe, in BB umschreiben werde. Dabei werde ich die QuickBasic-Programme nochmal testen und verbessern.

Thomas: Wie willst Du Dich beruflich entwickeln?
NicTheQuick: Ich strebe an, Informatiker zu werden. Die Fächer, in denen ich eine 1 habe, sind Mathe, Physik und Musik, was alles meinen Hobbies entspricht.

Thomas: Warum hört man so wenig von PowerBasic und VB-DOS - im Vergleich zu QuickBasic?
NicTheQuick: Mit PowerBasic und VB-DOS habe ich noch nie was zu tun gehabt bzw. habe ich auch noch nie richtig was davon gehört. Ich glaube, dass das bestimmt jedem so geht. QBasic ist auf jedem System, das DOS hat, schon dabei. PowerBasic und VB-DOS nicht, vielleicht kommt es daher. Aber so habe ich da eigentlich keine Ahnung.

Thomas: Was sind Deine Lieblings-Webseiten?
NicTheQuick: Wenn ich ins Internet gehe, dann bin ich erst mal auf www.Web.de, um meine Mails anzuschauen. Das nächste, was ich dann mache, ist das QB-Forum von www.Antonis.de danach zu durchstöbern, ob ich denn irgendeine Frage beantworten kann, was ich dann auch möglichst ausführlich tue, wie man sicherlich schon an diesem Interview bemerkt. Dann guck ich noch eben ins PureBasic-Forum, das unter www.shadow-studios.net/phpBB/ zu erreichen ist. Neben Chatten und mit MSN telefonieren mach ich eigentlich wenig im Internet. Ich bin daher eher der Typ, der das Internet braucht, um Informationen zu bekommen. Dafür gehe ich dann auf www.Google.com. Sehr gern besuche ich auch die Seite www.filesearching.com, wo man fast alles an Download-Dateien findet, was das Herz begehrt.

Thomas: Dass Du meine Seite www.antonis.de zu Deinen Lieblingsseiten zählst, freut mich sehr :) Hast Du noch andere Hobbies außer Programmieren? Was macht NicTheQuick so alles privat?
NicTheQuick: Ich befasse mich sehr gerne mit Musik. Dabei sitze ich immer vor einem Computer und spiele am Keyboard (nicht Tastatur) mal wieder irgendetwas in Capriccio (www.WHC.de) ein, was mir grad so einfällt. Es ist aber immerhin improvisiert, was man von einem Jazzer auch erwarten sollte. Ich spiele nämlich Trompete in der LSB (Landes- Schüler-BigBand, kurz: JazzTrain www.jazztrain.de) und in der LJJO (Landes-Jugend-Jazz- Orchester), welches von C. Mudrich geleitet wird. Beide Orchester sind im Saarland zuhause. Aber das ist nicht mein einziges Hobby. Im Sommer fahre ich auch gerne mit den Inlinern oder dem Fahrrad in der Gegend rum. Außerdem gehe ich gerne auf Parties.

Von unserer Schule aus bin ich zudem noch Mitglied der deutschen Pfadfinderschaft St. Georg. im Jahr 2000 waren wir im Sommerlager in England, direkt bei London im Jamboree. Dort gab es sowas wie ein Internetcafe in einem riesigen Zelt. Die Spiele auf den Rechnern wurden über ein BATCH-Prog gestartet, das ich mit meinem Freund (Nickname "Murch") leicht zu knacken wusste. So sind wir dann in die MS-DOS-Eingabeaufforderung gekommen und haben einfach mal QuickBasic gestartet. Dann bin ich auf die Idee gekommen, ein kleines Programm zu schreiben, das eine Datei öffnet und die Festplatte nach und nach vollschreibt. Es hat lange gedauert, bis ein Fehler kam.

Thomas: Vielen Dank NicTheQuick 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?
NicTheQuick: Ich wünsche allen Programmierern, dass ihr Hobby zu ihrem Beruf werden kann.

Thomas: Wie bist du zu erreichen?
NicTheQuick:
  • E-Mail: NicolasG@web.de und NicTheQuick1986@lycos.de
  • MSN: NicTheQuick86@hotmail.com
  • ICQ: 125703130
Thomas: Vielen Dank NicTheQuick für das höchst aufschlussreiche Interview sowie viel Erfolg und Spaß mit Deiner Webseite www.NicTheQuick.de.vu.



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