C'est un mélange d'aléatoire (pour éviter la répétition) et de non-aléatoire (pour éviter d'être bloqué par des mauvais placements de blocs), mais c'est loin d'être parfait…
Tu as fait des modules (des morceaux de niveaux) pour contrôler le level design et ce sont eux que tu spawn aléatoirement ?
Je n'ai eu le temps que de coder des colonnes, mais implémenter des blocs entiers de plusieurs colonnes aurait été idéal en fait.