Wie war das damals mit der Spieleprogrammierung?

markusk
HELP.COM-Benutzer
Beiträge: 29
Registriert: Fr 19. Apr 2013, 11:12

Wie war das damals mit der Spieleprogrammierung?

Beitragvon markusk » So 9. Feb 2020, 10:21

Hallo,

Ich kehre grad wieder ein wenig zurück zu den Anfängen meiner Programmiererkarriere, zumindest unter DOS, denn mein allererstes Programm hab ich schon viel früher in BASIC auf einem Commodore C16 geschrieben. Auf dem PC hab ich dann mit GW Basic, Turbo Pascal, Turbo C und ein wenig Assembler weitergemacht.

Was mich interessieren würde: Wie wurde damals die Grafik für die Spiele programmiert? Wenn ich da sehe wie unzählige unterschiedlich aussehende Figuren rasend schnell ohne Flimmern über den Bildschirm jagen, die gleichzeitig eine ganze Flut an Geschoßen durch die Gegend ballern, bei einem Treffer Teile animiert rumfliegen dann hab ich mich schon immer gefragt wie das alles realisiert wird.

Wie wurde das Aussehen der Objekte definiert und wie wurden diese ganzen Bewegungen und Animationen programmiert die so fließend und flimmerfrei abliefen? Und das noch dazu alles auf Rechnern die nicht gerade vor Rechenpower strotzten. Sicher, wenn man weiß wie kann man aus jedem Rechner das Maximum rausholen, aber bei Spielen kamen ja noch viele andere Aspekte dazu, neben der erwähnten Grafik ja auch Sound etc.

Wurde da irgendwelche Zusatzsoftware zum Entwerfen der Grafiken verwendet? Und wie wurde das im Spiel dann so ruckel- und flimmerfrei animiert?

Assembler schön und gut, aber das allein war es sicher nicht.

Lg, Markus
Benutzeravatar
zatzen
DOS-Kenner
Beiträge: 439
Registriert: Di 17. Apr 2012, 05:10
Wohnort: bei Köln
Kontaktdaten:

Re: Wie war das damals mit der Spieleprogrammierung?

Beitragvon zatzen » Fr 14. Feb 2020, 15:54

Wenn ich zurückdenke an die 286er-Zeiten, dann erinnere ich mich da kaum an besonders wilde Grafikorgien. Entweder waren die bewegten Objekte klein (z.B. Lemmings - und hier gab es auf dem PC nicht das pompöse Intro wie auf dem Amiga) oder es ging eher gemächlich zu (z.B. Lucasfilm/Arts Adventures, Monkey Island I, II). Für Jump&Runs wurde auch oft gerne EGA Grafik genutzt - weniger Daten, und ruckelfreies Scrolling durch Nutzung mehrerer Bildschirmseiten.
Ein VGA-Jump&Run wie Trolls beispielweise, lief dann erst auf einem 386er oder 486er richtig flüssig. Ob es nun schlecht programmiert war sei mal dahingestellt, aber hier haben wir eben VGA mit vielen großen Sprites UND Scrolling.
Klar kann man auch in Assembler schlecht programmieren, aber es sollte die Grundlage sein, dass etwas eine gute Performance haben kann.
Zusatzsoftware zum Entwerfen der Grafik gab es bei den alten Sierra Adventures, aber eher zum Zweck der Datenreduzierung. Hintergründe wurden nicht als Bitmap gespeichert, sondern man zeichnete sie in einem speziellen Programm, das sich die einzelnen Schritte merkte, und im Spiel wurde das dann dementsprechend nachgezeichnet.
Ansonsten sind Bitmaps eigentlich am schnellsten, zumindest wenn sie komplex sind und nicht viel gleiche Flächen enthalten, denn das könnte man per Lauflängencodierung zusammenraffen und somit beschleunigen und in einer schnellen Assemblerroutine decodieren.

Aber sicherlich, es ist schon erstaunlich was gut programmierte Spiele alles leisten konnten.
Nur muss man eben auch die Plattform beachten. Ein 486er ist Performance-mäßig schon locker in der Lage, Multimedia-mäßig mit einem Amiga 500 mitzuhalten, das zeigen entsprechende Portierungen wie Pinball Dreams.

Prehistorik ist noch ein Spiel das auf einem 286er funktionierte. AdLib Musik (also keine Prozessorbeanspruchung wegen der Musik), einfache PCM Soundeffekte (auch keine Prozessorbeanspruchung da simpel per DMA Transfer ausgelöst). Grafisch passiert da doch relativ viel, und es ist VGA, aber es hat kein Scrolling. Ich glaube auch nicht dass immer der gesamte Hintergrund restauriert wird, das wäre viel zu langsam. Ich finde das interessant, da ich ja selber auch nochmal ein Spiel machen will.

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast