Homestead Havoc Banner
Homestead Havoc

Homestead Havoc

Scamper-Roo Scamper-Roo
Screenshot 1
1 / 3
Click to enlarge

Experience the everyday life of a dairy farmer in the 90's.

Tiniest2D action shooter arcade indie
May 12, 2026 itch.io
Play Now

About This Game

I'm back with my more ambitious game just before the deadline!

You're a dairy farmer just trying to make an honest living selling milk, but those Aliens just won't leave you and your cows alone. Shoot down those saucers to protect your cows, while you continue to deliver fresh milk to your customers. Set a high score and earn your place in the Hall of Fame.

This is the second game I've made using the Tiniest2D engine, and it is a massive step up from Flutter Bird. Flutter Bird was a clone of a well known game design to explore the engine and learn how to use it, Homestead Havoc was an adventure in pushing the engine to its limits and in some cases bypassing those limits to create and entirely original game not directly inspired by any other game, but rather inspired by my childhood and the depiction of aliens coming to steal cows that was so common back in the 90's.

The scope of this project was... honestly too much for me to handle alone. So I got my Bro to help, he helped me massively by developing a Sprite import tool for the engine while I focused on learning pixel art, and then again helping me code some of the more complex functions and debugging so that we could get the game ready before the 30 day free period of the engine ended. And boy were we cutting it close, I massively underestimated how complex features like a leader board would be to implement, or How long it would take to hand make all the pixel art for this game...

I was like farmer, aliens, cows that's it right. Pfft, No it sure isn't! There are so many sprites that go into UI design that you never think of. I had to make 37 sprites just to create the custom font we are using to make the leader board possible. The title screen took me a solid week to make because as it turns out large pixel art images are super hard and time consuming to make. This was my first experience with completely designing a full game from scratch, and also my first time attempting to seriously do pixel art. So it is kinda a bit of a time capsule you can obviously see how my skill at pixel art improved over the course of the game if you look at the difference between the farmer and the barn, or the UI sprites. I like to think that adds to the charm of the game, because I certainly don't feel like going back to update those. ^.^;

Now for the elephant in the room... Yeah, I did just kinda casually mention we developed a custom sprite importer for the Tiniest2D game engine, and neither one of us has source code access to the engine so how did we manage that? Well, we did it by reading the save files and selectively overwriting them. As it turns out Tiniest2D's project save files are saved entirely in plain text, even the sprite data for any sprites you've made in the engine. The default sprite editor is super bare-bones, because the engine is new and lacking a lot of features, but if we look at the data saved to the save file after creating a sprite, we can easily locate the sprite by name in the file, and it's pixel data is clearly visible being stored in hexadecimal using a RRGGBBAA format preceded by a space per pixel. So if we had a pixel art file that also saved it's values in plain text where we could see them we'd just need to run a couple of conversions and overwrite the data in the save file with our new data...

So that's what we did, basically we can make a Sprite in any tool we want, then load that bad boy into the GNU Image Manipulation Program and then export it as an ASCII encoded .pnm file, run that file through our importer using the command line, and it spits out perfectly formatted Tiniest2D sprite data for us to copy paste over the old sprite data in the save file. Load the file, and like magic you got your custom sprites. Nice.

UNLESS, if you are like me. Then the first thing you're gonna do is say can't I just import nice HD graphics. As it turns out Tiniest2D also stores each sprite's data entirely on 1 line, and it uses 9 characters per pixel so it is massively inefficient at storing the pixel data for text editor readability. Large sprites can easily be over 3MB per sprite all stored on a single line with no line breaks. That's not gonna open in a normal text editor, and even if it did you'd quickly discover that your OS clipboard probably is not a huge fan of that either. To solve that issue, I used GNU Nano if you press Crtl+K it will cut out the current row then by pressing the Insert button on the keyboard you can have it copy the contents of a file to the current row. Old data out, new data in, save and you're done.

The Sprite importer is kinda stitched together currently, because we were up against the deadline, but we plan to release it in the near future once we have some time to polish up a few features and fix some of the quirks.

Developer's Experience

This was rough. Homestead Havoc was a huge step up from Flutter Bird, and far more difficult than I expected starting out. Very nearly didn't get it finish in time, but it was a valuable learning experience, and a lot of fun. Ultimately I am quite pleased with what me and my bro were able to put together in just a month.

I would like to personally request palettes be added as a var type. If I could set a sprite to use a palette and the palette have programmable color values the sprites data could be stored in palette values in hexadecimal which could reduce the size of sprites in the save file from 9 characters (a space followed by a RRGGBBAA value) to 2-3 characters (a space followed by a hexadecimal value for the palette color ID value). The ID value could store 16 colors in a single digit, or up to 255 in two. Being able to swap a sprite's color palette or update a palette's color ID values in code would be super useful for all sorts of visual effects and reduce the number of need sprites. And reducing the sprite's data size from 9 characters per pixel to 2-3 would reduce the file size of sprites by 2/3rds, making Tiniest2D games way Tinier.

I also would love the Audio engine to have support for shorter sounds, and a drum track would be super nice to have. my music would sound better if i could give it a proper drum beat.

The Ability to write and read save files would be great as well, my Hall of Fame can't save values between play sessions because I couldn't figure out a way to write files.

I'd love the ability to set one of my sprites as the executable icon during export, would make it more identifiable in a folder full of games.

How Uniday Helped

Made the engine, and gave me motivation to apply myself.

More from Scamper-Roo

Comments

Sign in or create an account to leave a comment.

No comments yet

Be the first to share your thoughts!

Cave Engine

High-End Graphics, Indie Friendly

Imagine a Game Engine with PBR graphics, easy workflow, fast and built for Indies. Cave is here for you!

Learn More