A short metroidvania made for two game jams, inspired by an expired third one. Programmed purely in C, compiled with Emscripten to WebAssembly (and written some JavaScript to connect browser with wasm).
Tips:
Controls:
Keyboard | Gamepad | |
Move and navigate menu | WASD or arrows | D-pad, left analog stick |
Jump and menu button | J or Space | A (cross) or Y (triangle) |
Shoot | X or K | B (circle), X (square) or R1 |
Toggle menu | P or Enter | Start or L1 |
Status | Released |
Platforms | HTML5 |
Author | voidonon |
Genre | Platformer |
Tags | 1-bit,Metroidvania,Pixel Art,Retro |
Average session | A few minutes |
Languages | English |
Inputs | Keyboard,Gamepad (any) |
Accessibility | Color-blind friendly,High-contrast |
Log in with itch.io to leave a comment.
Very cute metroidvania! I liked the level design and how it worms in on itself with new power ups. I never got lost and always knew where to go next which is uncommon for me when it comes to metroidvanias. I think the last boss was good but I thought the others were way to cheesable (hide in the corner of the room and shoot). I also think some of the enemy placement was poor, especially with that leap of faith you need to do before the second boss (ladder keeper). Solid game! :)
Thank you for playing and your kind words! The bosses were, admittedly, a bit rushed because they were the last thing I programmed in the game and the jam submission deadline was getting close while I was running low on concentration and ideas about improving boss mechanics (it was a late night and I needed to get some sleep).
There is no downloadable version, only the web build.
It would not be trivial to make a standalone executable because I did not make the game in a game engine, but instead programmed everything in C (almost 2k lines of code) and compiled it as a WebAssembly (wasm) with Emscripten. I wrote some JavaScript "glue" that handles I/O, while the most of it is going on in the wasm part, which in each frame calculates the game logic and information about color of each pixel and which sound should JS part attempt to play if any (in technical terms, it returns a pointer to a memory address from which JS reads all relevant data for the current frame).
Making a standalone executable out of this would involve writing additional code which would handle I/O the way JS "glue" does in the web build (but probably more complicated than JS). That code would have to use a library, probably SDL, to make it happen.
Glad you had fun. :) Music gets interrupted by sound effects and this is intentional to mimic the single channel limitation of Nokia 3310.
9 hearts are the maximum (I decided on that because it is the largest single digit number, otherwise HP indicator would take additional 8 pixels of width (two additional digits, each 3 pixels wide plus one pixel of spacing: 2x(3+1)=8)), congratulations on finding all additional 6 hearts!
Thank you for the playthrough video! :D
It seems that you only figured at the very end that you can also shoot upwards (and you also missed one health powerup). :) There is a menu button, with game map (a typical metroidvania game style map), upgrades collected (which can be turned off and back on, like in Super Metroid) and a "main menu" part.
Nice to hear you had fun playing it. :)
You can use the map if you keep getting lost, it is on the menu (opened and closed with P or Enter on keyboard, or Start or L1 on gamepad). There are 6 additional hearts to find (some on more obvious locations, some on less obvious ones), which you have to, well, find (though hearts are optional, but they make the game easier). It is a metroidvania type game, searching for stuff is often a part of the experience. Same with finding bosses and powerups. Good luck! :)