Midnight Manor was my very first Ludum Dare. The theme was "Running Out of Power". I had a bunch of friends over that I had previously worked with on a pen and paper RPG. Their skills didn't carry over into video game development, but I had gotten very good at brainstorming with them. We came up with the idea that the player would be trapped in a house. There was a generator that would run for a certain amount of time before needing a 'restart'. The player had to solve a simple puzzle to find the key and escape through the door.
I did some pretty hacky things for this game, as I didn't have any real experience with development in any significant way. Each item for the puzzle is it's own csharp class, even though every class had the same properties. My reasoning for doing it at the time came down to the fact that I knew nothing about inheritance or instancing. I used the classes as tags and it was super messy.
Another very embarrassing thing came in the actual design. The generator had a certain amount of time to run before you had to go back downstairs and reset it. We set it to a pretty generous value initially, to make testing easier. Right before the jam ended, I realized I'd forgotten to make the time more challenging, so I literally just cut the number in half and submitted it. I played through once, just to make sure it was winnable, but I did the speedrun version where I knew where every piece of the puzzle was.
The biggest complaint about the game was that the incredibly restrictive time limit made it almost impossible to play. That's a pretty rough criticism, but it's totally fair. Good design requires iterations of testing, feedback, and integration. I did none of that and my game suffered for it.
I made Midnight Manor very early in my development career. I made a bunch of stupid mistakes and ended up releasing an almost unplayable game. That said, I'm proud of what I was able to accomplish with my limitations both in time and skill. The best version of learning is when you observe the mistakes of others and avoid them. The most permanent version of learning is when you make those mistakes yourself and have to live them down.