I used most, if not all of these concepts. I drew these concepts before implementing them into the level, but I didn’t do it at the beginning. I will from now on, unless something says otherwise, make a function first, then squeeze every use out of it, then add another one and repeat the cycle. I won’t be able to do this for certain features a lot, until I add something new in, for example: Movement, only left right, crouch and maybe jump, but as soon as I add in an enemy, the possible uses skyrocket up and can be utilised in countless ways.
The obstacle concepts are designed to first introduce the player to a use of a feature and then to re-introduce it, but in a slightly modified way. For example: The mine that goes off when the player first encounters it and it can be avoided by jump up onto a platform. This is then re-introduced to the player by a fall that starts them in a new area where the event repeats again, but the area is not the same, so it won’t just feel like a copy and paste, even though it somewhat is.
My only regret with these concepts, is that I didn’t start them earlier in the project, it would have help tremendously.
As a side note, I’ve noticed that in myself that I have the potential to be an amazing game designer and other things I am good at, but that I have been going through it all wrong and just makes me look like I don’t know what I am doing or doing it too slowly, which is partly true, I just didn’t know the most effective methods.