Making of Triangle Run
This is an archive of a twitter thread, which was originally at https://twitter.com/terrycavanagh/status/1433886816013324299.
So I guess I should start a thread for my own #stopwaitingforgodot entry? I’m not starting until tomorrow morning, but I think I know what I want to make – I’m going to make a sequel to an old jam game, Copycat!
I suggested “make a sequel to an old jam game” as a throwaway idea in the jam description, without any plans to personally do that. But it did make me look at some of my old games, and think about what might be fun to make a sequel to.
You can check out Copycat here – unfortunately it’s not really playable anymore, because Flash and also because the downloads have some font bugs: distractionware.com/blog/2015/04/c…
I’m lucky enough that someone recorded a playthrough of the game back in 2015, though! Here’s a link:
[Click to watch on Youtube]
The problem it had was that I was sort of figuring out the shape of it as I was making it, and as a result the rules are a bit clumsy and complicated.
For one example, one of the main weapons is a sword, which forces you into a kind of tank control scheme which feels awful. For another, some of the weapons feel really bad to actually use – particularly the bombs.
So I think with a second go at this, I could do something really fun! It’s also a really great candidate for a quick jam game, because the tech side of it is super simple, and the design side of it is half figured out already.
That’s the plan! Excited to get started tomorrow!
alright here we go yeahhhhhh
been poking at this for a couple of hours now, and… it’s tough! I’m working my way through tutorials and slowly learning things. There’s a lot to learn!
I don’t know if I was fully prepared for how alien this was going to feel – I’m used to working purely in code, so the jump to pre-made components is a big one
weirdly, the thing this feels most like to me is… Roblox? Roblox’s scene tree and library of components feels like of similar to Godot’s nodes
yes yes I know boss baby energy
anyway, I’m enjoying it a lot, but I think might have to lower my expectations for what I can reasonably make this weekend…
This took a lot longer than I thought it would, but I’ve completed a Godot tutorial and got something playable!
After a couple of false starts, this is the tutorial that finally made sense to me:
[Click to watch on Youtube]
so I dunno how much I’m going to get done today, but I’m gonna start making my actual game now. I’ve got stuff on the screen and basic logic; that should be enough!
Took a nice long break to recharge. Let’s get back to it!
ok so I’ve got this guy
Learning a new tool is not easy, uff
I have no idea anymore what I’m going to do with all these shapes, but: I’ve had a fairly productive day learning Godot! I’ll sleep on it and see if any inspiration strikes.
Ok! It’s day two. Here’s what I’m thinking:
The idea about making a copycat sequel/inspired game is clearly not happening – I’ve gone way too far off that path, and there’s too much Godot left for to figure out and not enough time to do it.
My shape people clearly did not want to be in that game anyway! They want to be in some sort of adorable 8-bit platformer. Which maybe I’ll make someday, but not this weekend.
So, I think… my best option is actually to just start over? Day 2 clean slate!
This is not as terrible idea as it might seem – I learnt a lot of Godot yesterday, and I have a much better idea of what I’m doing now. And coming up with an idea that can be realised in just one day forces me to *actually* come up with something simple. Properly simple.
Gonna spend a little while thinking about what that is, and then get to work.
One thing I might do is spent half an hour trying some basic 3D, since that’s a big part of my interest in the engine anyway. Might be a dead end, but let’s find out!
finding this guy very inspiring recently, I’m not sure why
hey I figured out how to do animations
had an exciting moment just now – I needed to figure out how to get my camera to actually follow the player
literally all I had to do: drag the camera onto the player node
this is magical to me: I’ve missed out on stuff like this by not using a modern game engine! so cool!
tweaked some variables and oh! all of a sudden, it’s a game!
took a break from programming to do some music instead – nothing fancy, just some pentatonic scale noodling. good enough!
here it is, lol. it’ll do for the jam?
that’s not going to get annoying or anything
I really like Godot’s animation editor. Wow!
hey, quick godot question – how do I yield until the player object is actually destroyed before continuing?
got it, thanks! (I was overthinking it)
ok, that’s probably enough for tonight! gonna take the compo day and work on finishing it up tomorrow
I’ve put up the wip build so far here: terrycavanagh.itch.io/triangle-run?p…
lots to do to make it actually be interesting obviously, but I’ve got a whole day for that stuff
Alright, day 3! Let’s finish this videogame!
So, basically, after starting fresh on day 2, I had a nice little tech demo with a jumping triangle, but not much of a game. Today, I’m gonna turn it into something fun!
the most urgent issue is a game feel one, making the jump actually feel nice and responsive. Right now the game sometimes misses jump input, when you press too “late”
the easy solution to this is “coyote time” – allow jump input for a frame or two after you’re no longer on the floor
I spent a little while tweaking some variables, and yeah, this immediately feels 10 times nicer to play!
So, next: I need to make the course more interesting. Right now it’s just a bunch of these floorsection nodes with the individual bits turned on and off:
I’m going to take advantage of Godot’s structure here, I think, and just make a *bunch* of premade floorsection nodes and attach them in sequence at random!
hmm, have lost a bit of time trying to make this work nicely when I probably should have just hacked it in. still, it works – I can create lots of different sections now and just mix and match!
great! Now I just make, uh, dozens of these floor sections
this is starting to get kinda fun! #stopwaitingforgodot
it’s gonna be a bit imperfect, I think – sometimes you get courses that are actually impossible. maybe that’s ok for a 2 day jam game though
to do list:
- make another 10-20 floor segments
- improve the generator a bit
- make it infinite (generate more level as you play)
- make it *change* the generated level when you restart
- score tracking? title screen?
- I think that’s it
hmmmm, with this kind of thing it’s arguably better to let you have multiple shots at the same course… maybe a level based approach with lives is better? it’s more work
ok yeah, gonna do checkpoints and lives. I think it makes it better. I’ve still got time!
the game is in it’s final stages – just need to wrap up some UI stuff and some game logic. Should manage it in time for the deadline, just barely!
finished my #stopwaitingforgodot jam game! you can download it for windows, mac and linux here (will try to figure out HTML5 tomorrow!): terrycavanagh.itch.io/triangle-run