Fiddling around with some ideas for a Pac-Man-like that emphasizes speed. I made a prototype that can handle arbitrary speeds (although once you’re moving past multiple turns in one frame, it becomes impossible to control exactly how you want to).
In the prototype you have speed that slowly ramps up as long as you don’t run into walls. I’m also thinking about implementing a sort of “dash” mechanic that makes you go even faster and can destroy enemies, but only if you hit 2 or more at a time.
Would be willing to hear other ideas you think would be neat in a speed-focused PacMan!
(gif is 30 fps but game is 60)
Try it out and let me know if it’s intuitive to control or you find it does unexpected things. I have an input buffer so tapping the keys shouldn’t cause you to miss turns, and hold directions should work like normal Pac-Man.
Also for you code nerds: I looked and didn’t really find a satisfying Pac-Man control algorithm online, certainly not one that handled arbitrary speeds. My eventual implementation was something like this pseudo code:
moving psuedo code
while speed > 0
if direction is 90 degrees from turn && can move in turn direction
if distance from tile center == 0
direction = turn
else if distance < buffer from center
direction = towards center
end
else if direction is opposite of turn
direction = turn
end
distance = min(distance to next center,speed)
speed -= distance
if can't move in that direction
speed = 0
else
move that distance in that direction
end
end
Also traveling on lines instead of paths was sort of a convenience thing when implementing it, but it conjures up other arcade games, like Qix.
And I couldn’t help but notice my paths look a lot like Tetris shapes, and I wonder if I couldn’t make this into more of an action puzzle game. It would be rad to be able to outline a shape, and then it disappears and the above shapes fall w/ gravity.
Feels fine. If you tap left and right quickly you can build up some speed it seems like. could have a level with an enemy that’s magnetic and you could use that to get out of their suck zone.
Neat! Might be my connection or aging computer but it felt like it ran kind of slow? I played it a couple times and it’s fast at first but then kind of slows down during the the duration.
Alright, another update. Implemented a version of the “dash/boost” mechanic I was talking about. You lose the boost when hit a wall (i.e. don’t do a perfect turn).
Refinement: hitting the wall resets your speed, but pressing the button again during a boost executes a boost cancel, which stops the flashing/invincibility early, but you keep the extra speed, which decays over time.
Edit: you can no longer do 180s while boosting. That shit’s OP. You can boost cancel and do them, though, but then you don’t get the invincibility.
be sure to at least casually peruse jamey pittman’s pacman dossier
not that you need Make Pacman entirely ofc, but to me, a Pacman is not a Pacman without accelerated cornering and hit pauses. telegraphing the turn buffer somehow (like the ce games’ wall sparks) is also important, imo
on phone atm so have not managed a real go at what you’ve got, excited to give a try when i have a moment
pacman qix sounds hottt
ok i had a play, some interesting raw material. i think the combined speed, low res, and the high density of yr test maze make it a little difficult for me to make any meaningful qualitative assessments of whatever you intend for this system, but given how excellent & dense heat death was, i’m excited to see where this ends up
Yeah, I’m slowly opening up my test level so you can feel the speed a bit more. This is definitely a prototype and I’m trying to figure out what things will be good & fun based off some vague ideas in my head.
Gonna add some enemies next to see what kind of game I have, here. Need at least sketches of all the elements before I can start figuring out which mechanics and ideas will work and which won’t.
Definitely adding hit pauses with the enemies and visual cues for the buffer. Hit pauses in particular are really interesting with the speed mechanic, because getting a hit pause might give you more time to input your next turn.
We’ll see about accelerating cornering – since I’m playing with speed might make it feel even less consistent. And when you’re going fast enough, some turns literally only have one or two frames or you miss the input window (e.g. if two turns are right next to each other, you may only have a 1 frame window for the second turn).
It could also be that the low resolution of Pico-8 is a limiting factor in this idea, and if that’s the case I might pivot. Or if I like the prototype enough despite it, I might attempt it on another platform.
Even the visual indicator (Pac-Man CE will draw sparks) does a lot to help me know I’m pushing in the right direction, and as reinforcement from the game that it is listening and will use my pre-turn input.
Implemented all 4 original ghost AIs this afternoon(sans the bugs the original had). Gonna implement collision next, and then I can start iterating on things like
So interestingly – without the glitch that blue has in the original game, it and red tend to overlap for longer periods of time. Maybe I should implement the glitch, or implement something that would split them up better when they’re on top of each other.
Yeah there’s already a lot of things to experiment with here. Need a couple more core features and then I can start popping out prototypes for different ideas.