Noodle Box for PSP

Noodle Box is a puzzle game I created for the PSP. It's a mash-up between snake and tetris, where the goal is to try and pack items into boxes for shipping. You do this by growing/eating yourself (like snake), and by completing lines to clear space and/or reduce weight in order to meet the weight target.

I created this as part of a game jam, and as a way to learn PSP development. It won 4th place overall in the jam, and scored 1st in graphics and creativity!

game jam results

Development

I originally was planning to make something completely different. I wanted to do a 3D strategy game, so I spent a good chunk of jam time on creating engine features and tooling for that, but I realized I wouldn't be able to make that game in time. So, I scrapped the idea and scaled back to something simpler, and ended up with Noodle Box. While I do wish I could've made that strategy game, I am happy with how this one turned out.

The game actually doesn't use any textures for the 3D part, just vertex colors. The reason is that the custom asset pipeline I built is incomplete. Since I was originally going to make a much larger game, I needed to spend time making a more sophisticated pipeline for 3D assets, but that was scrapped half-way through. I made the decision to try and implement animation imports before textures (since textures are easier), but I finished neither! All of the animations that you see in game are done programmatically with easings.

The jam's theme was It's not a glitch, it's a feature. My basic idea for the theme was that the snake/worm character is a robot built using spare parts from an old video game console (to save money!). As a consequence, the worm inherited the tetris mechanics from that old console, so the glitch is that it can inadvertently destroy entire rows of items instead of packing them! However, since the goal is to reach an exact weight target (not over, not under), that glitch is actually a feature that can be used to reduce weight! ...but if you play the game that was released, you won't know any of that since I didn't have time to add an in-game explanation, or even a tutorial.

Also, I released some of the stuff I wrote for this as open source. You can find the code and more info about it here. The only parts that might be interesting are the "vertex attribute converter" tool, and the 2D drawing API which is a simple abstraction over SDL2's 2D drawing routines, but with a PSP implementation. So anyone who wants to do cross-platform 2D stuff might find it helpful.

Future

I think I'll explore this idea a bit more, and maybe port it to a more accessible platform. After doing some actual play-testing IRL, I've been getting some positive feedback for it and think it might have some potential. I already have some ideas for ways to expand on the basic concept to make it more interesting.

One big non-gameplay improvement I want to do is add sound effects and animations to the 2D portion. The 3D parts have a lot of smooth animations which help the game feel more alive, but the main 2D gameplay is very stiff and has too much of a "programmer art" feel to it.

Also, a guided tutorial would definitely improve the game a lot. Most people that I observed play the game were extremely lost until I spent a lot of time explaining it. That's bad! The game should be the one explaining itself to the player, not me!

Download

The game is available on Itch.io