Ask @MattThorson:

When did you make the switch from Game Maker to XNA, and what prompted you to do so? Also did XNA have a tough learning curve for you?

I actually switched from Game Maker to Flash back around 2008. At the time, the developers of Game Maker had made a few very bad decisions and I lost confidence in GM's future. I also needed money, and Flash sponsorships were a thing back then.
Flash is pretty much dead now, but I ended up learning a lot making contract games for Adult Swim. Their rates were calibrated for entire small studios, so as a solo dev (or collab-ing with a single friend) they paid very well.
I moved to XNA and Unity around 2011, but I preferred XNA and dropped Unity pretty quickly. My plan was always to stop doing contract work and go back to making downloadable games, selling them directly to players. XNA seemed like the best way to do that. I had savings built up from my Flash games and had now finished my degree so I had no distractions.
It took me more than a year of prototyping to find my next game: TowerFall. That was a frustrating, scary time, but it worked out!
I found C# and XNA pretty natural. There were a few hiccups at first- for example I'd never worked with atlases or shaders for graphics before! But I was able to build a game engine and toolset that made the workflow resemble and improve on Game Maker and Flashpunk for me.

View more

How often do you play towerfall? Dont you get bored with all the testing while developing it?

I don't really play anymore, unless I go to a party and people are playing. I went through a period of depression where I really hated it after Dark World's release, but I'm proud of it now. I was never really sick of the game while we were working on it, and we played a LOT of TowerFall.
I remember at our first PAX, we crammed most of the team plus some friends into a single hotel room. After a long day of playing TowerFall with strangers at the show we came back to the hotel and... played more TowerFall.
Diving into local multiplayer design for the first time was magical. Creating a game from the ground up to be a shared experience opened this door to a place where possibilities seemed limitless and everything was exciting. Making TowerFall taught me so much. It was fascinating, and I was obsessed.

View more

How did kpulv get so gud at the falling tower game? You gave him ze cheat code???

When Kyle won his 3rd world championship in a row, I ran up to congratulate him. The first thing he said to me was "I don't know who was playing TowerFall just now, but it wasn't me."
So I guess the answer is he was possessed by some crazy esports demon.

View more

Why dont you make unlimited amount of players per match? I mean, wouldnt it be simple to implement? Just add a couple more characters to the scene.

8-player was actually a ton of work! Some of the work is UI stuff - the character select, match results, and team select screens had to be recoded and lots of graphics recropped.
But I'm also concerned about whether it's actually fun to play with 5+ players. For 8-player TowerFall I changed the game to widescreen resolution and adapted all the level designs by hand. It's a lot of work, but it's necessary to make sure the game works with that many players!

View more

How do you think An Untitled Story would have turned out if you had planned out the entire world first?

I don't even know! When I was working on it, I liked to think of it as a journal or diary - I was very impulsive about what I added depending on how I felt on any given day. Of course this meant that at the end I had to go back and change or clean up a ton of stuff before I could release it, but it's also a big part of what the game became.

View more

Do you have a go-to archer when you play Towerfall?

Daniel Ouimette
Originally it was the green archer. She embodies the playful competitive spirit at the heart of TowerFall for me <3
After Dark World I started playing as the red archer. While we made Dark World I was going through some hard stuff personally, I guess I identified more with her at that point.
I love all the characters though. Except cyan archer - smug asshole that one

View more

Are there other tricks like input buffering that you use to improve the feel of moving a character around?

Here's a trick I got from Beau Blyth (of Samurai Gunn and Hyper Light Drifter): At the top of your character's jump, if the player is still holding the jump button halve their gravity. This way jumps have a playful floaty feel, and it gives players more control to space out their landing without increasing the jump height.

View more

hello, what tool do you use to develop games? is it unity 3d or something else?

I use C# and XNA for my games. MonoGame is a cross-platform port of XNA that was used for TowerFall on PS4, Mac, and Linux. I write my code in Visual Studio, and make my levels in Ogmo Editor (an open-source generic 2D level editor I created). For version control I use Mercurial. When I make music, I use Reason :)

View more

Coroutines. What are they? Why/how do you use them? Don't they have something to do with threading? That seems like overkill for most game programming.

Andrew Minnich
Conceptually, coroutines are kind of like threads, but they still run in your game's main thread. You have tight control over when they run, so they're very good for precisely timing out gameplay sequences in a very readable way. They let you put all the code related to a sequence in one place, rather than split into a bunch of different functions with weird timer variables all over the place.
Here's an example coroutine:
fadeInScreen();
yield return 2.0f;
var dialog = showDialog("Welcome to Level 1");
while (!dialog.Finished)
yield return null;
startLevel();
In C# when you hit a "yield return", the function stops but saves its place. A game engine can use this feature to continue the function from that place on the next frame. In my engine, if you yield return a float, that is used as delay for how long to wait until you continue (so yield return 2.0f = wait 2 seconds). And yield return null just means stop until the next frame and then continue. Unity coroutines work similarly I think!

View more

Hi Matt! Can you explain your reasoning behind creating your own level editor Ogmo over using an existing one like Tiled and why I should make my own?

Brent Parish
Tiled works a lot differently from Ogmo. And that's great - there should be lots of different editor tools for lots of different workflows.
Level design is central to my creative process, so finding the perfect level editor is essential for me. That perfect editor didn't exist, so I tried to make it myself!
(And now Noel Berry and Kyle Pulver are helping me make a new-and-improved v3 of Ogmo Editor!)
I don't think you should make your own editor, unless you're in a similar position to me and the existing ones don't fit what you need.

View more

What are your thoughts on An Untitled Story? It's a huge adventure that must have taken a lot of effort to make. It's honestly one of my favorite games but I rarely see it talked about. Now that you're more experienced as a developer is there anything in the game you'd change or improve?

Mark Radocy
AUS is almost 10 years old now O_O that's crazy.
When I started making AUS, I was really into Super Metroid, Zelda 1, and Link's Awakening. Specifically, I was fascinated by how those games directed the player around their interconnected worlds. I was thinking a lot about open worlds, choice, and the illusion of choice. My goal was to open the map up with lots of meaningful branches as early as possible - though I ended up having to balance that against the difficulty curve and story pacing more than I originally envisioned.
I improvised most of the map. I just put the starting point around the middle and drew screens out from there. As I got ideas for new areas and transitions, I slotted them in where they fit. Later on, higher-level structure ideas came to me that required revising old areas - the biggest was the concept of the mountain being a major obstacle dividing the map, with three ways to traverse it (over, under, or through). Unsurprisingly, drawing every screen by hand took *forever*, but I had a lot of fun with it.
I'm still really proud of AUS and it means an awful lot to me. Don't get me wrong, it definitely is riddled with flaws. It has some of my worst platformer controls/physics, many of the bosses feel rushed, and all the dialog is pretty cringe-y to name a few. It's clear that what I cared about most was the world, and that world is still what I'm proud of.

View more

Game dev and programming to me feel like a huge ocean with no set entry point; I don't know where to start, and even when I am able to take a few steps I don't know where do go next. Do you possibly know of any resources which could direct me on a good path to developing my skillset?

It sounds like the main thing you're missing is direction.
I've never approached game creation as "developing my skillset". I've always just wanted to create a game, and "game development" is the problem I had to solve to create it.
For example, I didn't know anything about local multiplayer design before I made TowerFall - it was a problem I had to tackle in order to execute my vision.
So maybe try approaching it this way - with a simple vision you're passionate about, that you want to realize in the simplest way possible. Then systematically learn and apply all the skills you need to do that.
I was fascinated by platformer physics and level design as a kid (and still am), so my early games were about experimenting with that. When you start from "I want to make a good hardcore platformer", step one is to open Game Maker. Step two is to figure out what "good hardcore platformer" even means, and step three is to do that. (Note: steps two and three happen at the same time).
My goal was always to make something I could be proud of and share with my friends. Each game I made pushed outside my comfort zone to some degree and expanded my skillset.
Keep in mind that the further outside your skillset you jump with a project, the harder it will be to work on and the higher the chance that you won't finish. This is why I recommend starting with a tool like Game Maker. Your first project will always be hard, but these tools can help. On the other hand, if the project is too close to your existing skillset, the work will bore you and you won't be proud of the result (which is obviously super important).
Also, be wary of the egotistical trap of believing you should be above where your skillset actually is! This will lead to being unsatisfied with the work you're capable of, but incapable of the work you believe you should be doing. I think it's way easier to learn creative skills as a kid because adults often fall into this trap.

View more

What is Celeste exactly? How is it going to be released?

Celeste is a platformer about a girl climbing a mountain. Noel Berry and I are making it together.
It plays similarly to Jumper or Super Meat Boy, but with a lot more exploration and secrets. We're experimenting a lot with the game's pacing and structure, and I think that will make it feel really fresh.
Also: A major sub-goal for us is to make Celeste a great speedrunning game, and I've been doing a lot of research and thinking about how to achieve that.
We'll probably release it similar to how TowerFall was released (PC, consoles). But we haven't really thought that far ahead yet - we just want to make something cool right now.
Celeste is actually based on a PICO-8 game we made in 4 days of the same name. You can play that for free here: http://www.lexaloffle.com/bbs/?tid=2145

View more

You've answered that You haven't used any physics engine to do towerfall acenssion, that means You did all this (super cool) physics effects 'by hand'?

Rafael Lohan
Yep! I'm pretty obsessive about motion and feel in my games. With physics engines I can never get the level of control I need to make everything feel right.
TowerFall's physics are pretty simple. I wrote a quick overview here: http://mattmakesgames.tumblr.com/post/127890619821/towerfall-physics

View more

Next