Dzięki Panowie za miłe słowa!:)
Pozwolę sobie na kilka słów z "zaplecza" demka "Don't be square".
Efekt był inspirowany efektem z rewelacyjnego dema "Rule 30" z Amigi. Inne demo amigowe, które zawiera podobny efekt, to równie rewelacyjne "Hamazing".
Wydaje mi się, że moje jest world first na C64.
Efekt opiera się na hexagonalnym patternie złożonym z 31 obiektów. Ze względu na wykorzystanie czasu rastrowego na blitowanie tekstury, sprajty i muzykę, w jednej ramce jest czas na zmianę maksymalnie dwóch obiektów - w demie zmieniany jest kolor jednego na ramkę.
Pierwsze prace nad efektem zaczęły się w listopadzie 2023 roku. Do wydania ostatecznej wersji przetestowałem około 100 tekstur oraz przygotowałem 37 schematów kolorystycznych. Do tworzenia schematów napisałem sobie proste narzędzie:
https://kawalekkodu.pl/examples/hex.html - generuje ono wiele możliwych ścieżek przejść kolorów. Wygenerowane struktury są faktycznie używane w kodzie, ale zmieniane pod kątem momentów wyświetlania poszczególnych kolorów.
Każdy obiekt używa 3 tekstur, w sumie w demie używanych jest 12 tekstur (4 wzory * 3 tekstury). Procedurę blitująca teksturę, generującą kod assemblera napisałem w PHP;)
Ze względu na ograniczenia możliwości kolorowania newralgicznych miejsc, tj. wspólnych obszarów ukośnych krawędzi lub wspólnych obszarów gdzie łączy się dół jednego z górą drugiego obiektu (to można by ominąć rozciągając hexagon w osi Y, ale wyglądałby kiepsko), używane są sprajty. 6 sprajtów co 21 linii. W Excelu przygotowałem sobie coś w rodzaju narzędzia, które pozwala mi na optymalne dobranie linii rastrowych gdzie powinienem zmienić kolor i/lub pozycję x i/lub pointer i/lub pozycję-y sprajta, tak aby jak najmniej właściwości zmieniać w danej linii i ominąć jak najwięcej bad-lines.
Muzykę napisał Shogoon (dziękuję:)), mając ode mnie trochę szczątkowe informacje, tj. co chcę na początku, co chcę na końcu, że jest 31 obiektów i mogą fruwać tak, siak i owak:) Stworzył muzykę, do której dopasowałem czasy przejść, a wygląda tak, jakby była stworzona do finalnych efektów - jest idealna.
Nieskompresowana wersja zajmuje ok. 48 kB.
No, a tytuł... chodziło o to aby nie ograniczać się do efektów opartych na siatce 8x8 i nie być wapniakiem:)