C64 Superspiele selbstgemacht

Aus C64-Wiki
Zur Navigation springenZur Suche springen


C64 Superspiele selbstgemacht
Cover/Buchdeckel
Sprache deutsch
Autor(en) Rüdiger Linden
Verlag Data Becker
Jahr 1985
ISBN ISBN 3-89011-087-8
Neupreis DM29,00
Datenträger
Seitenzahl 235 S.
letzte Auflage
Genre Programmieren
Information




Buchrückseite[Bearbeiten | Quelltext bearbeiten]

DAS STEHT DRIN:

Mit diesem Buch wird das Programmieren auch anspruchsvollerer Videospiele auf dem Commodore 64 wirklich leichtgemacht. Neben einer umfassenden Einführung in die Grundlagen der Spieleprogrammierung enthält es ausführlich erläuterte Beispielprogramme sowie viele nützliche Routinen zur Entwicklung eigener Spiele.

Aus dem Inhalt:

  • Sprites
  • Sprite-Editor
  • Hochauflösende Grafik
  • Soundprogrammierung
  • Data-Erzeuger
  • Basic kontra Maschinensprache
  • Umwandlungspregramm für Zahlensysteme
  • Pink Panther
  • Labyrinth
  • Bird
  • 3-D-Autorennen

und vieles mehr.

UND GESCHRIEBEN HAT DIESES BUCH:
Rüdiger Linden beschäftigt sich engagiert mit der Entwicklung von Videospielen und programmiert sie selbst seit langem auf seinem Commodore 64.

Inhaltsverzeichnis[Bearbeiten | Quelltext bearbeiten]

Einleitung 1 ...................................... 1

TEIL 1

1.1 Die CPU ....................................... 3
1.2 Das ROM ....................................... 4
1.2.1 Das Betriebssystem .......................... 4
1.2.2 Der (BASIC-) Interpreter .................... 4
1.2.3 Der Interrupt ............................... 5
1.3 Das RAM ....................................... 6
1.3.1 Die Speicherverteilung des C-64 ............. 7
1.3.2 Die Zero-Page ............................... 8
1.3.3 Das Byte 1 .................................. 9
2.1 Speicher schützen ............................. 11
2.2 Abspeichern geschützter RAM-Bereichen ......... 14
2.3 Programme verketten ........................... 16

TEIL 2

3.1 Die Grafik .................................... 19
3.2 Die Blockgrafik ............................... 19
3.3 Hochauflösende Grafik ......................... 20
3.3.1 Einschalten der hochauflösenden Grafik ...... 23
3.4 Blockgrafik mit selbstdefinierten Zeichen ..... 26
3.4.1 Extended-Color-Modus ........................ 26
3.4.2 Multi-Color-Modus ........................... 27
3.5 Zeichen selbst definieren ..................... 29
4. Sprite-Grafik .................................. 34
4.1 Sprites einschalten ........................... 34
4.2 Vergrößern von Sprites ........................ 35
4.3 Farbgebung .................................... 36
4.4 Multi-Color-Sprites ........................... 37
4.5 Priorität ..................................... 38
4.6 Sprites bewegen ............................... 40
4.7 Veränderung der Form .......................... 41
4.8 Kollisionen ................................... 43
4.8.1 Sprite-Sprite-Kollisionen ................... 43
4.8.2 Sprite-Hintergrund-Kollisionen .............. 43
5. Sound-Programmierung ........................... 45
5.1 Der SID ....................................... 45
5.2 Lautstärke .................................... 45
5.3 Die Hüllkurve ................................. 46
5.4 Das Tastverhältnis ............................ 47
5.5 Die Frequenz .................................. 47
5.6 Die Wellenform ................................ 48
6. Der Joystick ................................... 51
7. Das Hexadezimalsystem .......................... 53
8. Das Binärsystem ................................ 55
9. Binäre Arithmetik .............................. 58
9.1 AND ........................................... 58
9.2 OR ............................................ 59
9.3 NOT ........................................... 60
9.4 XOR (EOR) ..................................... 61
10. Basic kontra Maschinensprache ................. 63
10.1 Was ist "Maschinensprache"? .................. 64
11. Maschinensprache-Einführung ................... 67
11.1 Wie funktioniert eigentlich ein Computer? .... 67
11.2 Abschied von den Variablen ................... 68
11.3 Liste der Maschinensprachebefehle ............ 70
12. Interrupt-Erweiterungen ....................... 81
12.1 Veränderung des Interrupts ................... 82
12.2 Veränderung des Interrupt-Vektors ............ 83
13. Tele-Spiele ................................... 85
14. Basic für Telespiele .......................... 89

TEIL 3

14.1 Die Spielidee ................................ 95
14.2 Überprüfung auf Durchführbarkeit ............. 98
14.3 Überwachung der Spielzustände ................ 99
14.4 Die Programmierung ........................... 102
14.5 Beispielprogramme ............................ 103
14.5.1 Labyrinth .................................. 103
14.5.2 Car ........................................ 113
14.5.3 3-D-Autorennen ............................. 121
14.5.4 Bird ....................................... 176

TEIL 4

15.1 Sprites über den Bildschirm bewegen .......... 225
15.2 Sprite-Editor ................................ 227
15.3 DATA-Erzeuger ................................ 233
15.4 DEZ in N ..................................... 234

Leseprobe[Bearbeiten | Quelltext bearbeiten]

(Seite 81, Kapitel "12. Interrupt-Erweiterungen")

Eine sehr bequeme und elegante Art, bewegliche Objekte auf den Bildschirm und vor allem in Bewegung zu bringen, ist es, die Interrupt-Routine zu erweitern.

Die Vorteile der Technik:
Kein Zeitverlust für die Abfrage von Joystick, Bewegung von Sprites.

Schnelle Bewegungen sind einfach zu programmieren.

Gleichmäßige Bewegungen. Es gibt keine abgehackten Bewegungen, wie Sie sie von Basic-Programmen her kennen.

Man kann ohne Probleme auch 8 Sprites bewegen. Die Bewegungen bleiben flüssig und schnell.

Basic-Programme laufen mit fast der gleichen Geschwindigkeit ab, mit der sie ohne erweiterten Interrupt ablaufen würden (Bei einer Zählschleife von 1 bis 1000 mit Bildschirmausgabe der Zahl; inklusive Scrolling brauchte das Programm mit dem normalen Interrupt genauso lange (mit der Stoppuhr gemessen, nicht mit TI$) wie dasselbe Programm mit veränderter Interrupt-Routine, nur mit dem Unterschied, daß während des zweiten Durchgangs noch Sprites auf dem Bildschirm bewegt wurden).

Allerdings müssen so viele Vorteile auch mit einem Nachteil erkauft werden: Mit Basic läßt sich keine erweiterte Interrupt-Routine schreiben.

Nachteil:
Programmierung nur in Maschinensprache möglich.

Dieser Nachteil soll uns aber nicht abschrecken. Zur Steuerung von Sprites würde man in Basic mit POKEs arbeiten, so etwas ist aber auch in Maschinensprache sehr leicht zu machen.

Fehler[Bearbeiten | Quelltext bearbeiten]

Meinung[Bearbeiten | Quelltext bearbeiten]

Weblinks[Bearbeiten | Quelltext bearbeiten]