Jumping
author's note: this post was published on march 11, almost two weeks after it was written. oops!
kirby's dream land 3 is one of the stronger mainline kirby titles, expanding on the series' playful vibe with its colorful cast of characters and its stylized menus and HUD. it's a game you can beat in a handful of hours, which leaves a little to be desired, but there are a good amount of secrets scattered across each and every level that help give you reason to play around and have a little more fun with the game. there's also a boss rush, and a handful of minigames - most are play and forget, but not all of them. it's a long-standing tradition in the kirby franchise that completing a level earns you a shot at a timing-based minigame with some health, points, or even lives on the line. adventure and dream land 2 had a simple minigame involving charging up a high jump - the better your timing, the higher you shot up in the air, and the higher you shot up, the better your rewards.
dream land 3 has a similar minigame, but one in which a higher jump is not necessarily better. instead, there are 9 different zones that kirby can aim for, each with a 'reward' chosen at random but known to the player, including nothing or even taking damage. With only 8 unique animation frames for the 9 tiles, players must not only feel out which timing will lead to which tile, but then have the skill to execute said timing (specific jumps either have a 0.08s window or a 0.1s window). when you beat dream land 3, you are rewarded with an infinitely replayable version of this minigame available from the file select screen, but with the far more enticing reward of playing for score instead of for any in-game benefit. each round gives you one less safe tile to land on, until finally you have to jump perfectly to avoid certain death. making four of these perfect jumps is required to reach 10 points, which earns you a blue 'medal' of sorts and 1% completion on your save file, meaning grinding Jumping for at least thirty to sixty minutes is required for perfect completion of the game.
my brother had just recently done this to achieve his last percentage point and he was complaining about the minigame to me. i tried it, i had fun. i gave it to another friend to try, and he was immediately hooked. he had gotten 10 pretty soon but that wasn't enough, by the end of the night his record was 15, and he had his sights set on 20. i told him i'd port the game to javascript so we could play it without having an emulator and a copy of the entirety of dream land 3. but i'd never made a game before, and i tell people i'll do things all the time, and then never actually do them, partially because disclosing information about the self is intrinsically rewarding and partially because i budget my time poorly and i don't get around to doing the things i want to do very often. i still have a broken speaker in my ms. pac-man, or maybe it's broken wiring, and i don't actually know because i have yet to even attempt to fix it, and i still have a broken voltage regulator chip in my *other* ms. pac-man, and i still have some bad capacitors in my mechanical organ, and... you get the idea. i've actually wanted to make a game for a while now, and i wrote some thoughts about that to a friend of mine, you can find it here if you're interested. it was in response to a specific part of a conversation so it might seem a little all over the place (probably because it is haha) but basically the context is i was discussing my long-standing yet completely idle desire to make a game and some of my existing thoughts on how/why.
i got a little sidetracked there, but the point is that i wanted to make this game. two weeks go by, i looked into it a little bit, it seemed very overwhelming and over my head. i tried to copy the chrome no-internet dino game and modify it a little, but the games were too fundamentally different, so after a few hours of work i scrapped that and just started over with a completely blank canvas, looked up some documentation, and looked at an example game. and i just started coding away. my code is dog shit. there are like 30 global variables right at the start, a bunch of stuff is hard-coded, there are so many twisted nesting if statements and strange ways of doing things, and i'm pretty sure there's a race condition in the input handling, but at the end of the day, the game works and it works pretty damn well. gameplay-wise, it's nearly a 1:1 recreation, with the timing of the jumps lining up identically from what I can tell with the dream land 3 minigame. the frontend is a little wonky, the game is strangely sized on mobile, but it's playable! it just took a few good hours of coding away and making it happen, and it was a lot of fun!
moral of the story, just do things. queue up jumping here and let me know your score. my personal best is 30!
also, some of the tech debt on my site is starting to pile up... i might have to get my hands dirty this weekend :(