Left/Right arrows: Move Penny left or right
Up/Down arrows: Stretch Penny up or down
X/O/Z buttons: Make Penny jump. HOLD jump for a bigger leap!
Menu/Space: Access the menu, featuring a soft-lock ejector just in case!
Penny the Pumpkin takes you on a delightful platforming journey with light puzzles to solve. Guide Penny, our lovable gourd, as she collects 12 precious coins! Your progress is saved every time she grabs a coin or enters a new area.
Once you've collected all 12 coins, put your skills to the test by unlocking the thrilling speedrun mode! Note that saving is disabled in this mode, so it's all about your skill and reflexes. Can you beat the programmer's current record of 2:51.5? 🏆
This game uses P9 Compression to have four banks of 16x128 tiles that can be switched between during gameplay.
Each level is then defined as an array of "blocks", where each block is a rectangle of the tilemap somewhere in the level. This allows me to have seven different areas, some of which are quite large, as well as easily having overlapping elements. Blocks can also have properties such as an update method ran each frame, if they should have collision disabled, if they should be drawn in front of the player, if they should be drawn just as a cheap rect fill, if they should be repeated etc. This gives me a lot of power in level design.
The physics is relatively simple, with the character animations being based on a very simple spring math:
spring_dy = (spring_y - spring_y_target) * SPRING_CONSTANT spring_dy *= (1-DAMPING_CONSTANT) spring_y += spring_dy
Each level uses a different screen pallete, which often use the secret palette. Additionally for the title screen, a (trick)[https://www.lexaloffle.com/bbs/?tid=38565] documented by @BoneVolt is used to switch to a different pallete for the area of the screen behind the logo! I had to do some extra bit of bit math to have it drawn to an arbitrary place on the screen without clobbering memory!
y= 10 -- The vertical position in PIXELS h= 3 -- The height in rows of EIGHT pixels poke(0x5f5f,0x10) -- enable the effect pal(NEW_PAL,2) -- Set the pallete for the section pal_memset(0x5f70,0,16) -- clear the settings from previous update local rem=flr(y)%8 -- calculate the remainder, since the dual-pallete mode works rows of 8 at a pixels at a time pal_memset(0x5f70+(y)/8-1,255<<rem,1) -- Set the flags above where main body made of full 8-high rows can be set pal_memset(0x5f70+(y)/8,255,h) --Set the flags for the main body of h 8-pixel-high rows pal_memset(0x5f70+(y)/8+h,~(255<<rem),1) -- Set the flags below where main body made of full 8-high rows can be set
function pal_memset(addr, val, len) if addr >= min_mem and (addr + len - 1) <= max_mem then memset(addr, val, len) end end
New in Version 1.1
Area Complete Notification (And cute heart thought bubble)
- Penny will now heart her family in
Thought bubble to help players in common difficult locations
Lovely game. Once you get the feel for the game and the really annoying sphere enemies its great fun. The only minor criticism I have is that I find it very hard to strech vertically and fit through the gaps. It just seems a bit hit-and-miss. Still, completed my "speedrun" in 6:44.6
Very nice lil' game, love the graphic, and especially the slime-ish effect that the pumpkin has. 3:62 is my first time.
@Shadow_Blaster6 What does 3:62 mean? Is that a sneaky way of making 4:02 look better, or is that a typo?
@phil enjoy your short lived 3rd place until I figure this out!
@kaimoney typo, forgot to take a screenshot. Also;
i found a weird glitch
also how to get this coin?
@Tatery1 oh, looks like you're just clipping out of bounds. I'll fix that when I can. Thicker walls needed (Google "bullet through paper" problem if you're curious how this happens)
Re: that coin, that @Shadow_Blaster6 was also stuck on, all I'll say is you can't get it by jumping up to it 😉
@Tatery1 @Shadow_Blaster6 I've fixed that issue, and Penny will now tell you to stop trying to jump up at that coin! There has to be another way!
@kaimonkey that is awesome and will help so many new players. while you are here i also found a glitch where if you jump to a wall and press down when you reach the top corner you will die.
@Ruva, I've added you to the leaderboard (and also fixed a bug where you kept that heart in the wrong screen, so that heart is just for you!).
I will just say, while the enemy movement is random, they're twice as likely to come towards you as away from you - more specifically towards your center! That info can be super useful in... let's just say, certain screens
@Tatery1 Yeah, that bug has been the plague of me, I think i've finally figured out a fix now though
great game! the visuals are really nice and i like the pumpkin village!
also, this is my time
@VaniaIsAnIdiot congrats, i'm glad you liked it! I've added you to the leaderboard
how to performe glitch: get the coin nearest to where i am in the picture, the hold down to get penny to its flatest while holdingright arrow button, get penny to die, as soon as u die u let go off all the buttons and you should respawn in the wall.
@mcman Yeah, this jello physics isn't perfect. I can't afford to do all the checks i'd want to do with the CPU limit, and having particle effect and running at 60fps...
Congrats on the podium place, @mcman! I've also updated with @ikumo's apparently "near perfect" time. They've promised me a video soon so we can all see what their nasty tricks are!
Great game. Thanks!
got a 2:29.3, and i'm pretty happy with it
might try and get a better time tho
i feel like i could do better if i polish up my moves
@VaniaIsAnIdiot I've updated the leaderboard for you!
[Please log in to post a comment]