Thanks for all your comments!
This one was really fun to design. I do feel like it needed an extra day to make it shine though. I'll discuss the main gimmick in the game, so skip this post if you want to avoid spoilers. Let me start with the non-spoilery development stuff.
The main ideas of this game took me a while to narrow down. I only started implementation around mid-week, which is why things might look a bit clumsy. In particular, if I had more time, I would have fixed/improved animations, added at least one more level, improved the undo system, and added an actual ending. I had a broader storyline in mind that I'll talk about below but I could only hint at it in the final version. Overall, it went fine given the limited time.
Having two separate games that interacted with each other was a fun idea to play with. I was trying to think of an idea where you would have a divided game (other Pyweek games had similar concepts) and stumbled into the question, why not make them actual separate games that interacted with each other?
From then on, the challenge was what to make, and this was harder than it sounds. Early iterations had more complicated puzzle mechanics, but I realized that I needed to make them as simple as possible because otherwise you couldn't combine them. I also scrapped an idea where you would have certain "glitching tiles" that served as a portal to transfer objects from one game to the other, which I think would have been a cool direction but completely different.
I chose the path constraint because it adds depth to the game without much complexity and doesn't interfere with combining the games, and it kind of came naturally after I decided to put a "ball of twine" in the game to play with the "entwined" idea. I'm especially fond of this constraint because it was the basis for another Pyweek game of mine that did well, Walkway, 10 years ago (wow, was it that long?). Nowadays you have famous games like The Witness that went extremely deep with this mechanic, so it doesn't feel too novel anymore, but I think it's still a powerful puzzle mechanic and very interesting to combine with other mechanics.
In the end, I settled with the idea of shared buttons (ultimately tokens): hitting a button would affect both worlds. The red mechanic was pretty simple, the blue one I think is more interesting especially in combination with the path constraint, since it could block you from triggering it towards certain directions depending on your movement. I wish I had more time to explore these mechanics, I think it's possible to do more with them, but that's how Pyweek goes.
I really wish I had more time for levels. It was unusually hard to design them, I had to iterate a lot. Each pair of levels was taking 1-2 hours. The reason is that they needed to both be interesting individually, and together.
My method was to first make each individual version, and then hope that I'd be lucky enough to tweak them to make the combined version. But every time that I tweaked a level, I realized that I was breaking either the individual or the combined version, or making them less interesting. The main reason why it was so easy to break was the blue mechanic. I could add more platforms for the combined version, but they actually would interact with how other platforms moved around, which would make the blue version unsolvable. And because the area is so tight, it's difficult to make things work together. In the end, unfortunately I was only able to make 2 real pairs of levels and a tutorial, but I think because you play the game three times, it's still a reasonable length for a short Pyweek game.
Finally, I had no idea how difficult these puzzles would be. Usually I get a lot of comments on being too difficult -- and I do usually try to tone it down, I'm just not great at it -- but I was so tight on time, and I didn't have full control of the levels for the above reasons, so I kind of left it to chance. Only one person said it was too difficult so it looks like it wasn't a disaster, which is better than how it usually goes. :)
I had planned a neat storyline for the game, even though I kind of knew I wouldn't have time to include it.
I wanted the twins to chat with the player during or between the levels, talking about how their game was better than the other. At the end of each game, each twin would finally lament that their puzzles were not that interesting and they wish they made more interesting puzzles. There also would be a mysterious portal of the opposite color at the end of each game guarded by num_levels torches (or perhaps just the torches arranged in a mystical circle), which is why the current version has flames as the special combined token. Once you play them together, the dialogue would change and they would first keep complaining about each other, but they would slowly appreciate that the puzzles are more interesting together. In the final ending, as you light the torches with the flames you get throughout the game, the games would mix up together, and the twins would reconciliate and come to the conclusion that they should have worked together to make the game, and finally thank the player for making them realize that.
I had a little fun with the game title. Of course, the title "Entwined" itself serves as a hint that the two games are intertwined and interact with each other. What I'm not sure if anyone noticed this is that, in the main screen when you run both games together, the reason why the "TWIN" part of "ENTWINED" becomes red (blue) in the blue (red) game is not only to highlight the wordplay with the "twin" Pyweek theme, but to indicate that the red (blue) twin has joined the game. :)
I had limited time to play your games (sorry if I didn't make it to yours), but I've enjoyed playing them. Congratulations to everyone who finished, and to Cosmologicon and Mirror Mirror! Thanks mauve for hosting. See you all next time.