Show HN: Not My Cows – Save your cows. Blast the meteors. Giddy up

2 years ago (notmycows.com)

I made this straight vanilla JS game for a game jam a few years ago. Considering coming back to it and fixing the bugs and gameplay.

https://github.com/jonfranco224/not-my-cows if anyone wants to check the source.

Edit: y'all seem to be enjoying this! I spun up a quick Twitter/X for game updates if anyone is interested - https://twitter.com/notmycowsgame

It was fun spraying around until I realized I could just hold down the spacebar and shoot over the two cows on the left side (who never left that side) and the asteroids couldn't get through. I think you need to add damage when it hits the farmer and you die when you get hit x times. And have the cows cross over to the other side. Maybe they start to get more and more agitated too.

  • Yup, there is definitely a cheat mode once you find it. Totally agreed on callouts and suggestions. Damage and mechanics need to get balanced out. The cows being more reactive would be super funny, maybe some more explosions on the ground that can affect the farmer. Still thinking through the asteroids... like they're just on a random number generator right now but i think there needs to be a little more thoughtful difficulty ramp.

  • Similar experience, but I did enjoy figuring that part out. I would also figure a way to increase the challenge over time. Maybe the asteroids get faster? Maybe the cows walk farther, or away from each other? Infinite level games are most fun when the challenge increases.

Great game!

A few points: Firing while moving left and right cause a vertical line/diagonal line. Something in the physics seems to be asymmetric. (This is also a nice "trick" to play on easy mode.)

A highscore would be nice. (Apologies if it's there but hidden by my dark mode.)

If on battery on laptop and on a low battery situation, the game runs ~40% slower. Initially I thought this was the normal speed until I plugged my laptop in. The true normal speed seems a bit fast for me, maybe a speed option would be nice?

IMO a gun overheating mechanic and increasing difficulty would make it a full game.

Holding down fire to spam and sweeping the gun back and forth creates a wall of bullets that eliminates most of the asteroids right as they appear and sweeping towards the fastest asteroid easily catches any stragglers, completely breaking the mechanic.

  • This is the first thing I think I'm going to address. Every time its been play tested thats the first thing people do. Smart humans gonna smart.

    • You can even simply point in a direction above the cows and slightly above ground and ammo act as a shield and nothing can get through

The game gets easier the further it goes, because you have fewer cows to protect, but the number of meteors does not (seem to) increase. Once I got down to only two cows, I didn't have to do anything to protect them in certain rounds, because the meteors just missed them.

It might be cleaner to use event.code instead of event.key that way non-QWERTY users don't have to play finger twister. Unfortunately, Safari+Firefox don't leave a way to then determine the correct letter to display until after the user has already pressed the key which makes the initial "press this" a bit more difficult to write as you have to put a picture in the message clarifying you mean the WASD area not literal letters. Chrom* has an API for resolving the character outright though.

1) Love the JS-only angle, beautiful!

2) The combination of cows spreading out and your 3 axis of action (left/right + angle of gun + timing of shots) is really cool.

3) Consider levelling. Every x asteroids, there's a pause (the cows get into the barn to sleep), player rests a moment, and then sun rise and play resumes with faster / more asteroids. Have the cows re-clump after each sunrise and spread out from there.

4) Kind of silly, but if the cows bred more cows infrequently that would be cool.

  • lol cows just making more cows, the game would be so chaotic thats amazing

    also, it can be a bit tedious but i love the control of JS only. it keeps the game super compact and easier to debug.

    I'm glad you liked the 3 axis of action! I'm still vaguely on the fence about it. In ways I feel like it makes the game too complicated for casual play, but maybe I'm overthinking it.

If you haven't come across it before check out SABOTAGE here

https://archive.org/details/a2_cple_Game_02a

Similar setup but with some clever additional mechanics that might be worth stealing.

Pretty fun! There is a bug in the particle/bullet handling code. If you move left to right while fire, they maintain the X coordinate at which they were fire as you'd expect.

But if you move from right to left while firing, their X coordinate moves with the player.

Fun! Random thoughts:

I feel like it would be a little more challenging if cow's died when you shot them.

I like how aiming is so easy (big meteor's, big projectiles) and its all about speed and spraying. Very satisfying.

But that made me think: if I could just improve my own clock speed by 50-100%, I could reliably shoot every meteor with just one projectile.

But we have no reliable overclocking pills.

Think about how much of "intelligence" maps simply to speed, and how laughably disadvantaged that makes us, relative to other emerging forms of intelligence.

Nice work! Once I figured out I could hold in the spacebar without consequences it got pretty easy.

Fun! It's very pretty. I'd love to see you keep developing around this (same game or similar games). You've got an eye for it for sure.

After a while my cows walked off the edge of the screen! The farm needs fences - or you need to be able to herd your cows :P

Also, a score, a score would be nice.

FYI, you can move the character infinitely far out of the game window. Doesn't help you win, but confusing when I got "lost"

  • good catch! the cows can also just leave the window if you wait long enough. think im going to add some barriers on the side.

It's amazing how such retro games are still humourously fun.

My only nit is i wish the ammo came out of the muzzle of the cannon.

holy cow (pun kinda intended) I don't do frontend work and was expecting the source to be some giant React / whatever project. It's mostly all in a simple index.html that even I can mostly grok. cool.

  • that was the only way i could finish it in two days for the game jam, plus I love just coding in one file when the project's scope allows it

this is great! audio is too loud when i first spin it up, perhaps lower it a bit or give obvious controls. some of us work in an office haha

  • oh! so sorry lol. maybe ill default to it muted, or just have the sound start a little softer to give players a chance to modify it