Shawn Moore

LD 43

Pigheaded Pirate postmortem

I wrote a long postmortem for my compo game Pigheaded Pirate. I cover everything from preparation, to implementation and game design, shipping, and reception. Lots of crunchy little details I always enjoy reading in postmortems too. :)

1f31c.gif

🐷 Check out Pigheaded Pirate 🏴‍☠️

Good luck with your ratings! If your compo game has a web version, leave a comment here and I'll try to rate it before the deadline!

LD 44

Just discovered an accidental movement tech

I just discovered an accidental movement tech in my compo game Jumpcoins: if you walljump, then immediately jump again the moment you land, you keep your high x-velocity, and it doesn't use a jumpcoin either. Definitely not intentional, which makes discovering this really neat! If I were to develop this into a full game, it'd be cool to make this technique less frame-perfect so I could teach it and use it in level design!

It's a feature now :]

20.gif

How much polish in your game went unnoticed?

The background clouds in Jumpcoins are alive. Not only do they bumble around on their own, but they react directly to the player's actions. When you jump, nearby clouds move out of the way. And when you die, the shockwave pushes all the clouds outward with it, then they pull back in slightly to fill the vacuum.

 

20.gif

 

I believe zero players consciously noticed this extra polish!

 

During development, I tuned the brightness of the clouds way down, because I figured players would find it distracting. After all, it's a platformer, not a cloud wrangling sim. But I feel like I must have gone too far, so it went unnoticed.

I ended up with about 100 lines of cloud reaction code, which took probably an hour to write and fine-tune. But in a compo game you have no time whatsoever to waste on unnecessary fluff! So how do you find the right balance between loud and distracting, delightful but subtle, and unseen/wasted effort?

Automatic replay + hot code reloading

I built automatic replay and hot code reloading on top of the Phaser game engine, using my compo game Jumpcoins for testing. It captures game state & inputs, loops, and loads code changes right into the running game without starting over. These, especially combined, make an EXTREMELY satisfying dev experience!!

I couldn't upload the demo gif to the LD site since it's a minute long, but you can check it out here.

 

スクリーンショット 2019-05-21 3.31.11.png

 

I really wish I had this setup in time for this past LD! What does your development feedback cycle look like?

スクリーンショット 2019-05-21 3.37.18.png

we did it!

Thank you all for playing and rating my compo game Jumpcoins! And double thank you everyone for leaving constructive and supportive feedback! :):)

スクリーンショット 2019-05-21 17.42.58.png

This was my second Ludum Dare, and the first one where I broke top 100 for any category.

スクリーンショット 2019-05-22 19.41.15.png

This time I really tried to focus on Fun and polish, and I chose to not focus on humor, mood, or innovation (after all, if you've ever played Celeste, then Jumpcoins will feel eerily familiar :sweat_smile:), which were all reflected in my results. I couldn't be happier :) Next time I'd like to break top 20 in a category!

comment-wordcvloud.png

Ludum Dare 46

Boids of Prey postmortem

boids of prey

My immediate reactions to this game are very … mixed! I don't expect to place in the top 100, or even 200 (since participation is way up this time!). For any category. So, let's call it a learning experience!

What went well

I made and shipped a complete game in just one weekend!! With real game mechanics, level progression, art, sound effects, music, dialog, an end screen, and some polish. The gameplay even made me laugh a bunch of times. And I believe I was able to squash all the significant bugs!

I'm really happy with how the dash attack turned out! Slowing down time, the particle effects, zooming in the camera, and then downright launching the enemy off into space… they all add up to satisying polish. It's even balanced by its downside: it'll also smash the chickens you're meant to protect. Which I definitely did a bunch of times accidentally … and intentionally. This dash, if anything, is what really makes the game.

dash.gif

The zoom/slowdown when you're on the cusp of losing is pretty slick too. It has gameplay value: it offers the player a genuine opportunity to save the day by dashing in at the literal last second. Or, if you're too far away, it at least effectively communicates why you're losing this round (especially since it might happen offscreen). This zoom/slowdown kicks in when there's one chicken left and a ghost is very close to it. That turns out to be overly simplistic, so there's a heuristic for when the chicken escapes e.g. due to momentum causing the ghost to miss. It feels really good when it lets you snatch victory from the jaws of defeat like so:

death.gif

But for every time I save the day like that, there's also been a time where I accidentally miss and smash the chicken instead :)

vector-complex.gif

Read the rest on my blog! Or go try Boids of Prey!

Ludum Dare 48

development metrics!

Here are some details on how I made my compo game Chuck Yeager's Jet Janitor!

title.png

final.gif

  • 2000 lines of pure JavaScript using Phaser
  • 34 pieces of art in Aseprite on iPad with Pencil
  • 14 sound effects in Chiptone
  • 4 songs in Abundant
  • 101 todo items checked off in OmniFocus
  • 3 twitch streams totalling 31 hours
  • 400,149 keystrokes
  • 10,881 screenshots (13 gb) for the time lapse
  • 14.5 hours spent coding, 6.5h on art (my goal was more than 6!), 4.5h on design, 1.7h on sound effects, 0.9h on music, with 20 hours of rest
  • here's the breakdown! (each box is one minute): boxes.png chart.png

Chuck Yeager's Jet Janitor - a postmortem

The theme for Ludum Dare 48 was "Deeper and deeper". I created a dogfighting game for the compo—solo, from scratch, in 48 hours—where your goal is to deliver jet planes deeper and deeper into cold storage. It's a mashup of Luftrausers and… shuffleboard.

title.png

I'm really pleased with how it came out! It's fun to play, has a fresh game mechanic that actually works, and is definitely my kind of quirky. I'm not disappointed about any obvious weak spots. Here's what the game looks like:

final.gif

Development

  • 2000 lines of pure JavaScript using Phaser
  • 34 pieces of art in Aseprite on iPad with Pencil, using AdamCYounis’s Apollo palette
  • 14 sound effects in Chiptone
  • 4 songs in Abundant
  • 101 todo items checked off in OmniFocus
  • 400,149 keystrokes
  • 3 Twitch streams totalling 31 hours (the vods are 28GB)
  • 10,881 screenshots (13GB) for the time lapse

boxes.png

chart.png

Read the rest here on my blog!

Ludum Dare 50

Programming and level design done!

Tomorrow is going to be entirely for art, audio, and polish. As someone who usually leaves those for the last few hours, this is a luxury!

Want feedback on your Compo game?

Hi! Does this describe you, or someone you've ever jammed with?

  • Submitted a Compo game…
  • … with a web build…
  • … and would appreciate kind and constructive feedback

If so, drop a comment on this post! I'm happy to play your game, rate it, let you know what I liked best, and give you some ideas on a couple things that I believe would make your game better.

And while you're at it, hey, that describes me too! I'd love to hear any kind and constructive feedback you have for my web compo game :) Nighty Night, Nosferatu

gameplay.gif

Want feedback on your Compo game?

Hey, you! If you…

  • Submitted a Compo game…
  • … with a web build…
  • … and would appreciate kind and constructive feedback

then drop a comment on this post! I'm happy to play your game, rate it, let you know what I liked best, and give you some suggestions for how you might make your game even better.

And while you're at it, I'd love to hear any kind and constructive feedback you have for my web compo game :) Nighty Night, Nosferatu

gameplay.gif