I loved these old "programming" puzzle games in the Apple II era, like Rocky's Boots and Robot Odyssey. I thought it seemed like a good fit to do something similar for pico-8, since unlike most programming games we don't need full keyboard input, we can get by with just two buttons.
I was hoping there'd be more after that tutorial. It's a fun idea.
Thanks! Yeah @mhughson I dislike mode switching in control schemes, it's like forcing the player to learn vim just to play. I have some ideas on how I might be able to avoid it. Though once I add graphics for the player character that should help, too.
Great work so far! I also got lost in the control scheme, but it has a lot of potential. As you mentioned, different player sprites would help immensely.
Oh god. I bet vim supports writing a game like this in it somehow.
lol I bet there's whole games written in vimscript out there somewhere.
The robots are in! I've modified the control scheme to get rid of the mode switching, and expanded the tutorial with a robot screen. I've added a couple initial in-game puzzles as well.
I don't think the tutorial is a complete success, especially with all the new concepts the robots add, I may re-do it completely. I'd like to get more actual puzzles added first, though.
Doh yeah I intentionally made the robot disappear as a placeholder solution for not allowing you to carry it into the next room, but I've taken care of that now. I just uploaded a new version that completely re-does the levels (mechanics are mostly the same).
I've still got some more puzzles and mechanics planned, but I've been spending some time starting to add polish to the existing content.
I haven't decided what to do about music yet -- I'd love to have some music, but I wouldn't want it to be too in-your-face or repetitive while you're trying to work out puzzle solutions. I need to go back and play some older puzzle games, get a better handle on "puzzle chiptunes". If anybody has advice I'm all ears.
I don't have any experience with sfx either so I'm learning the ropes there.
A few of my friends asked me to do a couple devlog-type posts... this seems like a good place to do that? I don't really have a blog anymore so I'll devlog here for now.
Anyway, yesterday I did some informal "user testing", had a couple friends play through the game while I watched. It was a really fun and fascinating experience, I have pages of notes now. It was tough to keep my mouth shut and not give hints when they misunderstood things but I'm really glad I did. I wish I could do this once a week with new people each time. Maybe twitch should make that a service.
They managed to break the 3rd puzzle, the screen that introduces toggle switches. It was fun but also a big problem, because that means they didn't learn how toggles really work and floundered a lot on the 4th puzzle, which relies on that knowledge and also introduces bumpers. So I'll have to come up with a way to disallow the easier solution.
For some reason in my head I've always found it easy to remember what I've wired up to what, but they were constantly getting confused about what they'd wired, so I've got 3-4 ideas about how to clarify things, by changing the color and shape of wires and connections depending on state.
I'd also love to implement some sort of "debug view", where you can see (but not modify) the robot's internals while it is running through a puzzle, rather than having to rely purely on your memory of what you wired up. I'm still trying to come up with a good way how I might fit that into the limitations of pico-8 though.
We also came up with a great idea on how to better explain everything on the and/or/not logic gate tutorial screen.
After an entertaining little detour I got back to the feedback I got during playtesting.
I was able to implement most everything from my notes. I especially like the "peek" addition, you can send the robot down a path and then hold z+x to look inside while it is moving, which makes it much easier to get a grasp on what your circuitry is doing as it moves around.
I'm currently working on some non-robot logic gate puzzles to mix things up. I might bring back the train tracks or go another route, I haven't decided yet.
Hi, love your game... It's very impressive and a lot of fun. The robot logic gate puzzles get hard quick though, haha, I guess it's a programmer's game :P
I think I ran into a bug, seems like the flip-flop should flip when both inputs are turned on simultaneously? It only does so one way, when I try to flip back the other way like that there's no effect. I've included a gif to illustrate.
(hidden because it's kind of a spoiler if you have intensely photographic memory I guess? lol)
Also just some intuitiveness feedback - I think I got everything pretty quickly except I got majorly stuck in the room where the flip-flop was introduced, wasn't clear to me I could disconnect that wire so I couldn't figure out where the heck I was supposed to plug it in. Maybe there was enough wiring practice up to that point but I just wasn't able to "read" it as disconnectable. Maybe make the icon for a connected connection more visually loud so it's harder to miss?
Thanks @jcwilk! That's great feedback.
I'm making some changes to the intro to hopefully reinforce the idea that you can disconnect wires.
The flip-flop bug is really an edge case that I haven't decided how to handle yet. Since the flip-flop outputs power on whichever side last got input, it's not clear how it should behave when both sides get input simultaneously. Right now the 2nd output always wins just because of how I happened to code it. I may make it flip-flop every "tick" in this situation instead.
Yeah I'd probably vote for giving both sides power to not flip it at all. I think that's the behavior which would least likely lead to confusion. I think that's the behavior i was expecting before i tried it and noticed it change from one direction and then got confused when it wouldn't from the other. Plus flipping back and forth every tick would almost certainly not be useful in any situation, but preventing it from flipping by sending power to both might conceivably be useful.
Yep that's what I just ended up implementing (not released yet). I had an idea for a puzzle that made use of the flip-flop every tick idea, but decided I didn't want to go there! :)
Progress was slow for a couple weeks but I'm back to working on this now. This latest version is I think "puzzle complete", all the puzzles are in place (including some not-so-obvious optional puzzles...).
There's definitely a ton more I could do with the existing mechanics but I don't want it to get too long or repetitive, I've got lots of ideas saved up for a sequel if it ever comes to that. ;)
Now I just need to finish tying it all together and polishing everything up. I've got about 1k tokens left, hopefully that's enough to avoid another round of major token optimization.
Amazing game! It's sometimes unclear which terminal the wire will attach to when you press the button -- have you thought about adding a highlight to indicate which terminal is "selected"? Something like this would be neat to highlight which item you'll pick up, too.
Yeah I've been concerned about that... and that is a great and simple solution, thank you for the suggestion. :)
I'm getting close to both the token limit and the compressed program limit, so I'm cutting some of the planned vfx, but fortunately I think the core game has gotten really solid. This is largely thanks to a few more rounds of playtesting courtesy of my awesome friends.
A few recent changes to smooth the experience:
- highlight which connection will be soldered, and visually indicate connect/disconnect
- change which robots are used for some puzzles to smooth progression
- while inside a robot, hold z+x to view the surrounding room (and puzzle)
- when trying to connect a wire to an already-connected input/output, replace the current wire rather than disallow the connection
- quote the gate names such as "and" gate, not all players are familiar with these terms
7821/8192 tokens and 15199/15360 compressed... I think that means it's time to call it done. :)
I've posted the finished cart here as well. Thanks for all the feedback and suggestions!
[Please log in to post a comment]