Скрипт генерирующий уникальные карты.
Существуют настольные игры, основной механикой которых является поиск комбинаций карт с различающимися или совпадающими признаками.
Например Ётта https://tesera.ru/game/IOTA/ или Сет https://tesera.ru/game/set/. В качестве примера далее используется Сет.
На каждой карте есть изображение содержащее в себе четыре признака в одном из трех вариантов.

Левая карты - один зеленый пустой ромб, средняя карта - две синие штрихованные кривули, правая карта - три красных залитых овала. Вместе они составляют набор в котором все 4 признака различаются.
Каждая карта уникальна, их количество можно вычислить по формуле вариативность_признаков^число_признаков=3^4=81 карта.
Set Generator создает файлы векторной графики(print1.svg), содержащие карты 64x90мм готовые для распечатки на формате A4.
На данный момент дизайн выглядит так:

Левая карта - один зеленый полу залитый круг, средняя карта один зеленый полу залитый крест, правая карт - один зеленый полу залитый квадрат. Вместе они составляют набор в котором три признака совпадают, один(форма) различается.
Вместо штриховки используется заливка градиентом от белого до целевого цвета. Контуры фигур толще и имеют более темный оттенок. Фигуры имеют четырехстороннюю симметрию.
Возможности:
На данный момент можно изменением ключевых переменных относительно легко менять генерацию в следующих аспектах:
генерировать сеты 4^4, 3^4, 2^4, 4^3, 3^3, 2^3
менять цвета заливки и контуров фигур в формате RGB,
менять размер фигур и карт,
немного сложнее менять форму фигур.
Причины по которым я работаю над этим проектом:
Мне не нравится дизайн оригинальный игры.
Люди с разными вариантами цветовой слепотой могут испытывать проблемы при определении цвета.
Названия цветов и форм фигур могут быть слишком длинными в различных языках.
Возможность создавать новые варианты игры путем изменения числа и вариативности признаков.
Прокачка навыков програмирования.
В планах:
увеличить число и вариативность признаков,
графический интерфейс,
конвертирование в другие форматы графики,
русская и английская документация,
оптимизация кода.
Библиотеки необходимые для работы
svgwrite 1.3.1