LINK TO GAME: JustAnotherPush by JustinH9999

This game went through an unbelievable amount of phases as someone who has spent a lot of time working in unity and a little bit in unreal engine I was immediately put in a very jarring position when I couldn’t do any of things that I felt so comfortable with previously. I still consider myself a new developer and as such I have a hard time containing my ideas and being realistic at times but I’m glad I didn’t hold back this because even though bitsy kept me in check with its inability to do certain things I found myself still able to attempt to go above and beyond but in a more streamlined way. I looked all over the internet for ways to get around bitsy limitations and it led me to the many hacks created by talented developers instantly when I saw the 3D hack in particular specifically the one that allowed for more colors, I was ecstatic. I looked at various games people had made using the hack and I was fascinated. Although I had many ideas for what I wanted to make in bitsy, with the limitations, online search results, and small testing of my own I settled on making some sort of puzzle game more specifically a puzzle game involving pushing blocks. This idea came from the discovery of another very crucial hack to my finished product the “PushSpritesHack”, with it I was able to be confident in starting actual testing of mechanics.




At this stage in development I thought it would be really cool to create entire 3D block puzzles that the player would have to solve. Similar to games that would take image, mix it up, and you as the player would slide the pieces around to put it back together. However, with this new idea came new major problems. The biggest of them all being bitsy does not allow you to reuse sprites and push sprites hence the name doesn’t allow you to push tiles which are reusable. This means every single block puzzle I wanted to make would require me to make every single tile individually and even making that chicken which I considered relatively simple and easy took somewhere between 30 to 40 blocks and cluttered game files with sprites and I made the inside hollow. The next major issue was that I had no way to verify if the puzzle was completed which my friends suggested I could’ve done the honor system for, but I didn’t want to settle for that. For the second issue push sprites had somewhat of a solution push sprite has an embedded way to check where the sprites were and run dialog when all the conditions (Target states) were true and if they went back to false. I have a feeling i know exactly how to set this up properly now but trying to figure it out at the time seemed like an impossible task I struggled for hours, days even trying to understand how to properly name and set up the code to have dialog run when the blocks were in the right place and try as I might it did not work.


THEN FINALLY A BEAMING RAY OF SUNSHINE CAME OUT OF NO WHERE. This great man going by janosc on itch.io made a game called animal husbandry where he not only used the push sprites hack but successfully got the checks working AND DOCUMENTED HOW HE GET IT TO WORK. However even blessed by the gods I still couldn’t figure out how to get it to work despite going WORD FOR WORD. Then I realized he was using a third hack called javascript dialog O______O. Again hence the name it allows you to run javascript in dialog. With this I thought I was finally going to reach greatness but nope still couldn’t get it to work AFTER HOURS. I even tried getting ChatGPT to tell me why his worked and mine didnt and basically to sum it up it said its because I was using bitsy 3D but knowing what I know now I don’t believe that was the case especially since I don’t think checking the location of the sprites has anything to do with the different renderer bitsy 3D uses especially since its just rooms layered on top of each other. All the sprites still have a room #, X coordinate, and a Y coordinate to tell you where they are but this is a problem ill chase another day.

With all that said I resorted to doing what all great beginner game devs do I copied his entire file and changed everything in it slowly until it made sense to me and worked for my game 😀 . At this point I had completely given up on bitsy 3D, bitsy color, and bitsy HD. It was hard letting go of trying to make the puzzle game in 3D especially since I liked the idea and the visual aesthetic of bitsy 3D so much but with all the issues I was running into I had to make a change. I considered going back many times especially once I got the conditions work for the first time but I resisted the temptations in the end and made the first real prototype for Just Another Push.

I Just put everything I thought I could use to make cool puzzles in one test area I wasn’t sure at first what things would look like and but trial and error put me in a decent spot. In this scene I had sized blocks that could only pushing blocks of their size or smaller, blocks that could only move on 1 axis, Blocks that could only be pushed by other blocks not the player, and 3 types of walls Fences that allowed blocks to pass, gates the player could walk through, and borders that stopped everything. creating 1 axis blocks required some finessing push sprites didn’t have that function by default.

Function I used to check for sprites with the XOnly or YOnly in their name

After the Axis based sprites, I went on to add in teleporters then I redesigned some of the wall types, and created Goal tiles to show the player where to put the cubes in order to trigger the win con.



With all the blocks and Walls setup or atleast at the time what i thought was all the things i wanted to add I moved on to making tutorial rooms. For this I used the help of two amazing tools. Being photoshop and pixsy. pixsy is a tool made specifically for bitsy that will take an image and convert it to just two color values and create a room in bitsy for you from that image. You can take this a step further by using photoshop. First you make a document exactly the size of a bitsy room 128 pixels by 128 pixels since bitsy is 16 by 16 tiles and each tile is 8 by 8. I searched online and some people recommend using bitmap since bitsy only uses two colors but if you use that you wont be able to add in images so I stuck to RGB and just made everything black and white before importing it. adding grid lines was a great help as well to know where every individual block is.




These tools allowed me to quickly get 10 rooms up and running for the tutorials and from there I just tried my best to simply explain how the basic mechanics worked. I figured for the Game Jam I could just have people play the tutorial and see how well it worked before I started making levels. However even though I now had ten finished tutorials that all led to each other and functioned with the start lobby and could be completed there was one major issue. Before I even submitted my game to the Jam I had my friends playing the tutorial levels over and over. And like always with my biased developer view I couldn’t see the alarming amount of ways to get yourself completely locked and unable to do anything but restart the page. My friends did things in ways that I wouldn’t have even thought of and despite some of the decisions being blatantly ridiculous the possibility to make the game unplayable was there and i had to change that. This was also an issue in the animal husbandry game that I took inspiration from the developer himself said there was no way in bitsy to reload rooms and no hack created by the community that did this either. This meant that I was going to have to find some way to create a script on my own that reloaded scene so the player could undo unfixable mistakes. At first I simply tried making levels that couldn’t be broken and through testing with my friends I was able to make significant progress but the reload button was still a necessity especially for tutorial levels where I definitely wanted the player to be able to mess up so that they could learn what the right thing to do was much faster. To put it simply making the reload button was a horrendous hassle, but I realize after awhile that I was overcomplicating the situation I was trying to dig into bitsy renderer and refresh the room to its original state which maybe is possible but it wasnt necessary at all for my game. After struggling for so long i realized the only things that will ever move in my game are the Avatar and the sprites all the tiles for walls and whatever else would never need to be moved. So instead of trying to reset the room all i need to do put the sprites back to where they were at the start. Theres probably a way I could have done much better by creating a function that dug into the script and found the names and recorded their positions and then changed them when it was time. BUT INSTEAD I hardcoded all of it


this is how it started out of sheer desperation I wrote down every individual sprite and their positions that I wanted to move back and stored them in a variable then when the condition was met, I reset the positions.

clearly very tedious BUT IT WORKED!!!
with that the tutorial was fully playable with no issues (that I know of :D)

Unfortunately, I didn’t get my game on itch before the game test in class on Friday, so I didn’t receive much feedback. One person let me know that they really liked the game so that at least gave me confidence the concept was worth pushing for. Through further playtest with my friends, I updated the design of the reload button since my first one was apparently “ugly” and made the words in the tutorial levels stand out more using flashing arrows.




To wrap things up so far I’ve added 10 levels with the help of my friends to make the difficulty increase at a somewhat decent pace it definitely ramps up more than I will have it in the future but I think its good for now since there’s only 10. I changed the character sprite to a cute jelly creature with an up and down animation. Theres also a lobby now so the player can easily navigate to all levels and I added some cool effects to the start game area and fixed the unfortunate typo that said Left to Start when you definitely had to press right. I added in two more hacks as well “AvatarbyRoom” for the start menu dot thing and “Transparentsprites” so the tiles can be seen through the blocks I think they both add a nice touch. I had to spend some time changing the hacks A LOT to make them work, stacking so many of them together was causing some issues. In the future Id like to come back to this game and add a lot more to it. levels, a proper lobby, music, etc. working in bitsy as a annoying as it was at first became a fun and simple process once the headaches were gone and I could just spend time building. I’ve promised myself ill return to this game and finish it but for now its on to the next project.