Buggity Bash™ is basically Boulder Dash®, but with me as the main character. Well, actually, it's more like Emerald Mine, but you get the idea.
The game used to be called Treasure for Pleasure, but I decided to rename it when I noticed an official Boulder Dash® game called Treasure Pleasure. Then it was called Duck Dash for a few years, until I found out that there was another game (and, apparently, an amusement park) with the same name. So now it's called Buggity Bash™, which is unique (so far) and fun to say.
If you've played Boulder Dash® or Emerald Mine before, you may want to take a look at some of the differences between these and Buggity Bash™.
Buggity Bash™
Emerald Mine
Boulder Dash®
Amoeba
Amoeba that aren't connected are considered separate. If one part of an amoeba is trapped, it will turn into gems while any other parts live on. Similarly, if one part grows too large, it will turn into boulders while any other parts live on.
All amoeba is considered one. If one part of an amoeba is trapped, it will continue to live as long as there's amoeba elsewhere in the level.
Amoeba doesn't drip.
Amoeba can spread downwards by dripping.
Amoeba doesn't drip.
Doors
The player can stand in a doorway. He can also make a door stay open, allowing anything to move through it.
Only the player can move through doors. He can't stand in a doorway. When he moves into a door, he passes through it (at double speed).
N/A
Doors can be open to begin with. Open doors can be closed without a key but require a key to be re-opened.
Doors are always closed.
N/A
Brick Wall
Can have rounded corners that make gravity objects roll off.
Can't have rounded corners.
Can't have rounded corners, but always makes gravity objects roll off.
Magic Wall
Looks different from regular brick wall.
Looks like regular brick wall.
When a square of magic wall is activated, only the squares that are adjacent to it will be activated as well. Magic wall elsewhere on the level will not be affected.
When a square of magic wall is activated, all magic wall in the level is activated.
Turns into regular brick wall when expired.
Acts as regular brick wall when expired but still looks like magic wall.
Makes boulders and diamonds disappear when expired.
Growing Wall
Growing walls have small indicators that show the direction of growth. They grow at half speed.
N/A
Growing walls look like regular walls. They grow at full speed.
Explosions
All explosive entities cause chain-reactions.
Only bombs cause chain-reactions.
No chain-reactions.
Pushable Objects
The player can push objects without delay.
The player can push objects after a random delay. If an object is pushed more than once without delay, additional pushes will work even if there's nothing below the pushable object.
Falling Gems
Can be picked up by nudging, even upwards.
?
Can't be picked up until they're stationary.
Exit
Looks distinctive.
Looks like titanium wall until opened, then flashes.
The rotation button now rotates the gravity rather than the level. The direction of the gravity will be indicated by the orientation of the player, boulders, sapphires, nuts, keys, dynamite, monkeys, and ghosts.
Added buttons to turn the gravity 90° clockwise or counter-clockwise.
Added buttons to set the gravity to a specific direction.
Added a gravity setting in level properties in the editor.
Added remote-controlled doors and buttons to toggle them.
Added growing titanium walls.
Added magic titanium walls.
Added search fields to Play Created Level and Load Level (in the editor).
August 8th 2022
Made all-new retro-style graphics.
The player is finally animated in all directions.
The player will now become impatient after a few seconds and will start to look around and tap his foot.
The exit will now blink when open.
Ghosts and monkeys are now animated and face in the direction they're moving.
Inactive monkeys are now sitting down with their eyes closed instead of appearing in black and white.
Rolling bombs, boulders, and nuts are now animated.
Amoeba is now animated.
Acid walls are now made of green titanium instead of bricks.
Changed the animation of rolling gems.
Slowed down the animation of active beacons.
Added variation to mud.
Made the ingame labels and inventory icons easier to see by giving them an outline instead of a shadow.
May 1st 2022
Various:
Converted the game from Monkey X to Godot (using C# because GDScript turned out to be too slow for this amount of array processing).
For performance reasons I decided to release this version as applications for macOS, Windows, and Linux. An updated browser version may return at a later date.
You can now use the mouse wheel to scroll up and down in lists.
Copy/paste is now supported in text fields (so you can paste your password, for example).
Added a spinning icon thingy when waiting for reply from the server.
Added a quick fade between the main menu, the editor, and the gameplay.
Errors and timeouts from the server are now handled correctly.
Made sure that long level names are shortened where necessary.
Most likely introduced some new bugs.
Gameplay:
The info menu is now shown when playing generated levels as well, with a button to generate a new one.
Added several "recipes" for the generated levels for much more variation.
Added a Generate New Level button on the menu when completing a generated level.
Added a bit of variance to the player death sound.
Slightly changed the look of the inventory.
Removed some extra performance stats from the upper right corner. They were only supposed to be in the debug version.
The music can now be toggled from the pause menu or by pressing M.
Fixed a bug that allowed the player to move into a rotating firefly or butterfly if it was facing in the same direction as the player was moving.
Main Menu:
Redesigned the main menu to have less emphasis on the Create Account and Log In buttons, since some people seemed to think that creating an account is mandatory, which it isn't.
Slightly updated the graphics for the Buggity Bash title and added a ™.
Moved the credits to a separate page.
Editor:
Changing scale is now animated.
The grid looks a bit better now.
Moved the top bar a little to the right to allow more room for the entity list.
Letters, digits, and symbols have been added to the entity list.
Moved the key/door color buttons to a new toolbar above the entity list.
Removed the corner walls from the entity list since they can be created more easily using the corner mode.
The selection can now be deselected by right-clicking.
The level list (when loading levels) is now automatically refreshed when saving, publishing, and unpublishing levels.
The Acid button now makes a floating selection with acid instead of putting the acid directly into the level.
The Floating Selection toolbar now has an Auto-Defloat checkbox. This determines what happens to a floating selection when you make a new selection, switch to a different mode, or click one of the buttons in the Level toolbar. If Auto-Defloat is enabled, the floating selection will be defloated (this is what used to happen), otherwise it will be discarded.
The Scale, Grid, Multi-Fill, and Auto-Defloat settings are now saved.
When drawing acid, it will now face the right way automatically, assuming you've already made the acid walls and there's no ambiguity.
You can no longer paste or rotate a floating selection if there's not enough room in the level.
Fixed a bug when saving a published level as a new level where the notification would say that the level had been saved and unpublished.
Fixed a bug where using the corner tool didn't mark the level as modified.
Fixed a bug where floating a selection that was partially outside the level would either include parts of the opposite end of the level or crash the program. (You can no longer move a selection partially outside the level.)
December 9th 2020
Fixed incorrect death messages that were introduced by the last couple of updates.
Fixed a bug that caused delayed explosions of lit dynamite to make no sound.
Fixed a bug that would crash the game when placing dynamite while running through an auto-closing door.
Fixed a bug that allowed the player to place multiple sticks of dynamite in the same spot (although, to no effect other than reset the fuse and waste dynamite).
Fixed a bug where acid could be malformed (in very rare cases) on randomly generated levels.
Re-adjusted the volume of some of the new sounds.
Made the bomb explosion sound a little brighter and the gem landing sound a little deeper.
Added sounds for exploding monkeys, sapphires getting crushed, player asking monkey to follow/stop, and player dying.
When retrying a level, any previous quicksave is now cleared.
The player now always explodes when he dies, except when moving into acid.
Optimized processing of delayed explosions and various other little things.
November 30th 2020
Adjusted the volume of some of the new sounds.
Made the bomb sound deeper.
Made the dynamite fuse sound slightly longer.
Changed the sound of boulders and gems landing.
November 29th 2020
Changed the sound of the explosions and the dynamite fuse.
Added sounds for moving, digging, and picking up gems.
July 19th 2020
The game now uses my new Game Service instead of its own API.
Fixed a few bugs that would lock the game if the API didn't respond properly (or at all).
February 23rd 2020
By default, Play Created Level now only lists levels that have the "Featured" tag. To list all levels, uncheck the Featured checkbox at the top of the list.
Quitting a level now asks for confirmation.
Completing a level now resets any previous quicksave.
November 9th 2019
Made new graphics for the doors and keys (including two new colors) and the titanium wall.
October 28th 2019
Made new graphics for the fireflies.
August 7th 2019
The player no longer dies on contact with enemies if he's moving.
June 23rd 2019
Made new graphics for the butterflies.
June 22nd 2019
Fixed a bug that caused some diamonds in butterfly explosions to get overwritten by empty explosions on the same cycle. Thanks to Mogens Finnerup for pointing this out.
June 5th 2019
Added sound effect and splash when objects move into acid.
Slightly redesigned the look of the acid.
Refined running animation; the arms are moving more naturally now.
Added player animations when pushing objects (rolling or sliding).
Added player animations when trying to push objects.
When placing dynamite the sound is now played one cycle earlier.
April 26th 2019
Fixed a bug that caused the screen to go black when dynamite exploded behind a closed door. Placing dynamite in an auto-closing door will now cause it to stay open. (It worked like this in Duck Dash. I'm not sure why I changed it.)
The rotation of the playfield is now animated.
April 23rd 2019
The player is now only 150% fat instead of 200% fat when facing up and down.
Added rotation button. When nudged, this (rather violently) rotates the level 180 degrees. I'll probably add an animation later.
April 19th 2019
Added running animation of player (horizontal only). Not completely satisfied with this. May change it to a walking animation.
Added sound effects for picking up keys, picking up dynamite, and placing dynamite.
April 7th 2019
Added a "Forgot Password" button on the "Log In" dialog.
April 6th 2019
The level list on Play Created Level now shows the most recently updated levels first. (The actual sorting was changed server-side about a month ago, but the column header was changed just now.)
The player has been remade and now faces in all four directions (still not animated).
When pushing an object the player will no longer be blocked if the object rolls off of something.
Acid now goes all the way to the edges of rounded walls (in-game only).
Corner walls now have dirt in the corner if at least one of the adjacent tiles is dirt (in-game only).
The game should now stutter less for users with 60 Hz displays.
The randomly generated levels have had the following entities removed for now: Magic wall, growing wall, mud, beacons, ghosts, and monkeys.
February 19th 2019
The high score list is now shown when loading or restarting a level.
Time no longer freezes when completing a level.
February 12th 2019
There's already at least two other games called Duck Dash. The name has also been used for several fundraiser events. To avoid confusion, I've decided to change the name to Buggity Bash™, which seems to be unique (and fun to say).
The code has been converted from BlitzMax to Monkey X, and large parts have been re-written. It's mostly the same language, but the compiler supports more platforms. I've chosen HTML5 as the main one, which means that the game is now playable directly in a browser. It does require a keyboard, so no mobile platforms for now.
The game and editor have been combined into a single program. The best thing about this is that you can now test your levels directly from the editor.
Added tutorial levels.
Changes to the editor:
There's a new Select mode. This allows you to select an area of the level which can then be moved around, flipped, rotated, and copy/pasted.
There's a new Corner mode. This allows you to click a corner of a tile to make it round (left mouse button) or square (right mouse button). This applies to wall entities only.
The Fill mode now has a Multi-Fill checkbox. When this is unchecked (which is the default), the mode will automatically switch to Draw when Fill has been used. This is to prevent you from using Fill by accident, since there's no undo functionality.
Levels can now be published (and unpublished) directly from the editor.
You can now have an online profile. This is required to submit high scores (which happens automatically if you're logged in) and save created levels.
The menus are now mouse-controlled, but there are still some keyboard shortcuts for your convenience.
Removed entities:
Gravity button (and the option to have reversed gravity initially). This was too confusing and also made the code a lot more complex.
Added or changed entities:
Titanium walls can now be rounded as well.
Dynamite can be lit initially.
One beacon can now be active initially.
Doors can be open initially. These can be closed without having a key, but require a key to be re-opened.
The score has been removed. Your rank on a high score list is determined by the amount of gems collected and the elapsed time. This is different from before where it was only worth it to collect excess gems if the extra points outweighed the smaller time bonus.
The settings for generated levels have been removed for now, but they will be back later.
When you die, the cause of death is now shown.
Minor improvements to the graphics:
Dirt now has fuzzy edges and multiple textures to avoid obvious repeating.
Amoeba now has smooth edges.
The growth of amoeba is now animated.
Amoeba turning into boulders or emeralds is now animated.
Gems, keys, and dynamite being picked up is now animated.
Explosions have been completely re-done.
The duck has been replaced by, well, me! (Not sure if this counts as an improvement.)
Added music by legendary C64 composer Rob Hubbard. Not one of the old tunes from the 80s; no, sir, this is from 2018.
December 12th 2013
Added dynamite. This can be picked up and placed by the player. To place dynamite either press Shift or, if you're using a joystick, hold down the fire button for one second without moving. Note that when dynamite is placed it is also lit and can no longer be picked up. It will explode after 1.6 seconds. Dynamite will also explode if hit by falling boulders or bombs.
The gem counter has been moved to the second line from the top and is now placed next to a small emerald instead of "Gems:". This line now also shows the amount of dynamite the player has.
The sound effects pitch variance now has more, uh, variance.
November 9th 2013
Added beacons. These can be nudged to attract ghosts for a period of time.
Game: Your rank on the list of online levels is now updated when you view a high score list. Previously, you had to return to the main menu and then re-enter the list of online levels to view your updated rank.
October 26th 2013
Game: The list of online levels now shows your best rank on each level, based on the name you last entered on a high score list.
October 22nd 2013
Game: Fixed a bug that's been around for a long time but hadn't been noticed until now: An object leaving a magic wall could be replaced by another object moving into the same square.
October 21st 2013
Game: Fixed stupid bug that appeared in the previous version: When playing a level with no time limit, the player would die after 0.2 seconds.
October 20th 2013
Game: The HUD (score and time, etc.) is now visible while entering a high score.
Game: Fixed bug: When submitting a high score with the same details as an existing entry, except for the date, the wrong high score would be highlighted.
Game: Fixed bug: When leaving time warp the player would sometimes freeze for a single cycle, causing more time to elapse compared to moving the same distance without time warp.
Game: Fixed bug: When completing a level the last move didn't count towards the time elapsed.
Game: Fixed bug: It was impossible to do anything at the very beginning of a level and (in most cases) immediately after quickloading.
Game: Added a decimal to the clocks for extra precision.
Game: Scoring has been increased by a factor of 10. Points are also awards for fractions of time left, for example 24 points for 2.4 seconds.
Because of the time and scoring changes, all online high score lists have been cleared. Also, it's no longer possible to submit high scores in previous versions of the game.
October 2nd 2013 part 2
Game: Forgot to include the state of gravity in quicksaves.
October 2nd 2013
Game: You can now quicksave by pressing Home. When you have quicksaved, pressing R will act as quickload instead of retry. If you have quicksaved and want to restart from the beginning, press Shift-R. Note: Quicksaving is free, but quickloading costs 250 points each time.
Game: Added number of deaths to the high score lists.
September 27th 2013
Game: When launching the game it now checks if a new version has been released. This can be disabled in Settings.
Game: Amoeba now grows faster the larger it is. This may need some fine-tuning.
Game: Boulders and bombs can no longer roll out of mud.
September 17th 2013 part 2
Game: Fixed bug that caused boulders to crush sapphires and crack nuts when landing on them directly from mud.
September 17th 2013
Game: Added options to randomly generated levels.
Game: Added time warp. Hold Space to make everything go faster. Useful, for example, when waiting for amoeba to grow.
Game: A little notification will now be displayed when completing a level, dying, or running out of time.
Game: Added scrollbars to lists where necessary.
Game: Re-ordered main menu.
September 15th 2013 part 2
Game: Fixed a bug that would crash the game just before entering a high score on a level with animated objects.
Game: High score entries with the same score are now shown with the same position.
September 15th 2013
Game: Added high score lists to online levels.
Game: Added in-game key H to display high score list.
Game: Changed the look of all menus.
September 8th 2013
Game: Added Load Online Level. This allows you to load a level from the Duck Dash server. I've added a bunch of levels created by my father.
Game: Changed Load Level to Load Local Level.
Game: Added in-game menu when pressing Esc. This also pauses the game.
Game: Added in-game shortcut Q to quit to main menu.
Game: Added a little color to the selected menu item.
August 28th 2013
Added emeralds and sapphires stuck in walls. These can be blown free by explosions.
Editor: Added Tools|View gem statistics. This shows the level's total gem value (excluding gems from amoeba and magic walls).
Fixed a bug that could crash the game on levels with huge amounts of amoeba or magic wall.
August 22nd 2013
Game: Gravity can now be reversed by nudging a gravity button.
Game: Added a few gravity buttons to randomly generated levels.
Game: Sapphires and nuts can now be crushed and cracked only when stationary.
Editor: Added gravity button.
Editor: Added "Reversed gravity" checkbox in Level Properties to allow levels to have reversed gravity from the start.
August 10th 2013
Game: Added Settings menu with Display Mode and Display Resolution. Only resolutions with 32-bit color at 60 Hz are supported. By default the game will run in a window at the highest resolution that's smaller than your desktop (on both dimensions).
Game: Made a custom load menu because the default Windows file dialog isn't rendered when running in full screen. Decided to use it when running in a window as well.
Game: Time Left and Time Elapsed now stop counting when the player dies or exits.
Game: Removed list of controls from bottom right. Will probably be put on a help page at some point.
Game: Removed performance information from bottom left. Can be toggled by pressing D, which also shows amoeba sizes.
Game: Moved level title and creator to bottom left.
Game: Added keyboard delay/repeat to menus.
Editor: The scrollpanel is now resized when starting a new level or opening a level. Didn't notice this until now.
August 6th 2013
Editor: In the Level Properties you can now specify the number of gems needed to open the exit.
Game: The exit will now open only when you have collected enough gems. The upper left corner shows the number of collected and needed gems.
Game: Scoring has changed as follows: Emeralds give 25 points and sapphires give 75 points. If you collect more than you need, you are awarded double points. When you reach the exit, you will be awarded one point for each second of time left.
Game: On randomly generated levels you now need 200 gems to open the exit.
August 3rd 2013
Editor: Implemented Edit|Level properties... You can now specify title, creator, time limit, and magic wall time limit.
Game: Added display of time limit, elapsed time, title, and creator.
Game: Magic walls are now activated independently.
Game: Moved help text to bottom right.
Removed obsolete minimum level size of 4 x 4 when loading levels.
July 17th 2013
Editor: Added Text Mode which allows you to add text to your levels.
Left click in the level to add text.
Right click on existing text to edit.
Drag text to move it around.
Drag right margin to adjust width.
To delete text, either edit it and remove everything in the field, or drag the text outside the level.
Game: Added text rendering.
July 13th 2013
Game: Fixed a bug where pushing anything from inside an auto-closing door would cause it to be stuck open and the player would be unable to enter it.
July 11th 2013
Added doors and keys. Doors open and close automatically when you walk through them (provided you have the matching key). You can also open and close doors by nudging them. A door that has been opened by nudging will stay open until nudged again, allowing anything to pass through.
Game: Dirt is now dug away in a slightly rounded fashion. This also applies when nudging.
Editor: Fixed a few objects being rendered incorrectly in the "Selected" section of the sidebar.
July 9th 2013
Bombs can now sink into mud. If they leave the mud and land immediately they won't explode. This allows you to transport bombs vertically.
Added entities "boulder in mud" and "bomb in mud".
Editor: Widened the sidebar and re-arranged the contents.
July 7th 2013
Changed the title to Duck Dash. Not sure if this is the final title.
Added rounded walls.
Made acid walls rounded.
Editor: Implemented Tools|Check level... This will also be done automatically whenever the level is saved. Here are the current requirements for a level to be considered valid (note that this does not guarantee that the level is solvable; you could easily create an impossible level if you wanted to):
There must be exactly one entry.
There must be at least one exit.
Acid must be properly formed. That is, all 6 of the acid objects must be used together in the same formation as in the editor sidebar, the only exceptions being that the top left and top right parts may be used in any combination and that the middle parts may be repeated.
Editor: Prevented the Grid checkbox from moving around when resizing the window.
Game: The game will now refuse to play invalid levels.
July 6th 2013
Editor: Added Edit|Resize level... to the menu. This allows you to set the level size from 2 x 1 or 1 x 2 up to 400 x 400. Note that very large levels may cause the game to lag depending on the speed of your computer.
Editor: Added File|Exit to the menu.
Editor: Added option to enable grid (from the toolbar).
Game: Levels smaller than the screen are now centered.
July 2nd 2013
Game: Added "Load Level" to main menu. This allows you to load levels created in the editor. Note: If you load a level that doesn't have an entry, the game may crash. So don't do that.
Game: Removed "Entity Test Level" from main menu.
Game: Changed how restarting randomly generated levels works. Pressing "R" now restarts the last randomly generated level, while pressing "G" generates a new level.
Tested to work on macOS Sonoma, macOS Ventura, and macOS Monterey. Probably works on earlier releases as well.
The zip file contains an application that you can put anywhere. It doesn't install anything and can be removed by simply deleting it.
Note: macOS may refuse to run the application. If that happens, right click the application, then click "Open". You only need to do that the first time.
Tested to work on Windows 11 and Windows 10. Probably works on earlier releases as well.
The zip file contains a folder with an application, a pck file, and a data folder. You can put the main folder anywhere. The application doesn't install anything and can be removed by simply deleting it.
Note: Windows may refuse to run the application. If that happens, click "More info", then "Run anyway". You only need to do that the first time.
Tested to work on Linux Mint. Probably works on other distributions as well.
The zip file contains a folder with an application, a pck file, and a data folder. You can put the main folder anywhere. The application doesn't install anything and can be removed by simply deleting it.