Hey,
I'm currently develop Sparkydash, a Boulderdash clone, for the Delta Engine.
GameplayThe gameplay of Sparkydash is as simple as the original Boulderdash's one. Collect the required amount of diamonds that are placed
within a level to open a door (goal) under time-pressure (varies from level to level) to proceed to the next level (11 at the moment). If you have completed all levels you win.
- Boulders:
One of the main element of boulderdash-like games are boulders. Boulders are elements that fall down
if no "mud", "wall" or other "boulder" field are below them. They only fall, if the direct field below
them is an empty field. But a boulder also falls, either to the left or right bottom, if the left or right
fields are empty AND if the next field under the left or right field is also an empty field.
If a boulder falls onto the player he dies and must restart the level.
But you can use boulders as a weapon against enemies. If a boulder falls onto an enemy he is destroyed
and an explosion occurs. The explosion destroys everything in a 3x3 radius around him
(including the player). If this explosion destroys a boulder, the boulder is replaced by diamonds.
- Diamonds:
The player must collect a specified amount of diamonds to open the goal on a level.
Diamonds have the same physics as the boulders with the only difference that the player actual gets points
for collecting diamonds. If a diamond falls onto the player, he don't die as in the original boulder dash.
In this case the diamond is just collected and the player gets the score.
- Enemies:
There are three types of enemies in Sparkydash: Left walker, right walker and the persecuting walker.
If a walker catches you, you lose and must restart the level.
- Left walker: The left walker tries to always move to the left field. If this is not possible he
tries to walk to the field below him. If that's also not possible he tries to move
to the right field next to him. He basically moves counter-clockwise.
- Right walker: Almost the same as the left walker with the only difference that the right walker tries
to move clockwise.
- Persecuting walker: As the name suggests the persecuting walker hunts the player on the shortest
path possible. He is implemented with help of the A* algorithm. That makes
him pretty intelligent.
- Multiple levels
Sparkydash is initially delivered with 11 levels. But new maps can easily be added or the existing ones
can be modified.
- Time
You have only a limited amount of time to complete a level.
- Different walls
Aside from the normal walls, there are two other types of walls with special functionality. The first
transforms a boulder to a diamond and the second transforms a diamond to a boulder.
- Online high score
Perhaps, I implement an online high score later!
MapsSample map:
Code:
0
2500
0
90
########################
#...@...$...#...$....".#
#...........#......#####
#####$......#......#
#...$...#...$..#
#..............#
################
Every map file contains the following data:
- current score (first line)
- required score (second line)
- elapsed time (third line)
- max time (fourth line)
- map characters (40 lines)
The current score and elapsed time is only saved, because I plan to implement a "load game" feature.
Required score and max time should be self-explanatory...
Let's check out the allowed map characters:
Code:
@ = player
# = wall
. = mud
$ = diamond
* = boulder
= empty field
" = closed goal
' = open goal
< = left walker
> = right walker
! = persecuting walker
~ = diamond to boulder wall
% = boulder to diamond wall
If you try to create your own maps the only thing you must follow is the 40x40 map boundary.
I also plan to implement some syntax and semantic checking for the map, so only one player / goal
are permitted in a map etc.
ScreenshotsThe graphics are only placeholders!
DownloadBinaries: [COMING SOON]
Source Code: [COMING SOON]
Keyboard SettingUp / left / down / right: W / A / S / D
Esc: Exit game
So long,
Marc
Edited by user Thursday, September 3, 2015 11:11:53 AM(UTC)
| Reason: Not specified