ASCII-Art Graphics & Games (AART)
© 2024 | Stefan 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!
Inhaltsverzeichnis
- Einführung
- ASCII-Art mit Linux
- Linux und NCurses
- Terminal-Graphik
- Colors & Palettes
- Single- & Double-Buffering
- Sprites & Scrolling
- Kollisionserkennung
- 2D Vektorgraphik
- Linien, Dreiecke & Polygone
- Sound, Joystick & Mouse
- ASCII-Art für Embedded-Systeme, LED-Panels, etc.
- Vergleich und Ausblick auf Techniken wie HTML und OpenGL