Yeah, there's no substitute for good tactile feedback. One of the reasons I've never been a big mobile game player. Glad you enjoyed it, though!
JadeLombax
Creator of
Recent community posts
The little 6 is a single-character substitute for "\^", which is a common control code. Zep didn't necessarily make all the shortcuts like that very obvious. I actually included characters 0-15 in the tool, they're just in the code as comments and you can copy and paste them, since they're not printable in a running program.
Well, I actually don't have a less-minified version, as I usually code my small projects directly in condensed form. I can give you some info on how things work, though. There's a string at the beginning:, ?"⁶1⁶c6⁶!5f10+⬅️5✽●6⌂3", which activates the secret palette colors. Basically, the question mark is a condensed print command, '⁶1⁶c6" replaces the flip() and cls() commands, and "⁶!5f10" functions as a poke command to hex address 5f10. The symbols that follow are the values that colors 0,1,2,3.... are assigned. The bezel is drawn using the reversed shape feature in Pico-8 0.2.6, which is activated here by another poke command in a string. If you haven't, I'd recommend looking up and reading about P8SCII control codes, which can do all kinds of useful things in a small space. Some of the required symbols are tricky to print out, so I made a little tool that makes that part easy, you can find it here: https://www.lexaloffle.com/bbs/?tid=40525
Again, thanks. Glad you're enjoying it. I've had ideas for LCD-themed projects for a while. I've spent time trying to overcome the limits of Pico-8's low resolution to build worlds that seem large and open, so it's neat to see what's possible when going the other direction and depicting something small and close. I'm thinking I might try and simulate a bit of motion blur next time.😉
Thanks=),
I use my little character printer tool. https://www.lexaloffle.com/bbs/?tid=40525
For most chars, you can just use the dpad and buttons to build strings, though for 0-15 you'll need to copy them from comments in the code.
Yeah, the dungeon does rely pretty heavily on trial-and-error since there wasn't space for complex mechanics, and storing two copies of one sprite and using tile properties was cheap. The entire map is shown for a frame at startup when it's being drawn, so your cheating isn't entirely unprecedented. Glad you had fun, and thanks for the feedback!
Glad you're enjoying it. You're actually the second person who's written about being confused by my little bug-doubling-as-a-feature. Guess that's what I get for not having any play testers. I'm working on a fix, and I explain what's going on here:
https://www.lexaloffle.com/bbs/?tid=54435
Also, you mentioned the dungeon, did you figure it out, or were you stuck there?
Thank you,🙂
I've thought about using fillp() to draw shapes so that only the low bits are used and a simple memcpy() call could transfer the data, but that would cut your horizontal map size in half. As it is, I think my little transfer script is pretty byte-efficient, as it has a lot of redundancy. I actually used the extended map memory, so the entire map (above & below ground) covers 88 in-game screens, with 48 for the overworld, making it 3/8 the size of Hyrule from Zelda 1.
I hope people take the time to play through it, I'm especially proud of the dungeon and I had fun making the map space used to draw the dungeon walls double as a secret underground area itself.😉
Very nice job!
Looks nice, and has an engaging risk/reward system of trying to aim at enemies while avoiding obstacles. I never played the original game, but I can see why it would be popular.
I think user-controllable firing would be a nice addition if you could find a way to squeeze it in, but it works okay as is.
Thank you,☺️
I spent a while designing the tiles using Pico-8 shape commands, trying to draw everything as efficiently as possible. I put a bit more detail where it was most noticeable (especially the pipes and the ground), and left it out where it wasn't, like the clouds and hills. Between that and colors that are pretty close to the original, it gives a good overall impression, even if a lot of details are missing.
Yeah, I recognized my sprite compression code there. Nice thing about that is I can just open a blank cart and replace sset with pset to see the raw sprite data. Beyond that, though, really nice use of color variation, particles, screen distortion, and lighting!
As for suggestions, I just wonder if you'd consider letting the player either eat fish the same size as them, or just pass through them unharmed. It was a bit surprising to find that touching the same size fish kills you.
Glad to hear you finished it, I've been hoping that people would do that. Went back and re-assessed my code, and managed to squeeze in instructions to hold the button to bounce, so hopefully that helps someone avoid frustration in the future.
As for the logo, that's pretty hacky. The characters are actually printed in black to the top left corner of the screen, then that area is scanned left to right top to bottom via a single loop using the floor divide and modulo operators, and the color value is tested for each pixel. For each one, a circfill command is given, but the radius value has the pixel color of that spot subtracted. Since subtracting 12, the number of the background, results in a negative radius value, no circle is drawn for spaces that aren't black. Finally, a blue filled circle is drawn over the printed text to hide it.=) You can see it printed out if you delete the chunk of code that looks like this:
c(0,4,k,12)
Oh, also, in case you hadn't tried it, I thought I'd mention a little easter egg. If you press the directional buttons on the title screen, you can make Squirt do a little dance. It's just an unintentional side effect of reusing his code while restricting movement, but with tweetcart games, you've gotta make bugs into features!
Thank you very much☺️,
This was actually my fist game (well, technically a revision of my first game), and as such I ended up putting quite a bit of time into it, refining and cramming it down to size. Probably overkill, but it taught me a lot. I've had some comments expressing frustration with the controls, as it's designed around holding buttons down to bounce, but there wasn't quite space to explicitly explain that in-game. Hopefully you didn't try playing by just pressing the buttons. Did you play through to the ending?