Welcome to the Abyss. Whether you're an eager treasure seeker or an unwilling participant, you will find these dank subterranean passages rich with treasures, traps, and devious puzzles.
The goal of Abyss is to navigate a number of puzzling levels in search of the stairs, and to descend them until you reach the bottom. Often blocks must must be moved to reveal the exit, and once found, you must collect every gem before you may enter it.
View the the Documentation
Browse the FTP
Abyss was originally written in yBasic for devices running Palm OS 3 and higher. It featured puzzles formed by a 20x16 grid of tiny, 8x8 pixel squares that where 1-bit each (black and white). I spent two weeks developing the game and several more designing about 30 maps of varying difficulty.
Abyss most closely resembles Adventures of Lolo, the NES puzzle classic, and Sokobon, an opensource cross platform puzzler. Sokobon's block moving mechanics are heavily used in Abyss, and in fact twenty levels from the game have been included in this one. Some of the features of Lolo, including one way blocks and dart traps that resemble one of the monsters in that game have also been included, but because of the performance limits of yBasic on Palm devices, no mobile enemies or animations were included.
When I decided to test RFO Basic! for modern Android devices I choose Abyss as an early test for the platform and have been mostly pleased by the process. My plan was to spend a few days performing a direct port but I instead spent two weeks polishing it. I intended to release it into the public domain and then work on Abyss 2.0 with larger maps, scrolling, animation, and mobile enemies, a game that I would convert into a sci-fi motif for use as the map screen for my side-scrolling platform puzzler, Flyboy (originally programmed in ANSI C for real mode DOS back in 1994).
I am quite please with how Abyss turned out and am grateful for the developers of RFO Basic!, which allowed me to develop on and for the Android platform with minimal fuss. The improvements to the Android version of Abyss follow.
Scrolling added to support maps with twice the width and twice the height as the original
Over 20 new objects, bringing the total to 50 objects available for level design
Enter text into scrolls that provide hints, riddles, or story-telling possibilities
Object grouping, allowing for nine door-key and switch-object combinations
Object flags, allowing 9 settings for certain objects, such as blast radius or magic item strength
Seven new tutorial maps that quickly introduce the new objects and features
Background music and a new menu to change sound volume, music volume, and the track
Improved controls and new control options such as swiping and button size (1,162 combinations)
Drastically improved user interface for the level editor
Long press editor icons for object descriptions and to set one touch access for a favored object
Access to an indexed help system for the editor in Web View
A grid of 48x48 pixel, full color blocks
4 block themes
10 avatars to choose from
15 sound effects
Four input methods(directional keys, gamepads, on-screen directional buttons, and direct touching of grid squares)
An improved level editor integrated into the game, featuring attractive icons and popup toolbars
Four new blocks (collapsing floor, chest, four-way dart trap, and a wooden shield)
New tutorial levels showcasing the new blocks
Updated information screens
The development was performed on an RCA Viking Pro 10.1" 2-in-1 Android laptop using the following apps.
RFO Basic! - Source code edited and tested in this free basic interpreter for Android
Basic! Compiler - APK compiled by this 3$ app
Ivy Draw - All graphics were designed in this great vector graphics app that costs 6$ to register
Pixly - minor graphical touch-ups performed in this free pixel editor
WavePad - most sounds effects were recorded from my voice and processed with this 10$ app
SFXR - a few retro style sound effects were generated by this opensource app available for most platforms
OmniNotes - this opensource note taking app was used to document agendas and to track bugs
DroidEdit - associated text files edited in this free app
9-14-17
FIXED last map played not loading because FILE.EXISTS returns 0 for maps in APK asset (using text.open to test now)
FIXED main menu pops up when user taps beneath the onscreen down button
IMPROVED onscreen button controls by increasing space between them
8-28-17
FIXED sometimes not saving position on exit
FIXED wooden shield count misaligned
FIXED broken floor tiles not visible in tile-set 2 & 3
ADDED down stairs on exit sound effect
ADDED exit down stairs animation
IMPROVED pickup and deflect sound effect (still need a better "unlock" sound)
Abyss is public domain and may be freely used, distributed, and modified with the following exceptions. One, I reserve the exclusive right to distribute it where software is bought or sold. Two, derivative work may not use the included level data or the name of Abyss. New levels created with the editor may be freely distributed.
Questions and comments welcome in my mailbox, MichaelCPalmer1980@gmail.com
Best regards