Wenn es nur um die Kleinheit der Dinge geht. Geht es immer um hochintegrierte System. Jede Veränderung ändert alles und jede Lösung auf dem Papier ist nichtig in der Ausführung, wenn sie zuviele Zeichen braucht.
Kompiliert funktioniert alles, auch die Mechanik geht.
// Alles in einem Byte – alle Kollisionen – untrennbar
Das es mit der Hardware-Collision nicht sehr weit her sein muss, zeigen eindrücklich die Hardware-Collisionsroutinen des C64. Hier gibt es die Routinen: Sprite-vs-Sprite und Sprite-vs-Background. Die Sprite vs Background fragt wirklich letztlich nur den Hintergrund ab. Die (pixelgenau) Sprite-vs-Sprite-Routine liefert einfach ein geflatetes Byte mit dem aktuellsten Collisionsstand. Also etwa (von links nach rechts zu lesen): 01011001
Das erste Sprite kollidiert gerade mit dem 4. oder das 4te und das 5te oder das Fünte mit dem ersten.
Das Ganze ist also maximal ambigue und deswegen auch nicht wirklich nutzbar und so – zumindest einige Blog-Artikel – auch nicht wirklich genutzt worden dann. Dabei ist auch hier die Frage – waren das Problem die Kosten? Ein Byte pro Kollision von Spritex mit allen anderen Sprites würde ja nur 7 Bytes mehr benötigen (1 verwendet man ja schon)! Der C64 ist ja bekanntlich eine auf Kosten optimierte Computerspielmaschine.
// Insofern schwierig zu verwenden etwa im Sizecoding, wo man dann nicht durch eine zweite Methode bestimmen kann, wer da mit wem kollidiert.