Post mortemWell, it was a wild ride for sure. The game obviously didn't turn out exactly as expected, but the results are pretty nice. Not a lot of fun, unfortunately, but a learning experience for sure. I've never programmed a platformer before and it's more challenging than it seemed at first. A lot of early design mistakes made it much more difficult too. The code for the character physics is a huge mess.
The biggest mistakes I've made were all related to overcomplicating things. Instead of using simple rectangles I've programmed some custom collision classes. Also I've tried to model the physics as it was a complete engine only to find myself stuffing specific character behavior code all over the place later. The one thing that could've used a more complex base design is the main character state management. I've read recently some random forum guy talking about how you should take the state machine concept seriously in your code and I think he's right. It seems very natural to represent the character as a state machine and I should've done this way from the beginning.
Well, overall I'm very satisfied with the results. The graphics are looking awesome to me and the mood is very odd in a good way. Unlike our previously unsubmitted attempt on pyweek 9, this one I feel really motivated to develop further.