With the pre-alpha done, I'm now going to start on what I believe to be the hardest part in the development process - writing the engine. The main reason this is so hard is because it's impossible to test it until almost the entire structure is complete; so I'm just writing out several individual sections of it just now in the hope that they'll function together when it's finished.
Slipslide's engine currently consists of nine separate parts (its design has changed a bit since I made that flowchart some time ago). There's the main file (which is only there to bring everything else together, and will probably be under 100 lines in length), the character (which will be massive), the blocks controller (which only generates blocks so is fairly simple), the level intros generator (completely separate from everything else and will probably be the last part I write), the level loader and manager (which will be MASSIVE), the main menu (which will do a lot of data juggling with the main file but is otherwise separate), the media loader (which loads media, funnily enough...), the pause menu (one of the trickiest to write I think), and the sound controller (which will be easy).
I'm also designing an application which will go with the game that allows users to design their own levels, using wxPython. It will then be possible to load these levels from the game's main menu simply by selecting them from a list which user-created levels will be added to. I've got it planned out in its entirety, but the main thing that might stop this from being included is time - I'd prefer not to have this game's release be pushed back by months as the last game's one was, so I may have to drop this extra feature or release the level editor at a later date. But if developing it turns out to be as easy as I think it will be, I could well have it finished in time to use it myself to build some of the game's levels.