Dienstag, 28. Dezember 2010

Letzter Eintrag (vor dem neuen Jahr)

Das Jahr nähert sich dem Ende und Weihnachten ist vorbei. Der Dezember war für mich persönlich ein anstrengender Monat und ich möchte euch gleich etwas sagen: Flash ist der letzte Dreck und wird es wohl auch bleiben. Wer von euch glaubt, dass Actionscript eine gute Scriptsprache ist, der glaubt auch, dass die Erde eine Scheibe ist, Apple State of the Art Hardware verkauft, Windows fehlerfrei ist und das Linux ein benutzerfreundliches OS ist. Ich habe keine Ahnung, wer den Scheiß pusht aber es nervt, die ewig langen Nachladezeiten von Flash-Websites nerven und vor allem die absolut nicht optimierten JIT's dieses Mülls, die dir deinen Arbeitsspeicher dicht müllen, nerven. Wirklich mal ernst, wenn euer Compiler schlimmer ist als der C-Compiler auf niedrigste Alarmstufe, dann überdenk mal echt deinen Compiler. Was macht mich so wütend auf Flash? Abgesehen, dass es Designern, die nicht kapieren wollen, dass Grafikprogrammierung mehr ist als ein paar Bilder über eine Bühne zu ziehen, das Gefühl gibt, dass sie Programmieren könnten. Super Move übrigens, ich gebe ja auch einen Pyromanen den Job als Feuerwehrmann. Ich habe festgestellt, dass der komplette Code auseinanderfällt, sobald man anfängt mit relativen Größen zu arbeiten (sehr kluge Entscheidung). Falls jetzt jemand fragt: Warum sollte man auch mit relativen Größen arbeiten in einem Grafikprogramm? Dem kann ich nur sagen, lern MVC, lern logisch zu denken, lern universal zu denken und vor allem du bist ein Copy-Paste Idiot. Die Idee war ganz einfach, Grundengine für ein Spiel fertig progen und dann einfach nur die Assets drüber ziehen und die Regeln implementieren. Ganz easy ne? Vorteil: Man kann beliebig die fertige Engine modifizieren, sodass man nicht immer alles neu programmieren muss. Nachteil: Man muss halt sehr allgemein denken. Hier ist das Problem, Flash kann nicht unspezifisch sein. Das hat mich den besseren Teil einer Nacht gekostet. Was mich eigentlich zu weißglut getrieben hatte war das importieren von swf's. Ich bin ein armer student also habe ich kein Adobe Flash verwendet sondern FlashDevelop. Also gab es keine einfaches Importieren und auf die Bühne ziehen (was ja doch zu einfach wäre) sondern die Loader Klasse (danke). Nach langem googeln habe ich erfahren, dass es mal das schöne importmovie() gab. Was ist der Unterschied? importmovie() konnte direkt eine swf in einen MovieClip ziehen und Loader ist ein bastard, der zwar importiert aber nicht her gibt (hier bin ich vielleicht auch einfach nur zu blöd es zu schnallen. Falls es jemand von euch besser kann, kommentiert mir bitte den richtigen Umgang und spart euch das geflame). Als ich das leidliche Endprodukt fertig hatte (und 48h ohne schlaf nur noch auf Cola lief) durfte ich feststellen, dass gar nichts mehr funzt. Was mich

a) wunderte
b) fertig machte
c) die Entwickler mit einem rostigen Cuttermesser töten lassen wollte

Der Code ist an sich Fehlerfrei, da ich vorher eine Techdemo anfertigte und die lief Fehlerfrei, d.h. der Asset-Swap hat das komplette Ding versaut. Später habe ich erfahren, dass es ein Skalierungsproblem ist. Die native Skalierungsfunktion von AS ist komplett für den Arsch (zusammen mit dem Vererben aber lasst mich nicht auf die Scheiß Objektorientierte Skript implementierung eingehen) und muss selbstständig nachprogrammiert werden. Bravo *Applaus Applaus Applaus* ihr habt es geschaft eure eigene Funktion nutzlos zu machen. Hier wurde mir klar, dass Flash nie dazu gedacht war rein auf AS Ebene erstellt zu werden. Warum haben wir also diese Optionen? k.p. aber wir haben es. Es ist nutzlos und ich hasse es. Wenn ich wirklich nochmal Gameprogramming mache, dann lerne ich OpenGL und progge in C/C++, C# oder Java.

Jedenfalls wünsche ich euch allen schonmal einen guten Rutsch ins neue Jahr und dass ihr nie mit Flash so arbeiten müsst wie ich es musste.

Keine Kommentare:

Kommentar veröffentlichen