How I make puzzles for my indie magnet game (Developing 9)
Scores
Hi, my name's Mark and I am making a video game about magnets. So in the last episode of this series I said that my next goal was to work on some actual content for this game: the puzzles for this puzzle adventure. All of the stuff I've made so far has just been test levels and prototype stages, stuff that ultimately ends up getting thrown away when I change the code too much. But in the spirit of 'finish the game', it's time to knuckle down and really get to work on the content that should - hopefully - end up in the final game. So my challenge for January 2023 was to make 30 individual puzzle chambers. How did I get on? Well stick around to find out. So on January 2nd, I sat down in front of Unity with a big mug of tea and a great deal of determination and went "all right! Puzzles. Puzzles... puzzles". Man! Turns out it's really hard to just come up with ideas for puzzles. I've made a few good ones during the development of this game but they honestly feel like flukes that came about at random. The thought of doing that on demand, 30 times in a row: I'm not sure how to do that. And so in the beginning, progress on this challenge was pretty slow. I made a few levels but it was like pulling teeth. And this really shot my motivation for working on the game. I could only do it for a couple hours a day before getting completely bored and burnt out. And so at this rate I simply wasn't going to meet the goal. Now I did start to think that maybe I was just done with this game after working on it for so long. It's been well over a year now, plus I just took a massive four month break at the end of last year. But no. You see, sometimes when I was bashing my head against one of these puzzles I realised that I needed to make some kind of new mechanic: a new button, or switch, or a door, or block, or whatever. And so I would do the artwork and then write the code and then test and debug and make tools in Unity - and suddenly it was like game development used to be! I could just hyper focus on the problem for hours and hours at the time without even realising that I haven't had lunch today. But then I go back to level design and it was slow and difficult and tedious. But I realised that there was a fundamental difference between these two modes of working. You see, when I was working on a game mechanic it would always begin with some kind of goal: like I need to make a block that the robot can push left and right. And then I can work towards that goal. But when I'm making a level, the only goal I have is "make an interesting puzzle", which is pretty ambiguous. What I could really do with is a bit more structure. So I looked for resources to help me come up with ideas for puzzles and came across this great post by Patrick Traynor, creator of last year's wonderful game Patrick's Parabox: a sort of mind-bending, meta-level recursive Sokoban gem. It was one of the honourable mentions in my video on the most innovative game of 2022. It's a great game. Anyway, this post has loads of great advice on coming up with ideas for puzzles but there was one thing that really stuck out to me. so here's what I did. I took screenshots of all of the mechanics in my game: that's the magnets, the drill bit, the one-way platform, the electromagnet, the laser, and so on. And then I put them along the top of a table. I took those same mechanics again and put them along the side of the table and got rid of all the duplicates. This left me with a matrix, where every cell is at the intersection of two game mechanics. This one, for example, is at the intersection of the electromagnet and the drill. I would then take those two game mechanics and put them into an empty room in Unity, alongside some other bits and bobs like the character, maybe one of the magnets, some buttons, some floor tiles, whatever. And then I just start playing around, experimenting, just kind of messing with the system, and looking for interesting interactions, or interesting consequences of these two mechanics. Like, for example, if the drill bit is over the electromagnetic beam then my little magnet gets stuck. And then if you retract the drill bit, if you are near the tip the magnet will quickly shoot up and escape, but if it's on the other side of the drill bit it will take much longer. And so this little realisation, this little trick: that can be the solution to the puzzle. That is what the player has to figure out. And then I can essentially work backwards to create a level where the only way to solve it is to do that one thing. And so if I just add a few more mechanics, like so, here we get a level where you have to trap the magnet underneath the drill bit, away from the tip, so you have enough time to get here before the magnet escapes and makes these two doors switch places. That's not a bad little puzzle! What else is on the puzzle matrix? Electromagnet plus laser beam... okay not bad. Block Plus drill bit... quite like that. Laser plus wheelie block... yeah pretty good. Suddenly, puzzle design wasn't so difficult anymore and my motivation was coming back. I put this largely down to the puzzle matrix: it's all about giving me that prompt, giving me a suggestion, giving me a jumping off point. Just some kind of structure to help me find ideas. Now of course it didn't always work. Not every combination leads to good puzzles and sometimes progress was still difficult and slow. But overall this made puzzle design so, so much easier, and it got easier with every puzzle I made. I put that down to a few things. One is that I just got better at puzzle design. I learned the tips and techniques that you get when you do something over and over again, and it's like building a muscle. So, for example, I started to see the importance of the number of actions the player has available to them at any one time. If it's too many, the puzzle can feel confusing and overwhelming. But if it's too few then the player can just do the thing that's in front of them, over and over again, until they solve the puzzle... without actually solving it. I also thought back to my video on puzzle design where I talked about luring the player into making a wrong assumption about the puzzle, so they get a bit stuck, and then have to think in a lateral way to find the real solution. So I tried to incorporate that into some of my puzzles as well. Puzzle design also got easier because I boosted the number of mechanics I had available to me. As I said before, so much of puzzle design is about forcing the player to do one very specific thing, so you need to cut off other routes that would allow them to finish the puzzle in a much easier way, and render the whole thing pointless. That usually comes down to some kind of mechanic like a laser beam that can block the player but not the magnet, or a beam that can block the magnet but not the player, a button that you have to hold down for it to operate, or a door that operates a switch every time you go through it. Every time I made one of these to solve some kind of problem in my puzzle design, I would then have it in my toolbox to solve that same problem, much faster, in the future. I also swapped some of my mechanics for ones that would be more open to combinations in the puzzle matrix. For example, this flippy lever is pretty cool but I swapped it for a big spinning fan blade which can do things like this... that could be a puzzle! And the final thing that helped make puzzle design easier was investing even more time into my tools. Like, before, if I wanted to wire a button up to a mechanic it would take many clicks to assign the right function to both the on and off triggers for the button. So I rewrote the whole thing and now that whole thing can be done with a single click. So much of this process is about playing around and experimenting and iterating, so I want it to be as friction free as possible for me to edit these levels. So between the puzzle matrix, and the tips and techniques, and the added game mechanics, and the improved level design tools, I was able to make a whole bunch of levels for this game. And each time, I would create a slide in my puzzle bible in Apple's Keynote. On each slide I would jot down which mechanics I used in that puzzle, so then I could easily reorder the stages to have a nice progression of slowly introducing the player to the different game mechanics. Eventually I'll also want to do this for difficulty as well, but that will come after play testing. And then when I looked at the puzzle bible I could see places where the progression just kind of jumped, so like the first puzzle I have introduces the player to the red block, the electro magnet, and these touch buttons. Then the second puzzle adds blue blocks. And then the third puzzle adds the drill bit and the winch. But then the fourth puzzle adds orange buttons, green buttons, laser beams, and moving platforms - woah, that's way too much stuff! Slow down! But I could see this gap as fertile ground for making more puzzles, and again with a really clear goal this time of introducing the player to the mechanics that they would need for that fourth level. And so each gap in the puzzle bible would add even more levels to the total. And so did I meet my goal to make 30 levels in January? Not quite! I got about 26 before I had to stop and make this video. I am still running a YouTube channel, after all. But I am really proud of my progress and I'm really excited for the game now, especially after I overhauled some more of the visuals. I think it's starting to look like a proper, bona fide video game. And so in the space of a few weeks I went from hating my game and wanting to delete it and go live in a cave in Serbia to being really excited about this game coming out. And for the first time - the first time this entire process, I feel like I can see the end. So far it's been like climbing a mountain where the peak is obscured by fog, but in January I felt like I could finally see the summit. I can see the road map I need to follow to get this game done. I need to make a bunch more levels; I need to do some kind of narrative, story, cut scenes, something; I gotta make a level select screen, I've got to do music, and I've got to do the general polish and bug fixing and release. That's a huge amount of work, still many many months, but it does at least feel like a road map. It does feel like something I can follow to get this game done. But the next step is play testing these levels, making sure they're actually any good. Puzzles, more than anything else in game development, I feel, are something where the creator just cannot gauge their quality or difficulty. So I need to bundle them together into a demo and give them out to people to play. That will start with family and friends but then it will go on the GMTK Discord for Patrons. Make sure you're in the Developing with Mark thread if you want to have a play. That's all for now, thank you for watching, thank you for your patience, and I'll see you - hopefully - in March!
Summary
Mark shares his process for overcoming creative block in puzzle design by using a structured 'puzzle matrix' to generate ideas, which helped him make significant progress on his indie magnet game.
Key Points
- Mark struggled with generating 30 puzzle ideas for his indie game due to lack of structure and motivation.
- He discovered a structured approach using a puzzle matrix that combines different game mechanics to generate unique puzzle ideas.
- The matrix involves pairing mechanics (e.g., electromagnet + drill) and experimenting in Unity to find interesting interactions.
- This method provided a clear jumping-off point, making puzzle design more systematic and less daunting.
- Mark also improved his tools and added new mechanics to increase puzzle variety and complexity.
- He created a 'puzzle bible' to track mechanics and plan a logical progression of difficulty.
- Despite not reaching 30 puzzles, he made significant progress and regained excitement for the game.
- He plans to playtest the levels to ensure they are enjoyable and appropriately challenging.
Key Takeaways
- Use a structured approach like a puzzle matrix to generate ideas by combining different game mechanics.
- Experiment in the game engine to discover interesting interactions between mechanics.
- Create a system to track and plan puzzle progression, such as a 'puzzle bible'.
- Improve development tools to reduce friction and enable faster iteration.
- Playtest puzzles with others to assess difficulty and enjoyment, as creators cannot reliably judge their own puzzles.