Online

ASCII-Art Graphics & Games (AART)

© 2024Stefan Röttger
Voraussetzungen: Rudimentäre Programmier-Kenntnisse
z.B. in C, C++, Java oder Python


Benötigt: Laptop mit Windows, Linux oder Mac


ASCII-Art

bezeichnet die Darstellung von Graphiken mit Hilfe von Zeichen, d.h. mit Buchstaben und Sonderzeichen des ASCII Zeichensatzes. Je nach Darstellungsmedium kann ASCII-Art bei Illustrationen, Animationen, oder Computerspielen zum Einsatz kommen.

Hier als Beispiel ein kleines Vögelein, das Hunger hat:

   _ _      _ _      _ _      _ _      _ _   
 ~( v )~  ~( O )~  ~( v )~  ~( O )~  ~( v )~ 
   ' '      ' '      ' '      ' '      ' '   
            Hun-              ger            

Diese Art der Darstellung kann sehr einfach gehalten sein (siehe obiger Vogel), aber auch sehr anspruchsvoll (siehe Marilyn) und künstlerisch (daher der Name ASCII-Art). Sie wird häufig als Stilmittel verwendet (wie z.B. auf der Homepage von Midjourney), sie kommt aber auch bei leistungsschwachen Rechnern zum Einsatz (Embedded Geräte, Terminals, LED-Panels) und auch bei Computerspielen aus den 80ern wie z.B. für den C64 war ASCII-Art weit verbreitet.

In dieser Veranstaltung sollen all diese obigen Facetten von ASCII-Art beleuchtet werden und der Teilnehmer befähigt werden, auch selber ein einfaches ASCII-Art Spiel oder graphischen Effekt implementieren zu können. Die dazu benötigten Grundtechniken wie Rastergraphik, Vektorgraphik, Sprites, Scrolling, Animationstechniken usw. werden anhand von Live-Demos vorgeführt und erläutert. Diese dienen als Grundlage für die eigenen ASCII Graphik-Effekte.

Viele der vorgestellten Grundtechniken lassen sich prinzipiell auch auf moderne Game-Engines anwenden, mit dem Unterschied, dass sich ASCII-Art aufs Wesentliche konzentriert und das Grundprinzip dadurch spielerisch begreifbar wird. Weniger ist manchmal mehr!

.AART-1 .AART-2
.AART-3 .AART-4


Inhaltsverzeichnis

  1. Einführung
  2. ASCII-Art mit Linux
  3. Linux und NCurses
  4. Terminal-Graphik
  5. Colors & Palettes
  6. Single- & Double-Buffering
  7. Sprites & Scrolling
  8. Kollisionserkennung
  9. 2D Vektorgraphik
  10. Linien, Dreiecke & Polygone
  11. Sound, Joystick & Mouse
  12. ASCII-Art für Embedded-Systeme, LED-Panels, etc.
  13. Vergleich und Ausblick auf Techniken wie HTML und OpenGL
Include this page

Options: