Beiträge von Tomarr

    Die Detail der Ziegel gefällt mir richtig gut.

    Was ich mich frage ist wieso das Loch genau zwischen den beiden Fenster ist. (Was für ein Zufall)

    Auch fehlt mir die Vergleichgröße vielleicht stellst du einmal einen Charakter mit Größen Angabe daneben.

    Na du weißt doch wie man so mit einem Panzer schießt. Da will man mit ner Panzergranate einfach so eine Scheibe einwerfen, hat zwei Fenster zur Auswahl, kann sich nicht entscheiden und peng, genau die Mitte.


    Ne, im Ernst, soooo ungewöhnlich ist das nun auch nicht. Musst dir mal alte Bilder aus dem Krieg anschauen. Da gibt es mehrere solche Treffer. Allerdings sind die Scheiben dann natürlich auch kaputt. Aber wenn ich es richtig verstanden habe ist es natürlich noch in der Mache.

    Ja, die Fenster sind etwas groß wie ich finde. Passen zwar zu einer Fabrik, wobei das natürlich auch abhängig ist von dem, was dort fabriziert wird, aber auch in Fabrikbüros waren eher kleine Fenster. Also so in Richtung normale Fenster.

    Aber an den 16 MHz sieht man ja schon mit wie wenig Leistung die Rechner damals auch wirklich hinkamen, um sogar Spiele darzustellen. Also nicht nur Textverarbeitung oder so, wo der Atari dem PC ja auch schon weit voraus war, denn immerhin hatte man auf dem Atari bereits eine Oberfläche wo man das Ergebnis schon auf dem Bildschirm sehen konnte. Unter DOS musste man noch kryptische Tags eingeben um eine Schrift fett oder kursiv darzustellen, und am Ende musste man ausdrucken um zu sehen was man da dann wirklich geschrieben hat.


    Die Spiele sahen zwar leicht grafisch unterentwickelt aus, aber sie haben damals halt mehr, und vor allem länger, Spaß gemacht als die meisten heutigen Spiele. Klar, es gibt welche die Spiele wie Battlefield oder so bis zum Abwinken spielen, das aber nur dank Multiplayer, und selbst dann weiß man halt nie wann die Server wirklich mal abgestellt werden. Aber Spiele wie Donkey Kong, Pacman und Asteroids, das hat eigentlich jeder bis zum Abwinken gespielt. Gut, es gab ja nicht so viel, wir waren halt noch nicht so verwöhnt zwischen 20.000+ Spielen auswählen zu können, aber es hat trotzdem auch Spaß gemacht.


    Wie oft habe ich bei Babarien den Kopfabschlagmove trainiert, oder wie lange ich versucht habe bei Karateka wirklich bis zum Ende durchzuspielen. Oder ganz simple Spiele wie Popey oder Bruce Lee, The Last Ninja usw.


    An diese Spiele habe ich noch wesentlich mehr Erinnerungen als an jedes andere Spiel, das ich so in der modernen Zeit gespielt habe. Und man verbindet damit halt auch Emotionen, was ich bei heutigen Spielen nicht mehr so behaupten kann. Die gibt es halt. Und irgendwie ist es sogar selbstverständlich geworden das es sie genau so gibt wie es sie gibt. Da wird ja auch nicht mehr auf den Spielspaß geschaut. Da wird ein Spiel schon zerrissen, wenn es zwei Pixel zu wenig Auflösung hat. Das ist schon fast so als wenn die meisten Spieler nichts an anderes zu tun haben, als Pause zu drücken und mit der Lupe am Bildschirm Pixel zu zählen.


    Oder die ganzen Zeitschriften von damals. Ich erinnere mich noch ganz gut, dass da auch Programmcodes für ganze Spiele abgedruckt waren. Da hat man teilweise stundenlang Zahlenketten abgetippt und man hatte ein cooles Spiel am Ende raus. Dann wurden halt noch so Assembler Tipps und Tricks mitgeliefert usw. wo man dann halt so langsam dazugelernt hat.


    Stell dir das heute mal vor. Eine Zeitschrift für PC wo Programmiertipps und Tricks mit abgedruckt werden. Erstmal müssten die sich dann ja für eine Programmiersprache entscheiden. Und dann stell dir mal die Tipps und Tricks für Unreal vor. Wie viele Zeitschriften willst denn da rausbringen bis alle Nodes mal beschrieben wurden?

    Ja hatte ich. Allerdings war dessen Zeit ja recht schnell zu Ende. Für den ist ja auch kaum etwas rausgekommen. Ich weiß nicht wie das jetzt mit der Musikindustrie aussah, hatte der Falcon 030 eingentlich noch das Midiinterface wo die Musiker immer so scharf drauf waren, gerade im Keyboardbereich? Ich glaube schon. Aber auf jeden Fall kam Spieletechnisch sehr wenig. dabei rum. Allerdings waren die Spiele die ich hatte sehr cool, zumindest für damalige Verhältnisse.



    Dazu gehörte auf jeden Fall ein Pinball, aber der war damals ja ein Muss. Und woran ich mich noch erinnere, ich weiß aber nicht mehr wie das Spiel hieß. Auf jeden Fall musstest du da irgendwie einen Zug beschützen, ich glaube im Zweiten Weltkrieg oder so. Dampflok gepanzert. Und wenn du gegen Flugzeuge abwehren musstest hast du in einer Flak gesessen und die Flieger abgeschossen und bei einem gegnerischen Zug hattest du Draufsicht und musstest mit vor und zurück Geschosse aus der dicken Berta ins Ziel bringen. Irgendwie so ähnlich war das auf jeden Fall. War gar nicht schlecht.


    Also ich habe es sehr bedauert, das da so schnell Schluss war und nicht weiter verfolgt wurde.


    Ich glaube, beim Atari ging das nicht mehr, aber wenn ich vom C64 oder Amiga 500 noch original Platinenätzpläne kriegen würde und eine Bestückungsliste, ich glaube ich würde mir einen nachbauen,. Einfach so zum Spaß.


    Vorausgesetzt man kriegt auch noch alle Teile.

    Und ironischerweise nutzt der Amiga auch den von dir gehassten "Treiberschrott" IMMER. Da der Kickstart auch den Treiber für das Diskettenlaufwerk (und andere Geräte) enthält. Wobei man zur Verteidigung sagen muß - der Floppy Treiber war praktisch Fehlerfrei (wenn auch nicht perfekt). Man konnte zwar per Assembler das Laufwerk auch direkt ansprechen, aber er musste dein Programm ja erst mal von der Diskette laden, gelle? OK ausser du hast deine Spiele immer direkt auf EPROM gebrannt, aber für den EPROM Schreiber brauchte man auch... ahh lassen wir das lieber.

    Also ich konnte die ganze Hardware dran packen, die ich selber gebastelt habe ohne dafür Treiber bauen zu müssen. Dann galt das vielleicht nur für die Floppy, kann das sein? Oder war das noch C64. Verdammt, man kommt im Alter ab und zu auch durcheinander. Ich habe für beide recht viel gebastelt und gelötet.


    Aber ich war der Meinung, wie hieß der Bus vom Amiga noch? Zero Bus oder so, der hat eigentlich ohne Maulen alles geschluckt, was als Signal rein kam. Und auch intern hat man recht viel Löten können, ohne das er murrte. Obwohl, die Speichererweiterung, die habe ich glaube ich beim C64 gelötet. Da musste man vom Originalram einen Pin hoch biegen, zusammenlöten, wenn ich mich nicht irre, und die anderen Chips huckepack löten oder so ähnlich. Auf jeden Falll eine ziehmlich abenteuerliche Sache, was ich mit heutigen Rechnern niemals machen würde. Mal abgesehen davon das ich so fein gar nicht löten könnte.


    Ja, ich gebe ja zu, das ich insgesamt 7 Systeme aus der Zeit hatte. TI/99 4A, gut, der war echt scheiße, ZX81, C64, Amiga 500 und Atari 2600, Atari ST und am Ende Atari Falcon 030.


    Es kann also sein das ich nach all den Jahren auch ein paar Systeme zusammen schmeiße. Möge man mir in meinem Alter verzeihen.


    Es war trotzdem eine sehr geile Zeit. PUNKT !!! :P:P:P

    Und daß C64 und Amiga kein Betriebssystem haben ist natürlich Quatsch. Der C-64 hatte im ROM nicht nur den Basic Interpreter (Der übrigens ursprünglich von Microsoft kam) sondern auch "Kernal" - das eigentliche Betriebssystem. Klar war Kernal sehr simpel im Bezug zu einem heutigen Linux Kernel oder auch MS-DOS - er hat ja nur grundlegende I/O FUnktionen die über Sprungmarken angesteuert werden.

    Damals war es eben halt cool hauptsächlich Intros zu bauen, die möglichst viel Animation hatten, Farbverläufe, von denen man denkt, dass der 64er das eigentlich nicht können sollte und Musik welche nach heutigen Maßstäben die Ohren zum Bluten brachte.


    Wobei ich zugeben muss, da war mein Kumpel noch wesentlich besser drin. Er hat es tatsächlich geschafft irgendwie eine Laufschrift abspielen zu lassen die sich 8 Stunden lang nicht wiederholte. Das ist mal eine effektive Kompression würde ich sagen. Oder auch den vollen Screen auszunutzen, was ja eigentlich beim C64 auch nicht ging, aber er hat es geschafft, mit Farben und allem drum und dran.


    Er hat sogar von der original Firma Commodore einen Brief bekommen in dem Steht dass die selber gar nicht wussten das man das mit dem Rechner machen kann.


    Beim Amiga war das Betriebssystem in 2 Teile aufgeteilt - den Kernel (Kickstart), der beim Amiga 500 einfach auf ein ROM aufgebracht wurde - und die Tools auf der mitgelieferten Diskette die mit "Workbench" bedruckt war. Ironischerweise war die als "Workbench" bekannte graphische Oberfläche tatsächlich im Gegensatz zum allgemeinen Glauben nicht auf der Diskette sondern bereits im "kickstart" enthalten. Wer es nicht glaube schreibe einfach mal nur "loadwb" in die startup sequence Datei einer ansonsten leeren Diskette.

    Und jetzt ist es natürlich blöd das ich auf den ersten Teil reagiert habe und danach erst weiter gelesen.


    Also bei meinem Amiga war das damals nicht so. Man konnte sich etwas zurechtbasteln und Kickstart dann auf ein EEPROM brennen und einbauen. Das ging auch. Aber zumindest ich musste das noch selber machen.


    Ich weiß ja nicht ob das irgendwann mal automatisch von Amiga kam oder so, aber es gab halt auch irre viel Bastelzeitungen für solche "Tunings", die ich im übrigen auch vermisse, und da drin habe ich das gefunden und auch nachgebaut. Und wenn du gut warst hast du zwischen die Drähte noch einen Umschalter gebastelt, zumindest wenn ich mich recht erinnere, und dann konntest du zwischen zwei Kickstartversionen umschalten. Irgendwie so war das. Aber wie gesagt, vom Amiga aus war nichts drin. Also bei meinem. Nicht das ich mich erinnern kann.

    Und daß C64 und Amiga kein Betriebssystem haben ist natürlich Quatsch. Der C-64 hatte im ROM nicht nur den Basic Interpreter (Der übrigens ursprünglich von Microsoft kam) sondern auch "Kernal" - das eigentliche Betriebssystem. Klar war Kernal sehr simpel im Bezug zu einem heutigen Linux Kernel oder auch MS-DOS - er hat ja nur grundlegende I/O FUnktionen die über Sprungmarken angesteuert werden.

    Ja schon, aber eigentlich war es ja mehr ein Bootloader. Als mehr kann man es kaum bezeichnen. Und der Amiga, Kickstart gab es halt auf Diskette, die hat man dann aber auch weglassen können. Der hatte nämlich wirklich nur einen Bootloader. Wobei ich zugeben muss das ich in meinem Text ja etwas zwischen den Systemen hin und her gewechselt bin.

    Heutige Programmiersprachen, egal welche, nehmen dir aber einiges ab. Egal welche. Oder weißt du heute noch ganz genau unter welcher Adresse du dein Hello World-String gespeichert hast? Bestimmt nicht. Damals musstest du dem Rechner noch genau sagen, ich brauche einen String, ich hätte den gerne an dieser Adresse gespeichert und da hole ich ihn dann auch wieder her. Das meinte ich mit richtigem Programmieren. Man war wirklich dabei die CPU, Den Speicher usw. direkt zu manipulieren, so wie du es haben wolltest.


    Raspberry, Ardurino usw., das ist absolut nicht dasselbe. Sie leisten doch noch zu viel. Damals warst du ja auch darauf angewiesen das beste aus dem Rechner zu holen, ok, bei Amiga hatte sich das auch schon ein wenig gegeben, aber beim C64 musstest du halt wirklich klarkommen. Und die 64 KB, die hast du ja wirklich per Hand auch voll gekriegt, wenn du richtig losgelegt hast. Was haben die kleinsten Rechner heute? 1 MB, 2 MB oder so? Da kannst du recht lange tippen bis du das voll hast. Also musstest du dir auch schon etwas einfallen lassen mit dem Speicher auszukommen. Und Datasette und Später Diskette war da ja auch nicht unbedingt hilfreich um es als Speichererweiterung zu benutzen. Heutige Festplatten, da hast du zwar auch gewisse Ladezeiten, aber bestimmt nicht so lange, dass es reicht eine komplette Mahlzeit zu kochen. Gut ist etwas übertrieben, aber für eine Cola aus dem Kühlschrank holen und Glas aus dem Schrank, hinterher alles wieder wegstellen, reichte es allemal.


    Und dazu kommt ja noch die Auflösungsmöglichkeiten. Gut, mein Fernseher hat "nur" 1920 x 1080, was für heute ja eine recht geringe Auflösung ist, aber am Ende sind es auch 2.073.600 Pixel. Hättest du da Lust etwas zu schreiben das direkt auf entsprechende Speicherzelle in der Grafikkarte jeden Pixel manipuliert? Nein, das ist dann doch extrem wenig überschaubar.


    Selbst Animationen hat man ja Bitweise per 0 und 1 erst einmal im Speicher abgelegt usw.


    Nein, die Zeiten sind leider Vorbei. Zwar kann man sich auf eBay durchaus noch einen Amiga oder C64 kaufen, aber spätestens am Monitor/Fernseher scheitert es dann meistens.


    Mal abgesehen davon, die alten Spiele, die machen in keiner Emulation so viel Spaß wie auf dem Original.

    Ich vermisse einfach die Zeiten von C64, ZX81, Amiga, Atari und allem was noch dazu gehört.


    Es waren einfach tolle Zeiten. Man hatte seinen Brotkasten vor sich stehen, wenig speicher, teilweise selbst zusammengelötete Hardware. Der Computer hat einem einfach nichts wirklich krumm genommen, außer vielleicht ein Glas Wasser oder sonstige Kurzschlüsse, welche aber wiederum mit einem normalen Lötkolben locker repariert werden konnten.


    Wer hat an einem PC bitte schon einmal versucht seinen Speicher zu erhöhen, indem er mit einer heißen Metallspitze ein paar ICs auf den Rücken der vorhandenen ICs gelötet hat? Wahrscheinlich niemand, aber beim C64 ging das ohne Probleme, vorausgesetzt man wusste was man tut und hatte eine relativ ruhige Hand um nicht das Lötzinn über die ganze Platine zu verteilen.


    Doch was noch sehr schön war, die selbstgebastelte Hardware. Mit einem Lötkolben mal eben einen A/D-Wandler löten und diesen an den Amiga zu stecken, um hinterher damit die ersten Tonaufnahmen zu kredenzen, das ist schon ein überragendes Erfolgsgefühl.


    Und dann die Programmierung. Assembler. Assembler war irgendwie ein sehr überragendes Programmierkonzept. Kurz nach Maschinencode absolute Effizienz. Durch den geringen Speicher der damaligen Rechner war es kein Problem diesen auch mit Assemblercode voll zuhauen. Und ich meine damit von Hand, nicht eine Engine die schon etlichen Code selber benötigt und keine Module aus einem Marktplatz oder Texturen die das Ganze füllen. Nein, man fängt bei Null an und ist halt fertig, wenn man fertig ist. Kein Bit wurde unkontrolliert oder unnötig verbraten. Man hatte die Kontrolle über jeden einzelnen Pixel der auf dem Bildschirm zu sehen war. Keine Polygone die berechnet wurden, keine Flächen die in Länge, Breite und Höhe berechnet wurden. Ein Pixel, das nicht für die Ausgabe programmiert wurde, war schlicht nicht vorhanden. Sicher, man hatte auch die Möglichkeit zu sagen, ich möchte ein Rechteck, x Pixel hoch, y Pixel lang und das in Gelb. Jedoch musste man auch dafür sorgen, dass dieses Rechteck dann Pixel für Pixel mit einer Schleife gefüllt wurde. Es war sagenhaft, wenn mit kurzen Befehlen ein Pixel gesetzt, etwas direkt aus dem Speicher gelesen oder auf den Bildschirm geschrieben wurde, Wenn man das letzte Quäntchen Rechenleistung aus dem Prozessor ausgequetscht wurde, und dank Assembler funktionierte, trotz extrem eingeschränkter Leistung, alles flüssig und ohne ruckeln. Kein Bit verschwenden halt.


    Und dann der Ablauf der Programme, speziell natürlich Spiele. Der C64 und Amiga, die wurden zu dem Spiel, das man aus der Spielhalle kannte. Er war dieser Arcadeautomat. Er war kein Betriebssystem, das ein Programm aufgerufen hat und ihm gnädigerweise Rechenzeit zur Verfügung stellte. Nein, richtig programmiert braucht man die Oberfläche des Amigas nicht. Man hat direkt das Spiel in den Speicher gepumpt und es lief. Warum lief es ohne jeglichen Treiberschrott der immer wieder gepflegt werden muss, eventuell ein Nadelöhr darstellt, dafür sorgt das auch das beste Programm zum Absturz geführt werden kann? Ganz einfach, das Spiel wurde mit den Befehlen des Prozessors geschrieben. Der Prozessor hat anhand der Assemblerbefehle genau gewusst was er zu tun hat oder zu lassen hat. Das Spiel war genau in seiner Sprache geschrieben. Der Prozessor brauchte kein Betriebssystem, das ihn steuerte, keine Treiber die ihm klarmachten wie die Grafikkarte denn ihre Daten gerne serviert bekommen würde, wenn es denn recht ist. Nein, er wusste was er ansteuern konnte und wie er es tun musste. Und er hat es einfach so getan. Kam es zu einem Fehler, so war es garantiert der Fehler des Programmierers. Keine lange Fehlersuche und am Ende wird ein veralteter Treiber beschuldigt, oder das irgend eine Software nicht die aktuellste Version aufwies.


    Das, liebe Freunde des Spielens und des Programmierens, das war noch echtes Programmieren. Das war das Gefühl das aufgekommen ist wie, wenn man das erste Mal in der Wildnis ohne mitgebrachte Werkzeuge ein Feuer gemacht hat.

    Das erste, was mir auffällt, ist, du benutzt Event_0, um Event_1 zu starten. Warum machst du das nicht gleich in Event_0? Also weg damit, den ganzen Strang gleich an Event_0 packen. Ein Plus für Übersicht und Sauberkeit.


    Aber das ist ja erstmal nur Schönheit.


    Das zweite ist, mach für jedes Event einen Strang. Weil, für Event_3 greifst du auf einen Rückgabewert von Event_1 zurück. Dieser Rückgabewert muss aber gar nicht vorhanden sein, weil dieser kommt nur zustande in dem Moment wo Event_1 ausgelöst wird, nicht aber, wenn Event_3 ausgelöst wird.


    Das zweite BP ist leider zu klein als das ich es durchgehen könnte.

    Wie der Name der Node schon sagt, geht das nur mit Actors. Aber was ist den SpeicherGI.


    Das Problem ist halt, das du wahrscheinlich für deine Routinen andere Namen nimmst als meine Wenigkeit. Deswegen muss man ja immer ein wenig raten. Aber mit SpeicherGI kann ich jetzt nicht so viel anfangen.


    Und warum greifst du auf eine Gameinstance zu die du per Text ausgeben willst, aber nichts ist verbinden bis auf die Execverbindung?

    Versuche es mal mit einer Scenecamera und dann über ein Rendertarget. Dann hast du das Bild zumindest schon einmal auf einer Textur. Wie du diese jetzt allerdings zum richtigen Zeitpunkt festhälst, also das Foto schießt, weiß ich auf die Schnelle auch nicht. Aber zumindest kannst du da schon etwas googeln.

    Versuch mal folgendes an Stelle von Cast to im Widget.


    Ich nehme einfach mal an, das deine Anzeige ein Textblock ist.


    Für den erstellst du ein Binding.

    Wenn du das gemacht hast öffnet sich automatisch eine neue Funktion Get_Text.... für das Widget. Diese hat am Anfang nur eine Eingangs und eine Ausgangsnode


    Die veränderst du wie folgt...




    Als Actor Class nimmst du den Actor in dem deine Variable steckt, die du anzeigen willst.

    Bei Return Value wählst du die Variable, die du anzeigen willst.


    Dann eventuell noch in Text konvertieren und das dann an Return Value.


    Sollte eigentlich funktionieren. Wenn da nicht noch zig andere Fehler in deinem Programm sind.

    Ich bin erstmal nur dem Tutorial gefolgt. Da war das so.

    Klingt für mich halt unlogisch. Weil, nehmen wir mal XP, also Erfahrung, als Wert den du speichern willst, während des Spielens erhältst du XP, der Wert steigt. Dann lädst du den alten Wert und speicherst den. Das würde zur Folge haben das du den Wert ja zurücksetzt.

    Ich dachte immer du wolltest die Variable speichern, um sie irgendwann wieder zu laden. Bei deinem langen BP oben stellen sich mir mehrere logische Fragen, ohne das ich jetzt die Werte, die du behandelst, verifiziert habe.


    Warum lädst du etwas, um es danach zu speichern. Rein vom logischen Aufbau her ergibt das wenig Sinn.


    Was sind das für Cast To die eigentlich nur Casten, von denen aber nichts abgegriffen wird?