Downpour is out!
Today, Downpour comes out!
In case you don’t know, Downpour is the game creation tool I have been working on for the past few years. I started it after I left Niantic in October 2022, and I have been working on it ever since then (with breaks for illness and freelance work and going on trips and so on). I am proud of it. I hope people make good things with it! And also, of course, I hope they subscribe and make this retrospectively not a kinda dumb financial decision. But also I very sincerely hope they make good things that they wouldn’t’ve made otherwise.
The aim when I started working on Downpour was to make a tool that makes making an interactive game-like thing quicker and easier than any other. There’s a lot of parts that go into that, but this, and a secondary goal of making it expressive, remained my north star throughout development. Here’s some examples:
- The simplest kind of game is one where you just make choices. So that’s what Downpour gives you - just choices. Lots of other stuff can be added in a kind of hacky way on top of that.
- What are the choices made of? Well, you can write text, of course. But also we want to be expressive, so let’s also allow pictures. Where do the pictures come from? Let’s let people draw on paper and get them into the game. That’s the quickest easiest way to make a mark. Or they can take pictures of other things, and use those. Or they can draw using some software, or they can import images they find online. Any of those things.
- It’s an obstacle to fire up your computer, and maybe you don’t have one. So let’s make this a thing you can use on your phone. And as a bonus, it has a camera built in and easy to point at things you’re looking at (laptops have cameras too but they face the wrong direction).
- Some people have iPhones, some people have Android phones. We want this to work on both, so let’s make this cross-platform.
- And we want this to be fast to start up. So when I was looking for a framework to make this in, I tested how quickly various tools took to start. Unity was very slow, React Native also pretty slow. Native obviously had the capacity to be fastest, but it would have meant making it twice. But Flutter was cross-platform and also pretty quick! I just tested launching Downpour on my phone and it starts in under a second. Happy with that.
- Endless bits of UI design, thinking through how to edit an infinite canvas on a phone, trying to make it so you can do all the common things holding the phone one handed (important tip is to put stuff at the bottom of the screen). And also looking enviously at computer software like tldraw where they get to use hover states and right clicks.
- A tutorial, to teach you how to use all this UI.
- There’s also a psychological angle to all this. What stops you from making a game? Maybe it’s that it’s hard to come up with an idea, hard to get started. So let’s also bundle in some games that are unfinished, that you can open up and see how they’re made and just mess with or add a single thing to. Much less intimidating than coming up with a whole game by yourself. (This is actually an area I should do more work on)
- When you think about the process of making a game, it’s important to consider the whole thing. Which means making a game also includes sharing that game. When I started, people would ask - so you can put these games on itch.io? And you can put Downpour games on itch.io - but uploading a game to itch.io means filling out a long form and maybe even picking some colours. It’s a lot of fuss, it takes at least a few minutes to do. A good choice for them, as they focus on games that have taken days, weeks, years to make - but we’re focusing on games that have been made in minutes or hours. So instead, there’s a button inside Downpour, and when you press it, the game is uploaded onto a server where anyone can play it. That button took a long time to make - it needed a server, and hosting for images, and an account system, and conflict resolution, and DDOS protection and…
- But also having to make an account slows people down, and makes the tool more fragile. So let’s let people make games without needing an account - just if they want to use the upload button.
- On the other hand, you want people to play the game you’ve made, that’s also part of making it (and of getting the motivation to make it). So other people should be able to play your games inside the app, and follow you so they can get a push notification when you’ve added or updated a game (they need an account for this bit, too)
- Of course, most people won’t have the app, and you want lots of people to play your games. The best way to let anyone play it is to make the games playable in a web-browser. Which seems pretty possible - we’re just displaying images, text and links after all, and browsers are pretty good at those things. So there’s a second version of the code that can play games, made in HTML and Javascript. The end result is that when you upload you get a little link you can share, and people can click on it to play your game.
- Looking over at Bitsy, I can see a nice little opportunity for expressiveness here - there is a thriving community of hacks for Bitsy, things that take the HTML that Bitsy produces and extends that. So there’s also an export button that downloads your game and the webpage that plays it. And let’s open source that browser code, and make it so it’s separated from the game data so it’s easy to change one part or the other separately. Then if people want to add weird new features to their Downpour game, they can do that without being dependent on me. Or they could modify the game data and upload it back into the app!
I’ve joked through development that it’s not been an especially fun or creative process, and while that’s mainly a joke – there’s plenty of fun problems I’ve faced along the way – it’s also true that the bulk of it has been trying to take on the tedious work so that other people can make games without thinking about it. Making a Downpour style game without Downpour would be pretty easy for people with reasonable technical chops. But it would involve a lot of faff and a lot of figuring out and it would almost certainly involve a computer and firing up an image editor and thinking about web hosting… It would not be worth all that to make a game that is a single stupid joke. And I like games that are single stupid jokes, and so I guess I have spent a few years in the hopes that I can let more people make more of them.
So if you want to make a game - a quick game, maybe it’s a joke or maybe it’s a poem or maybe it’s something else - Downpour comes out today. I think it’s probably the quickest, easiest way to make a game from end to end. Here’s some links for you:
Wed Mar 6, 2024