The first step I took towards improving Blooprent was to separate the code that draws everything on screen from the code that calculates all the game logic. Then I started making graphical changes. In the past, it wasn't immediately obvious which blocks were placed by the player and which blocks the level started out with. This problem has been resolved.
Source: