REKT Invaders NFT collection:
Python Version: Python 3.13.3
Used as the primary programming language for generating the collection.
Libraries:
Cairo (PyCairo): For rendering vector graphics and creating animated frames.
Pillow (PIL): For image processing and saving frames as GIFs.
Multiprocessing (Pool): For parallel generation of NFTs, optimizing performance across 2000 items.
Random: For procedural generation of elements, ensuring variability.
JSON: For metadata creation and storage.
OS/IO: For file handling and directory management.
Graphics & Animation Mechanisms:
Custom pop-art style inspired by Roy Lichtenstein, using a predefined color palette (red, blue, yellow, black, white, green).
Procedural generation of cosmic scenes with planets, spaceships, aliens, and dynamic text overlays.
Frame-by-frame animation (140–180 frames per NFT) with a duration of 0.1s per frame, saved as optimized GIFs.
Ben-Day dots, striped fills, and new pop-art patterns (e.g., zigzag, radial, checkerboard) for planet designs.
Rarity System:
Planets: Common (84%), Rare (10%), Ultra-Rare (5%), Legendary (1%). 17 common styles, 15 rare, 15 ultra-rare, 5 legendary.
Invaders: Common (89%), Rare (10%), Legendary (1%). 6 common styles, 10 rare, 5 legendary.
Text: Common (89%), Rare (10%), Legendary (1%). Separate conspiracy text pool for the space_invaders_invaders_win scenario, shown in 89% of cases when the victory text is common.
Rarity influences visual effects: rare/legendary elements have thicker yellow outlines; common texts use black fill with yellow outlines, no flickering.
Procedural Elements:
Randomized planet and station positions in the lower third of the canvas, with overlap checks.
Dynamic attack animations (lasers, missiles, etc.) ensuring all shots reach their targets.
Four scenarios: ufo_attack, space_invaders_defender_wins, space_invaders_invaders_win, ship_battle.
Custom "Pop Art" font for text overlays, centered with slight positional variation.