Flock for Feast by Antti Haavikko

Flock for Feast, my entry for Ludum Dare 46, is kind of a remake of a game I made more than 20 years ago. I had been programming for few years already but still was stuck with Visual Basic (well at least not QBasic anymore). My friend was also just getting into programming and together we hacked up this very simple game in few hours and most likely spent way more hours playing it and competing for high scores. The game was very crude but somehow weirdly fun and addictive. It came to my mind and I wanted to try to see if I could capture that magic again. The game ended up not being very close the the original mechanically but the same essence is still there.
Flock for Feast is an arcade style single screen score-attack game where you just try to stay alive as long as possible and rack up major points. You're in control of a flock of birds that are preyed upon by a vicious monster.
🎮🕹️ Download or play online on itch.io 🕹️🎮

🛠️ Tools used
- Unity 2019.1
- Adobe Illustrator
- Bfxr
- Garage Band
🎞️ Gameplay video
🎥 Dev timelapse
🖥️ Screenshots


https://twitter.com/anttihaavikko
Ratings
| Overall | 5th | 4.34⭐ | 52🧑⚖️ |
| Fun | 2th | 4.45⭐ | 52🧑⚖️ |
| Innovation | 119th | 3.92⭐ | 52🧑⚖️ |
| Theme | 229th | 3.98⭐ | 52🧑⚖️ |
| Graphics | 3th | 4.61⭐ | 52🧑⚖️ |
| Audio | 7th | 4.388⭐ | 51🧑⚖️ |
| Humor | 142th | 3.585⭐ | 49🧑⚖️ |
| Mood | 58th | 4.052⭐ | 50🧑⚖️ |
| Given | 30🗳️ | 56🗨️ |
It also makes me nervous when the red cloud hid in the shadow,who suddenly killed all my birds.
This game also has leaderboard system! That's amazing!
@joshuarabbit Thanks for the kind words!
Thanks for playing and for leaving some feedback!
(BTW, for compo, you are supposed to work alone, but you know :wink: )
I was happy that I reached the #3 place on the leaderboard but after I've seen your score as the #1, I'm pretty sure I'll stay at that position.
@olafstromberg Yeah, I too noticed that sometimes the level generation just deals you a crap hand. Decided to sweep it under the rug though since the runs are so quick that one bad attempt shouldn't be such a big deal. Sometimes the levels can end up being even impossible because they get so narrow gaps which are then filled with rocks etc. And there is even this very rare terrain generation bug where it has some invisible walls in some corners. I guess something in my triangulation code is a bit off.
@gquibao Haha yeah, don't sweat it. I played it quite a lot this weekend. But actually, that isn't even near my hi score I got on the first day before I had implemented leaderboards. I think that was something around 3.5 mil and I even added an additional multiplier after that so it's fully feasible to get a score of around 10 mil. The key to scoring big is not letting your multiplier drop. It only drops when the monster eats a bird so doing well in the early game is a big factor in scoring. And the second monster does not spawn before 25 birds are eaten (if I remember the number correctly) so that early game before the second monster (and third if you can survive long enough) is a huge portion of the total score.
Thanks to everyone for playing and leaving feedback! :heart:
A quick question: how did you do the leaderboard? I work with Godot and HTTP request seems to not work from itchi.io, I don't know how you did that in Unity.
Anyway Good Job!
just realised I have ! at the end of all these sentences - you obviously got me excited
@azo Exclamation marks! :smile:
@lazzydev72 Oh that's weird. I have not actually even tried the windows version but should be very similar on all standalone version and I did play quite a lot of mac version without encountering any crashes. Maybe I left some memory leak or something in the terrain generation just goes haywire. Good that at least the web version (which is the most important one for jam games really) is stable.
@simansimon Yeah, I'm not too happy about the camera really either. And you're not the only person irritated by it. I already mentioned earlier that it was actually one of the last things I added to the game. Dumb move to leave such an important bit to such a late point. Wanted it to be more lively and less static but would have needed more time to tweak its values and test more.
Thanks everyone for playing and leaving some quality feedback! :heartpulse:
BLAAAM.
What the hell was that! Out of nowhere. The filming crew must be on 'shrooms or something. Never saw it coming. At least they have a good taste in music.
Let's try again. I can manage this. I'm doing it! I'm the best! The red meanie is easily fooled, he's pretty stupid! Just following me like an idiot! HAHA, I've got your number!
BLAAAMAMAMOOO.
WHAT? A second meanie! Come on! This is turning out to be a really bad day.
Only real criticisms I have are that the sound effect played when the baddie runs into you damn near blew my eardrums out, and maybe a bit too much white noise in the mix. The random level design sometimes drops a turd on you as well which I guess makes the high score chart a bit of a crapshoot. If noone is really on the same playing field than a portion of the score perhaps reflects how lucky you got with that.
Having said that, the game is a lot of fun to play and the music adds to the feel of it. The birds are fun to control and I love the dual mechanic of the poop boost.

@oldmanwinters Awesome that you mentioned the poop boost being able to be used offensively. I didn't want to spell it out in the "tutorial" and was starting to wonder if I actually should have since no one was saying anything about it. Using it offensively lots in he early game is actually playing a huge role in getting a big score.
Yeah the level generation does sometimes drop turds on you but I'd say the vast majority of the levels are just fine. I don't think I really got lucky with a level on that score of mine. I just played the game lots during the weekend and other people averaging out at around five tries per player. And it takes at least five tries to get accustomed to the mechanics really. The score increases exponentially too (in the best case when you don't let the multiplier drop) so the gap on the leaderboards really isn't that big. The top spot there is still ripe for getting. I'm quite positive I could at least double the score there pretty easily myself.
Thanks for playing! :two_hearts:
Even though it wasn't really my intention, I kinda like the juxtaposition of warning about the enemy and them BOOM, everyone dies to it. It's just a few seconds in so probably not that big of an annoyance. Nope, not possible to destroy the blob. Not by traditional means at least. Maybe if you completely manage to break the physics of it though... :thinking:
@emperor-eagle Hmm, Emperor Eagle and his Seagull Squadron, that has a nice ring to it! :sunglasses: And that's a pretty respectable score. Even though it might seem like it's quite far from the bit over million score I left on the board, considering how the scoring works, it really isn't that far off. Thanks for the overly kind words!
And thanks to everyone for playing! :two_hearts:
This is another level.
:ballot_box_with_check: Perfect "tutorial" (teach gradually through play)
:ballot_box_with_check: A lot of juice and responsiveness
:ballot_box_with_check: Simple concept executed very well
Even the LD page is amazing.
Fantastic LD entry. Top marks all around.
I do have some nit picks:
- When the enemy destroys a lot/all of my flock at the same time, the sound is rather unpleasant and loud to the point of clipping; maybe it should be "throttled".
- The various (randomly-generated?) arena layouts are great, but many of them feel extremely unfair, especially ones with a narrow V-shaped tunnel, or a more enclosed notch.
- It would be nice to be able to restart the game without submitting, when I know my score is much worse than my best and I don't want to wait for the submission (not that the server is slow but still!)
- I really don't understand what makes the second enemy spawn, my best guess at the moment is that it is just random; when it spawns, it might as well be game over, the game becomes a lot more difficult! (My best attempt on the leaderboard is one where the second enemy never spawned?)
- The camera feels nice and dynamic, but sometimes it cuts off important parts of the screen, it is very annoying to have to collect food that is off-screen.
- The fact that the enemy speeds up towards the flock when destroying birds makes winning and losing more of a binary decision, I am not sure if that is good … And combined with the loud sound issue it feels doubly punishing.
- Sometimes I start with 2 birds instead of one? Sometimes after collecting food a bird spawns pretty much in a random spot on the screen?
- Some of the level scenery feel too thin to be colliding – the pipes that stick out are colliding obstacles while the hanging chains are not (yet they are visually similar).
But really, these are mostly minor thing, overall this might be the most polished game I've seen this LD. Great job!
@aurel300 Thanks a lot or the detailed feedback! Oh yes indeed, decided to keep the score very small this time so I could focus pretty hard on polish. There are even smaller details like the scenery faces (dunno why but I called them lurkers in code) actually do like a different emotes when they're hit by bird or poop. Something that will most likely go unnoticed in the heat of the action.
You got a very respectable score too! Finally my position on the leaderboards is starting to get threatened a bit. The British are invading the top five!
Yeah, the birds exploding sound is quite obnoxious. Or the sound itself (or sounds since it's few different clips layered on top of each other with individual pitch shifts) is fine in my opinion at least but it starts to be an issue when multiple birds die at the same time (ie. like always). The plentiful visual effects on these also seem to cause some lag for some people.
Totally would have made sense to add a quick restart button. I actually had that functionality there but it was also toggled to isEditor flag. Wonder why it didn't come to mind that might be a good addition since I kept using it constantly myself. I like always have these dev cheat keys on my games and I'm guessing other people have them too. Always a good idea to consider those from the critical perspective that are they fixing or improving some fundamental design flaw in the game. Like I've quite a few times had a speed up dev button which as a hindsight is a pretty big red flag...
The second monster spawns when it has killed a certain number of birds. It is still possible to play for quite some while even after that, at least until the point that you get a third one. Of course it indeed is much harder but there is an additional multiplier on the scoring of monster count squared (or was it cubed, can't quite remember). It probably could be even bigger though since your multiplier has reset at that point and it's nigh impossible to get it too high again. Would make the desperate struggle for those final pickups more worthwhile.
The monster dash thing ended up being a complete accident but I kinda liked it so I left it. It actually was supposed to be kind of a knockback. I'm adding the dying bird velocity vector to the monster applied forces. Obviously this also does sort of do a knockback when you're heading straight towards the monster but more often than not you are going the opposite direction.
I still feel like the camera movement is my biggest mishap this LD. Added it way too late to get to test and tinker with it enough. Well, jams are learning experiences and here is to hoping that I don't repeat the same mistake (too many times) again. It's something like a median of the positions of all birds and the pickup and at least the pickup position should be prioritized where a lot more.
No idea what causes the double bird and the birds appearing on random positions. Quite early on I had this suspicion that it was just the pickup spawning on a bird and immediately getting collected. I even added a fix for this but obviously it's not just that. And even if it was, the bird would spawn where the flock already is. And now that I think about it, might know the reason. Most likely it's multiple birds hitting the pickup on same frame. First handled hit spawns a bird and repositions the pickup. Second hit is then handled and bird is spawned in the just previously generated position and yet another position is found. Yeah, that must be it...
Thanks again for playing and leaving quality feedback! :two_hearts:
It feels very complete and polished, that's amazing for a COMPO game! The game mechanic works and the challenge rises over time. The Game is simple and good explained! Hope you continue making games, I can imagine you can do even greater things when you have more time :D
I think all of the points has already been made about the occasional crashing on restart, the sound, camera, some harder levels than others. Something i've would like to have is some kind of feedback on the boost reload time, with the timing so important I found myself using it less and less.
Also losing the multiplier from a single bird lost was a little bit rough, and alot of runs felt like they were doomed before they started. I'm thinking that maybe the multiplier could have been based on the number of birds instead, or perhaps losing 1x multiplier for each bird lost.
The amount of polish here is super impressive, and something i would not expect from the compo jam. Crazy! A cute detail was the pitch change when boosting, and overall the music and audio was great.
I got a decent score early on, and I was #3 on the high score but I didn't feel like I was improving. The movement of the blobs was still a mystery. I was close to call it, but then I remembered my mission.
Back to square one. I started to experiment with different strategies, like going slow trying to control the blob movement and going fast utilizing the boost to get pickups closer. The most important thing I learned was to not always go for the pickups and instead focus more on the movement of the blobs.
My runs started to feel alot cleaner, and I had a few really good ones but not yet #1. A few times I got excited over the momentum and tried to peak at the score, killing myself in the progress.
And then it happened. Super clean start, great control and speed on the blob and good spawns (At this point I think it started to lag a little bit, not sure if it was because of all the birds). Still one blob, wanted to peak at the score so bad, but tried to stay focused.
At last I get a huge collision losing almost everying, but still in the game. The second blobs joins and devourers all but two, and with a difficult maneuver I manage to sneak between them losing just one in the escape (I'm telling you, that was some star wars death star action).
One flier left. Manage to recover some with good spawns and the blobs on the other side. I feel like I can recover and squeeze a few extra points when the third, mr douchebag jr joins the party.
Game over.
If I didn't make it clear, I had a blast playing this even with it's flaws, and have been for me one of the highlights for this LD. And finally I could get a look at my score!
The formula for the score per pellet is:
**multiplier** x **live bird count** x **pellet number** x **monster count squared**
So the bird count is already a part of the score. This is why the early game matters so much and is the major bulk in scores. Also the exact reason why I added monster count to be a part of it too. Felt like anything past the first mistake didn't matter much. And it still doesn't matter enough for my liking, should have at leas cubed it instead of just squaring it. The end game indeed has those super tight squeezes between the blobs just barely surviving and those aren't rewarded like at all. Maybe I should have added kind of a grazing functionality à la Touhou series. Balancing stuff is hard! :confounded:
Yeah, kinda farming the mob speed is a good strategy. It has a huge amount of inertia not letting its velocity rise too high is a very good idea. It was thinking at some point adding a reset to multiplier when too much time passes between gathering pellets too but I guess I either forgot about it or decided that it's not needed.
Thanks for playing! :two_hearts:
I agree with comments above on the camera. Sometimes, it can zoom in and cut out a significant part of tutorial text or a view on baddie just nearby. But it is really a minor issue. I feel, that the camera zoom makes the whole experience better. It feels more dynamic that way. Maybe, the camera should be a little bit smarter regarding baddies position. And you can disable the zoom until the end of tutorial.
I had another issue with the scene layout. Sometimes, the generated landscape is divided on several caves by huge rocks in the middle with small passages in-between. And that makes it very hard to navigate, since baddies have no problem of getting through and my flock should get around it and often gets stuck. Therefore, the landscape layout has a big influence on the final score. Not a big deal, but still - after a while, I was already aware that with that particular layout I could not get very far.
As an idea - you can try to make the landscape partly destructable by the birds. So after multiple hits, landscape elements will be destroyed, cleaning up the caves and making them easier to navigate.
In overall, you can try some improvements, but the game already looks complete the way it is.
It is the most polished game I've seen in this jam! Well balanced and with moody soundtrack... Very engaging and a joy to play. Superb job! Especially for a compo entry! :thumbsup:
I don't even know where to start. The gameplay as well as the graphics are outstanding.
Visually this is very strong, on like every level. In game, every little detail you've added also with the UI and all the effects, how the buttons react etc., this looks sooo professional!
Also from a graphic design point of view this is fantastic, as with the colour combinations, contrast and shapes this looks great from every distance and therefore made for a really appealing cover image :)
I'm amazed you've come up with this amazing artstyle while "only" being a programmer (Oh god, I'm sure that just sounded extremely horrible haha, well you know what I mean, normally those folks are more.. tech oriented ;))
The gameplay is highly addictive so if you say it's some sort of a poor bad knock-off of the original game you did I'd be afraid to never stop playing that one, haha!
This game seriously feels soooo polished, I have nothing negative to say..... EXCEPT! I have one HUGE complaint! (Ha, didn't expects that now did you)
WHY. THE. HELL. IS. IT. POSSIBLE. TO. DOWNGRADE. YOUR. OWN. HIGHSCORE.
Dude. This is so mean D: Beyond mean actually.
Just whyyyyyy. My precious highscore T_____T I'll have you know that the Pro Player I am; I managed to beat #1 EASILY and then wanted to play again for the lulz and what happened? I had to sneeze (Corona or something) and now it's GONE! GOOOOONE. Well, and there's no way for you to check if I was lying (...right?) Soooo. Shame on you! Tsk.
Apart from that major flaw though ;) you really did an outstanding job! :D you should seriously publish that on Steam and the Appstore (I feel like this would make a pretty awesome mobile game too, and aasuper addictive one at that, Geometry Dash style)
5/5 would play again
I indeed am "just" a programmer and I approach visual stuff mostly from code perspective too. I have worked as a web dev for over then years quite closely with graphic designers so I guess I've absorbed some eye for colors and basic compositions. :wink:
It actually is not possible to downgrade your score. Every time you submit a new row is added to the database and then the leaderboards just shows the best from those (with name and machine id combination) and ignores the rest. It just asks for a name each time for the case that multiple people would be playing on same computer. Unless you really somehow stumbled into some weird bug. I can check the database if you think something didn't go right...
in that case your game is perfect ;D
"I guess I’ve absorbed some eye for colors and basic compositions" And a pretty pretty good one at that, this is top notch even for a "real" designer (ugh let's drop that shit, I regret ever bringing it up, haha) You ARE a real designer ^^
Keep making games :)
PS: Glad to see you again on Ludum Dare! :smile:
**https://github.blog/2020-05-15-ludum-dare-46-staff-picks** `<3`