Libbet and the Magic Floor GB

From GameBrew
Libbet and the Magic Floor
Libbetgb.png
General
AuthorDamian Yerrick
TypePuzzle
Version0.08
Licensezlib
SystemCGB, DMG
Last Updated2024/01/02
Links
Download
Website
Source
Support Author

This is a port of Martin Korth's game Magic Floor to the Game Boy compact video game system, introducing Libbet the boulder girl.

Installation

The game plays in SameBoy, Emulicious, BGB, or mGBA emulator, or on a Game Boy through an EverDrive GB or EZ-Flash Junior flash cart.

Visual problems may appear in VisualBoyAdvance and other outdated emulators.

User guide

One day, Libbet was rearranging her basement when she discovered a passage to an empty hall whose floor had a peculiar pattern. She rolled in to investigate.

The floor tiles have four shades. Libbet can roll or jump between tiles of the same shade. She can also roll or jump onto the next brighter shade or from white to black, which leaves a track. Tiles with no exits contain a trap door that leads to the entrance. Leave 90 percent of possible tracks and roll to the exit to win.

Achievements

Performing feats in the game will earn you achievements. Some are harder to earn than others.

  • Completionist - Complete all floors with 100% score.
  • Sink it - Complete a floor with 100% score, leaving the last track while entering a dead end.
  • Dash for the door - Complete a floor with 100% score, and then reach the exit without retreating or resting.
  • No peeking - Complete a floor without resting more than a second or inputting an invalid move.
  • Restless - Complete a floor while rolling continuously, without resting a single frame or inputting an invalid move.
  • No scope - Rotate the Control Pad by 360 degrees during a jump.

Controls

Select - Demo/Tutorial

Start - Start the game

D-Pad - Roll

A+D-Pad - Jump

A+B+Select+Start - Reset

Screenshots

libbetgb2.pnglibbetgb3.png

libbetgb4.pnglibbetgb5.png

Changelog

v0.08 2024/01/02

  • Revamp instructions with visual aids and add tutorial floor "Closet"
  • Wait before detecting Super Game Boy
  • Correct note periods to concert pitch
  • Make shadow during jump more visible
  • SGB, GBC: Lighten green to reduce Helmholtz-Kohlrausch illusion
  • SGB: make border tile 0 transparent to reduce flash during fade
  • Add an experimental way of allocating subroutines local variables, using a new feature of RGBDS 0.7
  • Allow building with out-of-tree RGBDS for regression testing (RGBDS 0.7 includes this project as a test case! gbdev/rgbds#1260)

v0.07 2021/01/19

  • Achievements: Don't get stuck if player earns "No scope" just before reaching the exit.
  • Wall facelift: Add volume and top-to-bottom gradient to wall (suggested by Daid); remove shear on side walls (suggested by DragonDePlatino); define door frame (suggested by M-Tee); darken area outside floor on GBC.
  • Add a shade to the underside of Libbet's body.
  • Floor: Larger dots on black tile (suggested by DragonDePlatino); larger flat areas on dark gray vent/grating tile moving detail to corners; square off corners (suggested by IRCWIP).
  • Compute entire GBC palette before copying it first frame (reported by toxa).
  • Switch to slightly faster random number generator.
  • Work around crash on boot related to STAT IRQ in VisualBoyAdvance.
  • Document sprite sheet rectangle list syntax (requested by ISSOtm).
  • Switch from dedenter to RGBDS 0.4.0 indented local labels.

v0.06 2020/07/03

  • Widen squash in landing cel.
  • Super Game Boy and Game Boy Color enhancement.
  • Scroll to center between debrief and copyright notice.
  • Code size optimizations.

v0.05 2019/11/14

Game changes:

  • Fix first word of attract text after achievements and combo.
  • Improve arm position in many cels.
  • Buzz on invalid move (#10).
  • Make fades much smoother (#9).
  • Make skin color distinct from sack color using 7-shade display.
  • Add pattern to black cell so as not to be misread as a hole.
  • Add intro that wipes away console maker logo.
  • Display combo that just ended, with sound effect.

Behind the scenes:

  • Build-time option to use tilemap $9C00 instead of $9800 (requested by mattcurrie).
  • Docs: Describe achievement conditions, and clarify that some are harder than others (requested by ISSOtm).
  • Docs: Document metasprite format (requested by ISSOtm).
  • Rules research: Discover that bidirectional evaluation does not appreciably improve speed of floor reachability evaluation.
  • Encoding guide: Add SGB aspect ratio and frame blending.
  • Sketch larger versions of Libbet and title screen.
  • Sketch SGB, GBC, and Genesis floors.
  • Add tool to prototype an animation before coding it.

v0.04 2019/02/21

  • A+B+Select+Start during gameplay to reset.
  • Combo counter shows number of tracks laid without hesitation.
  • Add achievements Completionist, Sink it, Dash for the door, No scope, No peeking, Restless.
  • Display achievements in a window when they are earned.
  • Display floor scores and achievements after completing all 5 floors.
  • Popslide: Option to limit length of +32 runs and literals to save ROM size.
  • "Debughex" option to display a variable at runtime even on hardware.
  • Rules research: Confirm 92% chance of seeing a dead end in a game.
  • Docs: Add guide to encoding video with bgb.

v0.03 2018/12/11

  • Rolling and landing sound better fit the material.
  • Reduce clicking when sound channel turns off.
  • Show squash cel when landing (first of 12 principles of animation).
  • Make hands clearer in push-off cel.
  • Dead code removal and other size optimizations.
  • Rules research: Confirm that 100+ score for 8x6 is highly unlikely.
  • Comparative testing: Add patch to make GBA version work on GBA Movie Player.
  • 8611 bytes used.

v0.02 2018/10/31

  • Combine identical strips, saving a few bytes.
  • Fix head bob when rolling left.
  • Draw track and score updates using Popslide, a VRAM transfer buffer.
  • Draw exit arrows at top left and right of 8-cell-tall floors.
  • Fade from white at 90% and 100% completion.
  • Fade to white on exit.
  • Tutorial demo (press Select).
  • Separate Libbet's elbows in push-off cel.
  • Sound effects.
  • Animate falling in a hole and being ejected.

v0.01 2018/10/18

  • Initial release.
  • In: floor generation, gameplay, animation of rolling and jumping, instructions, floor size sequence.
  • Not in quite yet: fancy title screen, overall score, animation of entering dead end, a proper attract mode, audio.

Credits

Copyright 2002, 2012 Martin Korth.

Copyright 2018, 2021 Damian Yerrick.

External links

Advertising: