Episode 12: Zipper

Christa Mrgan: As an assassin of remarkable speed, you have the ability to slash your enemies in passing, before they’ve even realized you’ve moved. Unfortunately, in the world of Zipper, the 1-bit isometric homage to classic tactics games, your opponents possess this same power and can use it against you too, in equal measure.

Christa Mrgan: Welcome to the Playdate Podcast, bringing you stories from game designers, developers, and the team behind Playdate, the little yellow game console with a crank. I’m Christa Mrgan.

Today, I’m talking with game designer and developer Benett Foddy about Zipper.

Spoiler alert! We talk about the overall gist of the game, its mechanics, and one key aspect of gameplay that may not be immediately noticeable.

And one more note: there was a technical glitch with this recording that we didn’t discover until after our call. And I had had such a good conversation with Bennett that I didn’t want to make him do it all over again. So you may notice this episode has a bit more narrative fill-in than usual, and a couple of blips here and there because I had to cut around some dropped audio and weird robot sounds, but hopefully it’ll still feel natural. Anyway.

Bennett Foddy is an indie developer and philosopher based in New York City. His role on Zipper was…

Bennett Foddy: … just to do everything-- it’s design, programming and art with a bit of programming help from Dan at Panic. But other than that, it’s all me!

So Zipper is an isometric, turn-based, I guess like a tactics game, where you’re a samurai who is moving around defending himself against a number of assailants.

Christa Mrgan: Isometric games are illustrated in an angle that allows you to see more information about the environment than you’d otherwise get from either a side or a top down view. Picture the classic illustration of a cube drawn to show its dimensions. The term “isometric” generally refers to the type of 3D drawings you might find in engineering or technical illustrations, where the angles between each of the X, Y, and Z a axes are all the same, but isometric games may or may not use that precise viewing angle. But you get the idea.

Bennett Foddy: And I guess the core conceit, the central design idea of the game is what if you could move, as many steps as you wanted In your turn, but to pay for that, you then have to allow the enemies to take the same number of steps after you. You know, really big, fast moves, there’s a, a cost to them in that everybody else is allowed to move the same number of steps.

Christa Mrgan: The inspiration for that idea came from the manga and anime series "Bleach" by Tite Kubo.

Bennett Foddy: I really love that TV series also the manga, but watching the TV series, you can’t escape the feeling. This would be better as a video game. And I think really the central aesthetic idea of that show is somebody moves very fast past somebody else.

And then afterwards it’s revealed that one of them cut the other one. I think this is an idea from Kurosawa movies. You see a little bit of this this in, in Sanjuro and Yojimbo and in Seven Samurai.

Christa Mrgan: Akira Kurosawa was a Japanese filmmaker, and one of the most influential in all of cinema, really! If you’ve never seen any of his films, you should pause here and go watch “Ran” or “Seven Samurai,” not because you need the Kurosawa reference for this podcast episode, but just because they’re really good

Bennett Foddy: and I was interested in that idea-- sort of dashing past somebody and having them kind of be too fast to be able to, to see it. It’s such a, it’s like a nerdy samurai movie idea. Yeah, for me, it was a kind of a a confluence of aesthetics around one of my favorite movies of all time, Sanjuro. Of course, directed by Kurosawa. I wanted to make an eight bit video game representation of, that kind of movie.

I think the first time I heard about the Playdate might have been 2013 if that’s possible. Uh, something was whispered to me that Cabel was talking to developers about some kind of possible hardware device.

And so I had an idea he had something in the pipeline and I think that in 2015, I was at GDC and I was visiting the Firewatch stand in San Francisco and I talked to Cabel about it there, and like describing it to me, and it was a idea struck me as something that would be fun to make little game for.

I I’m a big believer in the idea that games kind of fit around people’s lives. And not sort of assert themselves as something that you have to kind of shift your life to do. And a lot of the games that I’ve spent the most time playing have been in that, in that sort of humble mold. And I was interested in making something like that.

And also the idea of making something for like a black and white screen was also exciting, 'cause I grew up with a ZX Spectrum and that was a, sort of an art space I wanted to explore as well.

Christa Mrgan: A ZX spectrum was an 8 bit personal computer, similar to the Commodore 64. It was released in the United Kingdom in 1982.

And with zipper Bennett wanted to reference some of the games he grew up playing on the ZX Spectrum,

Bennett Foddy: especially the isometric game "Last Ninja 2", which is a British game from the, from the 1980s was one of their first games that I, I ever loved.

So I played the ZX Spectrum version in black and white. And a lot of the art of Zipper is, is kind of tipping its hat to that game, which I think is really beautiful.

Christa Mrgan: Bennett’s process is really interesting. He used a combination of 2d and 3d tools to achieve the look he was going for, though Zipper isn’t his first pixel art game

Bennett Foddy: The very first game I ever launched was a flash game called “Too Many Ninjas”, also a Samurai- themed game uh, which is pixel art. And I have a, I have a couple in my catalog. It’s not really my main thing. It was really interesting to do. I apply, employ a kind of a hybrid approach.

Some of it is derived from photographs. Some of it is derived from 3D renderings that I then take down into, into pixels. And some of it is just hand-pixelled in a kind of a normal way. But I will say like making one bit graphics is really freeing in a way, right? Because you can try something, like, do the piece of art, and then you look at it and it’s like, does this read? Is this ugly?

And then you just start again. It was a process of, pretty fun iteration, at least for the background art. I did discover when you’re doing isometric game, everything has to be drawn four, four times for all the rotations. You know, like It really does explode in complexity pretty fast.

So yeah, I was using 3D. I actually made all the character animations in Unity to get it all looking as I wanted to, and then have all the camera angles kind of bake out.

Christa Mrgan: I asked about the dialogue and whether Bennett had created some kind of elaborate backstory to drive that. He said he was really just trying to evoke the films of Kurosawa without getting too heavily into the weeds on it.

Bennett Foddy: I’m not going to make like an authentic, like “Ghost of Tsushima”- style, heavily researched thing, which is like completely in tone with those movies, that’s, that’s not like a thing a single person can do so

Christa Mrgan: " Ghost of Tsushima" is a 2020 action adventure game developed by Sucker Punch Productions. It’s about a samurai on a quest to protect Tsushima Island during the first Mongol invasion of Japan in 1274. That game was also heavily inspired by Akira Kurosawa’s films. And the studio had a staff of hundreds at the time of production. So, yeah. Bennett decided he didn’t need to go that deep into the background for the game’s, dialogue, et cetera, figuring

Bennett Foddy: Well, what if I just pull back a little bit from that and just let this be uh, “I’m setting the stage” instead of trying to make a completely I don’t know, like a completely believable and realistic game. I’m not a novelist, I’m not Japanese. I’m not even like an expert on Japanese cinema. So you know, I’m trying to just evoke that and, and kind of let it hang there and not try to claim that I’m doing more than that. I think that would be a really big job.

Christa Mrgan: Though there’s a distinct difficulty progression, there’s no tutorial. You just dive in and get the feel of the game organically, through trial and error.

Bennett Foddy: Every game I’ve ever made, I try to do them so that you figure out how it works by playing around, rather than me having to kind of explicitly tell you how to do it. And I think that’s better. think people ultimately little better that way, or at least for me when I’m playing I’d rather be given space, to try things out.

And hopefully it’s a nice moment when you kind of really see how it works.

Christa Mrgan: Yeah, it’s nice to have the “aha!” Moment on your own.

And I managed to make it a few levels into the game before I discovered kind of a huge gameplay element-- and here’s the spoiler I warned about by the way-- you can use the crank to show how the enemies will move on their next turn, based on the move you’re currently considering.

Bennett Foddy: So the Playdate has been through a lot of iterations since I started designing it.

And the way Cabel pitched it to me at the outset was the crank wouldn’t even necessarily be revealed to people at first, right? Like it was going to like pop out halfway through the season. It was gonna be like this shock. Oh my God, there’s a crank.

Christa Mrgan: We’re not entirely sure we told Bennett the crank would pop out unexpectedly, but who knows! There was a lot going on, and we considered a bunch of cool secret features, including an entire second round screen on Playdate’s other side. You can hear more about that in the first episode of this podcast, “The Story of Playdate.”

Still, amazingly, because of this, Bennett just didn’t really have the crank in mind at first, when he was designing Zipper!

Bennett Foddy: But one of the things I found in this game is that different people play tactics, games differently.

Some people like to really plan, sort of play really sweatily and really like know what’s going to happen. And some people like to play more loosely and sort of like experimentally and if they die and restart the game, it’s not a big deal, which is how I play these games. Sort of play a move. I’m make a mistake once in a while.

And then I just restart. But for people who playing are more carefully, and I had a lot of play testers, who wanted more of an idea of where the enemies would go. So I had this idea that I could use the crank, which at that point was sort of not being used, to wind time forward. You could kind of see where everybody was going to go and, and sort of see, well, actually if I, if I do this big move, then all the enemies will be able to move too far and then I’ll be in trouble.

And so I kind of crank time backwards. That rotary controls really kind of connects to the passage of time in a really natural way for me. It’s like the crank on a movie like a movie protector or something like that. And so sort of makes sense to crank forward and crank back.

And I guess Keita’s game uses the crank in a similar kind of metaphor.

Christa Mrgan: Yeah, you can hear all about Crankin’s Time Travel Adventure, created by Keita Takahashi, Ryan Mohler, Matthew Grimm, and Shaun Inman, in episode four of this podcast.

Bennett Foddy: Yeah. But yeah, it works pretty well in this, and, you know, I, I think it’s fine if people never discover the crank. I’m not really pushing it on you in a really heavily tutorialized way. If you want to use it, it’s there, there’s a little graphic to, tell you you that maybe you should play with the crank, but if you never use it, it’s the game is totally playable that way, too.

Christa Mrgan: I find the predictive power of the crank really helpful, without making the game too easy. Since you still have to think several moves ahead. But it’s nice to see what your enemy will do on their next immediate move, especially because there are no checkpoints in the game. When you’re killed by an assassin, you have to start over from the beginning.

Bennett Foddy: No checkpoint. And I think that if you’re playing it, as I play it, then a run does not take particularly long. Right? Like when I play this game, I’m not all that good at it, honestly. But I probably play for about 10 minutes and then I die. I think a successful run would take maybe half an hour or something like that.

But you know, if you’re unlucky, there is some randomization which can change how quickly you can, You can successfully beat it. I’d say a speed run would be faster than that. But I dunno. Yeah. It’s to me like it’s again, to be in that genre of game where it’s, it’s about restarting and getting a little bit better and kind of regretting your mistakes. The enemy placement is randomized. Every room has areas where it’s likely that somebody will appear and they appear in certain kind of configurations, depending on how far along you are, how well you’re doing and, and where you are.

And then there are some kind of set pieces as well. When I really started on this, like 2015, it was, very, very in vogue to make these games completely procedural and to have a procedural map and to have the whole thing be randomized so that you in theory can play it infinitely, but it’s not the kind of game I was interested in kind of revisiting and, and evoking here.

I think I’m sort of interested in, things that are not too randomized. This is a game you’ll play until you’ve beaten it, maybe, if you’re enjoying it and then, then you’re done, and that’s the, that’s the idea.

Christa Mrgan: One thing that turned out to be unexpectedly challenging during Zipper’s development was pathfinding, which means using algorithms to move a character or object along a path or grid.

The idea of having a path of nodes for a character to move along seems relatively basic to modern games at this point, since it’s such an integral part of so many of them, but it’s far from simple, computationally speaking. And early on the play date, SDK didn’t include any pathfinding algorithms for programmers to access.

So at first, Bennett planned to create his own path finding algorithm in Lua, one of the higher level scripting languages that can be used to create Playdate games.

Bennett Foddy: that was a bit of a struggle. But that’s like, you know, basic AI is actually quite a lot of CPU cycles. So that was kind of interesting challenge. I’ve never really been constrained before. I’ve always been making simple games for high powered devices.

Which is a kind of best case scenario as a developer. And I really had to kind of understand what it would’ve meant to make games for a Game Boy. You’re really like aware you become hyper aware of the computing headroom of the device.

So that was really interesting. I had help from Panic on that to be able to get that to work. And now all of the, the characters can path find.

Christa Mrgan: Yes. It’s thanks in part to Zipper that the Playdate Software Development Kit includes pathfinding APIs.

Dan Messing: My name is Dan Messing, and I’m a software engineer at Panic working on Playdate. I’d say it’s grown sort of in conjunction with the Season One games. As we were working on the Playdate OS, games were being developed for it. So as people worked on games, it allowed us to develop the SDK sort of in a very focused way. So it was a good sort of feedback loop.

People making the games would, you know, ask us if there was a way to do something and we thought, oh, it would be good if we provided a way to do that. Instead of making every game, implement that thing on its own. One example would be a pathfinding algorithm.

There was one game that needed it

Christa Mrgan: The game was Zipper!

Dan Messing: And they were going to implement their own solution in Lua, but At the time I thought, oh, well, I’ll just, do a C implementation because pathfinding is sort of a common thing for, for game developers to need. So might as well build it into the firmware, make it faster for that developer and available for all developers.

Bennett Foddy: I had made it go as fast as I could. You know, and it, which was not very fast and I was like, “Dan, you know, like help me out!” And yeah, he did really nice low level C implementation of path findings. It’s really good now.

Dan Messing: And I think there were a lot of situations where things like that happened.

Christa Mrgan: Yeah, both the software and the hardware continued to evolve and improve significantly during the time Bennett was working on Zipper.

Bennett Foddy: And at first, when I was designing this, I was told 20 frames a second was the limit on the device.

And so I was like, yeah. Okay. I’ve never really made a game that could be played at 20 frames a second before, but I was up for the challenge because again, like these old ZX Spectrum games I played were max sort of maximum 20 frames, a second, and seemed like the design challenge. And so the core of Zipper’s design, really, is like, can I get action feel from a device that only refreshes the screen 20 times a second.

But yeah, I think, I think that was like a really interesting challenge for a designer is like to work with the kind of low refreshes rate screen.

Christa Mrgan: But as Playdate’s hardware improved, the screen refresh rate went up, with the default landing at 30 frames per second, and a maximum of 50 frames per second.

Bennett Foddy: And I could have made like an action game from the, from the jump, but for me, the design is like an artifact of how the specs got better over the course of development of, of the Playdate.

Christa Mrgan: And of course, another key design problem for Bennett to solve was sound. He created both the sound design and the music for Zipper.

Bennett Foddy: It’s an interesting challenge doing sound design in this context. When people are playing in a mobile way, very often they’re on a train, very noisy environment. When you’re making a, a game for an iPhone or something like that, you have to kind of design it to be played silent and with sound.

And the sounds that you make have to kind of cut through really, really loud environments as well. So you tend to use things that are really loud. So I was trying to capture that from those old samurai movies, when they do fight, the sounds are super exaggerated. They have like a very like loud kind of sound. And I found that that worked well with the Playdate speaker.

And I wanted a little bit of music. There’s music at the beginning of the game and at the end. Uh, It’s more at the end, I guess. And that was an interesting challenge too, 'cuz this device is very small.

The speaker is very small. And so because a small speaker just does better at high pitched sounds, it’s just the nature of them. And I discovered this old, you know, centuries old Japanese music instrument called the sho -the S H O -it’s like a, a mouth organ made of bamboo.

And it has really interesting sounds very, very high pitched sounds that form, these kind of like these polyphonic very interesting kind of chords that they play on that and they just play really long notes. And so I’m using the midi system. The Playdate has like a really nice software synthesizer built into it that I guess kind of maybe owes something to the collaboration with Teenage Engineering, but it it’s got some good filters and some good midi sounds. And I was like, well, I can actually make really realistic sounding sho on this synthesizer. It’s really like, you know, it’s a really natural fusion.

Thinking about what chords are allowable in that type of music, I just wrote some original music to go in there and some people will find it annoying. I’m sure. Just like the real sho, but for me, it’s a really beautiful sound that comes out of this teeny speaker.

And I really like it a lot.

Christa Mrgan: So what are Bennett’s hopes for the game and how people experience it?

Bennett Foddy: I hope to convey some element of the historic feeling of playing games from that era that I think that as Americans. I, I assume most of your customers are gonna be in, in north America, at least at first. And. What I’ve found over the years is that Americans are not aware of the primarily British, but European branch of, of eight bit and 16 bit computer games, which were very interested in isometric 3d and exploring a system. There’s just a different flavor to playing those, those games. If you grew up with Japanese and American games, you’re not familiar with that. You know, Nintendo games are conveyed in a, certain way; they have a certain kind of difficulty ramp and a certain a set of expectations, which I love.

But as an Australian, we got a little bit of like of everything and I always want to kind of share my love of those British games with my friends here in, in uh, United States, I hope a little bit of that comes through, like, should just at least feel a little foreign or fresh. Even though in, in ways, you know, I’ve been sitting on this design for a long time.

In fact, you know, the prototype for Zipper, it was one of the very first things I made as a game designer back in. I’m gonna say like 2008 maybe even earlier I have like an old flash pro where I couldn’t figure out the design. I couldn’t figure out how to kind of finish it. And once I figured out how to make something fun out of it, I brought this back and was able to kind of really realize my vision for it. But for me, it’s sort of a time capsule of what I loved as a kid. I was kind of like trying to do, but unable to do as a fledgling designer. And then, you know, how my design thinking has developed over the subsequent years.

So it’s really, it’s historical in a way, and I hope people can kind of touch that when they’re playing in some way.

Christa Mrgan: And so would Bennett make another game for Playdate?

Bennett Foddy: Yeah. It’s fun. I mean, it’s a fun API to work with. There’s an immediacy to it. You can do something that’s really kind of beautiful in a short space of time. Which is really, really nice. And yeah, I abso, I absolutely would. Yeah.

Christa Mrgan: I’d love to see that happen. In the meantime, you can learn more about Bennett Foddy via the links in the show notes. I hope you enjoy maneuvering through this castle and keeping one step ahead of your adversaries in Zipper for Playdate.

Thanks so much for listening and stay tuned for more episodes coming soon to the Playdate Podcast feed.

Bennett Foddy: It was great talking to you!

Christa Mrgan: Bye for now!

Bennett Foddy: Bye.

Christa Mrgan: The Playdate Podcast was written, produced, and edited by me, Christa Mrgan. Cabel Sasser and Simon Panrucker composed the theme song. Additional music and sound effects were composed by Bennett Foddy and come from Zipper, with traditional sho music from Naomi Sato.

Huge thanks to Tim Coulter and Ashur Cabrera for wrangling the podcast feed and working on the website, James Moore for making me an awesome Playdate audio extraction app and Neven Mrgan who created the podcast artwork and site design.

And thanks, as always, to everyone at Panic. Playdate is shipping now and available for pre-order at play.date.

Bennett Foddy: All right. Well, it looks like it stayed recording the whole time, so I think we should be fine on that. uh, cool. (garbled)