Meine Programmier-Historie

Dieses Jahr ist es dreißig Jahre her, dass ich mit dem Programmieren angefangen habe. Die ersten drei Jahre programmierte ich hauptsächlich in BASIC. Zuerst mit der Variante auf dem C64, dann mit QBasic, Quick Basic und Power Basic auf dem PC. Zu meinen frühesten Werken zählen die Adventure-Games "Tyrwago in Astrein World" (1994) und "Die Reise zum Mond" (1995). Danach habe ich die Diskmag-Engine für den Hugi entwickelt, ab Ausgabe 6 mit Borland C++, wobei ich fast reines C verwendet habe, mit nur einigen wenigen Features von C++ wie dem new-Operator, die das Ganze ein wenig vereinfachten, und ohne objektorientierte Programmierung.

Zu dieser Zeit brachte ich mir auch x86 Assembler bei. 1998 nahm ich an einem vom Diskmag Pain organisierten Programmierwettbewerb teil und erreichte den ersten Platz. Es ging darum, eine vorgegebene Spezifikation möglichst platzsparend zu implementieren, und meine Lösung war die mit der kleinsten Executable.

Im selben Jahr erschien Hugi #11 mit einer grafischen Benutzeroberfläche, die ich in Watcom C++ geschrieben hatte und die in einem Super-VGA-Modus mit einer Auflösung von 640x480 Pixeln bei 256 Farben lief. Während die Ausgaben davor Smooth Scrolling unterstützten, nutzte diese Ausgabe beim Blättern Crossfading. Dazu musste sich unser Grafiker auf 16 Farben beschränken und die Farbpalette so aufbauen, dass jede Farbe in jede andere Farbe übergehen konnte.

Ich erlernte auch PHP und entwickelte damit die Website für Hugi. Unter anderem war auch ein Online-Voting möglich. Das alles spielte sich noch vor meiner Studienzeit ab.

Im Studium lernte ich dann Java, C++ und C#, wobei ich Java aus nicht rational erklärbaren Gründen eher unsympathisch fand, dafür aber C# umso mehr mochte. Für C# gab es damals ein Framework namens XNA, das bei der Entwicklung von Computerspielen sehr nützlich war. Ich nutzte es für ein ziemlich umfangreiches Projekt, für das ich mein Studium im Jahr 2008 ein Semester lang pausierte. 2016 erschien auf Basis der Game-Engine, die ich damals implementiert hatte, mein taktisches Rollenspiel "Mega Force", im Stile von "Shining Force 2", das mein Lieblingsspiel gewesen ist, als ich noch zur Schule ging.

In der ersten Firma, in der ich nach meiner Studienzeit arbeitete, wurde Perl verwendet, was ich damals neu erlernen musste - und längst wieder vergessen habe. Nach einem kurzen Intermezzo als Krankenhausarzt fing ich dann bei einer Firma an, die mit C# arbeitete. Auf diese Sprache spezialisierte ich mich. Ich blieb in dieser Firma fünf Jahre und entwickelte unter anderem einen Mesh Voxelizer, also einen Algorithmus zum Umwandeln beliebiger 3D-Objekte in zahlreiche kleine quaderförmige Objekte. Danach war ich ein halbes Jahr lang in einer Firma, die mit C++ arbeitete, ehe ich wieder zu einer Firma stieß, die C# verwendete. In dieser Firma blieb ich fast zwei Jahre. Im September werde ich bei einer neuen Firma anfangen und dort wieder mit C# unterwegs sein.

Ich habe neben "Mega Force" auch einige kleinere Projekte in meiner Freizeit umgesetzt, unter anderem "Adok's Magic Cube", "Adok's Number Maze" und "Adok's Saturn Puzzle". Außerdem habe ich mich mit Künstlicher Intelligenz beschäftigt und mir Grundkenntnisse in den Programmiersprachen Scala und Kotlin angeeignet.

Programmieren macht mir Spaß, und ich finde es nicht allzu schwierig, obwohl ich von manchen gehört habe, dass ihnen Programmieren nicht leicht fiele. Meiner Meinung nach kommt es darauf an, was man entwickeln will. In den meisten Fällen braucht man nicht allzu komplizierte Algorithmen zu implementieren, um zu erreichen, was man will, und auch Mathematikkenntnisse werden nicht auf extrem hohen Niveau gefordert. Wobei ich zu den Leuten gehöre, denen es nicht kompliziert genug werden kann - je schwieriger etwas zu implementieren ist, desto interessanter ist es für mich.

Kommentare

Beliebte Posts aus diesem Blog

The Demoscene

Digital Art Natives

Autobiographical Sketch