Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags
(+1)

The levels in Mondrian - Abstraction in Beauty combine preset design, procedural generation, and unlockables for some pretty nifty results. Basically, the more you unlock in the game, the deeper the generation goes. Everything gets generated in about 6-8 seconds when a level loads.

  1. Determine Layout: This is the heaviest handmade part of generating a level. We currently have 40 premade layouts for the main levels, and 4 layouts per Benefactor Pack (levels based on other games). So the game generates a random number between 0-39, and if that specific level is unlocked and activated, the game generates the blocks for that layout.
  2. Set Color Scheme: The game then determines which particular color scheme a level will have. There are 7 schemes overall, from completely randomized to only R, G, or B values, and preset palettes.
  3. Set Platform Emulator: Then the game decides how derezzed it will look, and for particular platforms, like the Handheld style, this overwrites the Color Scheme setting.
  4. Set Ball, Paddle, Wall Shape & Rotation: The game does a quick roll of the dice to determine which core gameplay elements the player will have in this level. Again, this is all based on what the player has already unlocked and activated.
  5. Scatter Powerups: Before even the blocks are placed, the game decides which powerups will be available in a level: Bomb, Lock, Wildcard, Shield, and/or None. Once all the blocks are laid out, each one loops through possible choices of available powerups or None. This creates a really fun, unpredictable, and slightly strategic feeling to each level, and makes each level very different from the last.
  6. Background: Finally, the game picks a random background from the ones available.
Now the level has loaded, but before the Fade-In, the game checks whether or not this level should be a Challenge level (which show up after every 3 wins in Endless & Gem Hunt modes, and always every 4th level in Arcade Mode). The game then makes any adjustments necessary for this particular challenge, like destroying the Wall.

Like I said, all that's done in less than 10 seconds. These 6 steps essentially create a massive number of possible level variations within a strict set of rules. It's not a precise calculation, as it does not take every color and every block on the grid into account, but my current calculation of possible levels within those sets of rules is 1,185,408,000.