[ PC / MSX ] Sweet Hell by Donitz [ 2024 ] A few minutes of gameplay
#bossbattle #msx #difficult
https://donitz.itch.io/sweet-hell
( Description from the link )
Sweet Hell is a retro-platformer boss rush game inspired by the MSX Home Computer. The challenging game was created for the Boss Rush Jam 2024 (theme: Exchange).
The nightmare is blatantly inspired by some of my favorite games: Maze of Galious, La-Mulana 1 (the original version emulates the MSX graphical style) and La Mulana 2 (play these blind if you are even remotely interested in challenging time-consuming puzzle games), and Banana Nababa.
Story
Your brother has usurped your throne, assembling a formidable defense of legendary monsters. Eight bosses await in this game, which is as challenging as hell itself.
Controls
You can play the game using either gamepad, joystick or with a keyboard. For those who cherish the feel of retro gaming, there are options to use "up" for jumping and to switch between attack/jump commands, allowing you to play the game using an old joystick like the TAC-2 (as shown here).
Keyboard Controls:
Arrows - Move
Z - Jump
X - Attack
P - Pause
H - Toggle scanlines
I - Enable Iron Man mode (available at the first screen only)
K - Swap jump/attack functions
J - Use "up" for jump
As you sustain damage, your damage multiplier increases, doubling when you turn yellow, and tripling when you're down to your last health point.
Credits
The soundtrack of Sweet Hell features tracks from OpenGameArt.org by the talented Wolfgang_:
8-bit Theme - Intensity under CC-BY 3.0
8-bit Theme - On The Offensive, 8-Bit Cave Loop, 8-Bit Battle Loop under CC0
The sound effects were also sourced from OpenGameArt from two distinct 8-bit sound packs:
NES 8-bit sound effects by shiru8bit, NES sounds by Baŝto under CC0
The 8x8 pixel font was created by danthedev on OpenGameArt:
8x8 1bit roguelike tiles / bitmap font under CC0
Development and MSX Emulation
Sweet Hell was programmed from scratch in vanilla JavaScript, using the traditional entity system that I'm fond of.
To emulate a real MSX game according to the technical constraints of the MSX home computer, the game adheres to several limitations:
A maximum of four single-color 16x16 or 8x8 sprites per vertical scanline.
A limit of 32 sprites in total.
A 32x24 tilemap comprised of 8x8 pixel tiles, with only two colors allowed per vertical tile slice (plus the background color).
A fixed 16-color palette.
These constraints were rigorously followed and a custom sprite renderer was developed to manage the limitations, including automatic sprite cutoff when exceeding four per scanline and sprite color splitting for simplified color replacement and sprite counting.
The flickering effect seen in many vintage consoles and computers is an often-used workaround for the hardware sprite limit through a method called sprite multiplexing. Just like those old computers, the sprite renderer in this game needs to use multiplexing to draw additional sprites, leading to intentional flickering as sprites are selectively rendered frame by frame.
The levels were created using the Tiled map editor. It is extremely useful to be able to put a lot of special properties on tiles to be read in-game.
Final words
Your feedback, bug reports, or discussions on emulation are highly welcome!