Avian Days, Avian Nights, Avian Dreams

This is a postmortem of AVIAN DAYS, my entry for LD32 (compo).

War Story:

LD starts on 4 AM on Saturday for me, and ends on 4 AM on Monday. I couldn’t sleep on Friday and by 3:30 decided to stop trying. So I played DOTA2 until 4:20, checked the theme, then started brainstorming. Here is my initial list of “unconventional weapons”:

  1. Love, used to devastating effect. It would be a game about a person who was betrayed, coping with their shit.
  2. Parachute.
  3. Dreams.
  4. Food.
  5. Your enemies.
  6. Underwear.
  7. Ice cream.
  8. Birds.
  9. Rain?
  10. Mirror.

I mostly liked the mirror/rain/birds option, and, wanting to create a metroidvania for a while (I never have, before), I thought birds would fit the bill. So I started designing the game at around 5:30. I still lacked a title. About an hour later, I had a general idea of what I wanted the game to look and play like. I wanted it to be a very difficult platformer, a sort of “speedrunner’s dream”. I wanted to use a limited color palette of white, black and grays that emphasized silhouettes. I worked on player movement and started working on the birds, until I went to sleep at around 9 AM, but not before posting a call for title ideas on FB:

I woke up at around 12:30, and after a short lunch, got to work. Most of Saturday was spent implementing the behavior of the birds, and their different interactions with the player, as well as toying around with different targets (originally a flash game, due to bad performance ported to Windows), and doing some sprite work for the tileset, player, birds, and enemies. So by the end of Saturday, I had stuff like this:

^ Birds blocking shots.

And:

^ Player walking over birds.

And:

^ FLYINK!!!!

At 20:20 on Saturday, I showered, got dressed up, and went to a wedding party. I did not dance that night. I was pretty off and strange I think. Some people around the table stared at me awkwardly.

It was a fun wedding though.

I got home at around 00:30 on Sunday, and started working on the first “area”. I collapsed of exhaustion at 2:30 AM.

I woke back up at 8:30 on Sunday, and continued polishing bird behavior. I also built both areas, and spent a lot of time playtesting the game. Too much time, I think… I worked the entirety of that day, sans a family lunch. When evening rolled over I was starting to feel the pressure. No music yet. Levels not yet complete. No story yet. No boss yet. No tutorial area yet. Fuck.

Movie Drama:

I set very strict milestones at around 21:00 on Sunday night. I first finished the tutorial area. Clock was showing 22:00. Shower. 22:20. Implement upgrades and test that they work. 00:00. Draw, and code boss behavior and entire boss “Sequence”. 2:20. Add sound effects and music. 3:20.

On Sunday morning I did not expect to take that long… like… maybe 1:00 AM on Monday, MAX. But I was getting really stressed. At around 3:20 I took screenshots, uploaded the game. At around 3:45 I downloaded the game from my entry page and ran it, to see that everything was working well…

It wasn’t. There was a game-breaking bug. If the player fell out of the map, they would respawn somewhere far from the game (that I was using to temporary “store” things). This was behavior I had tested and addressed before.

I looked at the code but nothing popped up at me. I knew the general area where the problem would be but I was very stressed and time-aware at that point, and I just broke down and started crying. Damn you LD!

So 4 AM rolled around and I sort of came to terms with the fact that I would have a broken entry. Many others had had those before me, no biggie. I entered the LD site again… SUBMISSION HOUR. I didn’t know such a thing existed. I was euphoric. In 5 minutes I found the bug and fixed it, and about 20 minutes later was replaying the game.

At 4:45 I noticed that a small change I did to make the tutorial area harder (WHY would I do that was beyond me at that point), had effects elsewhere, and certain parts of the game where very, very difficult to pass. More than I intended. I didn’t think I had the time to fix that… until I tried.

I rebuilt, put the game in a rar, and began uploading to my drive at 4:55. the game finished uploading at 4:59:48. 12 seconds before the submission deadline. I quickly copied the link and updated my entry page.

… And then downloaded the game to test it again :).

What Went Well:

1) Game is a complete product.

2) Theme/Innovation: I always tend to emphasize the theme, to the point of opting out of certain Ludum Dares in the past because I couldn’t think of a good enough idea. I think I nailed it this time around.

3) HEY BIIIIRDS. Bird behavior feels good. The mechanic itself is pretty cool, and it fit seamlessly into the idea of an open-world puzzle platformer, because it readily lends itself to being a mode of transportation as well as a weapon of sorts.

4) Graphics are pretty cool, compared with what I normally do.

5) I made a playthrough video, and many players who found the game too difficult had a chance to experience the ending and the entirety of the content… in a way.

6) #HARDWORK #DEDICATION. Blood, toil, tears and sweat, and all that jazz. I’m a person with very low self-discipline and a certain disposition for procrastination. I overcame that ez.

7) Story. There was no real, concrete story in the game. Just a short text at the beginning establishing the tone and motivation… but the ending is very satisfying, and surprising as well. It makes perfect sense in the context of the game as well.

What Went Wrong:

1) Difficulty. The game is very challenging. It took a buddy of mine who is really good at video games about an hour to complete a 10-minute game.

2) Performance. I was forced to switch to Windows build because the flash build was experiencing frame rate drops. This can happen in Windows too if too many birds are spawned, even though I added a “population limit”.

3) Windows Build means less people are likely to play and rate the game. At the moment I have rated 130 entries, and have 68 ratings.

4) Sound. It sucks.

5) Boss. It’s boring and straightforward.

6) There were two “exploits”/oversights that allow the player to bypass certain challenges. Madball used one of those xD so did my buddy in (1). My buddy in (1) also used the second exploit to pass the boss without killing it.

Finally…

Avian Days was very demanding to complete. There are things I obviously wish I had done differently during those 48 hours. Like dancing at that wedding. The things I take out of this entry are the fact that I managed to complete it, and even though I nearly broke down before the deadline, I never really considered giving up. If you feel like giving it a go…

PLAY AVIAN DAYS, THE LABOR OF MY LOVE

Source: ludumdare.com archive

Found a bug?
Tell us on Discord