Hedgerow is an arcade style game where you play as a little white duck wandering through haunted hedge mazes. Your goal is simple: collect all the keys and open all the gates without getting caught by a ghost. Getting caught by a ghost will cost a time penalty, but you're given a few bubble shots each round that will freeze any ghosts they hit. Hourglasses are scattered across the stage which you can pick up to increase your remaining time. There are also wormholes which will warp you to different parts of the maze. Be sure to grab any tasty fruit you see for additional points, and every so often, you can play a bonus stage to further boost your score by collecting coins!
This is still in development so there may be some bugs, especially with generating levels.
Keyboard style 1 (default): SFED for quick hops, cursor/arrow keys for smooth movement
Keyboard style 2: cursor/arrow keys for quick hops, SFED for smooth movement
(Deprecated) Gamepad style: Tap d-pad for quick hops, hold for smooth movement
(The control style can be changed in the menu)
Hold Z/W and tap directional keys (useful for shooting around corners)
Smooth movement will also use hops instead when aiming.
When standing in a portal, release all buttons then press:
Z to cancel portal operation
Left cursor/arrow key to go counterclockwise in the portal loop
Right cursor/arrow key to go clockwise in the portal loop
Thank you to Grumpydev for the persistent high scores code snippet!
- Massive code overhaul including rewriting the controls again (now utilizes the adjustable autofire delay to allow use of the default APIs)
- Removed Gamepad control scheme
- Interacting with portals now allows some control over destination (or whether you even want to use the portal at all)
- Stage exit is now always visible, but still only accessible when all keys have been collected and doors opened
- "Par time" for each level has been adjusted to account for changes in movement
- Number of coins now scales better with the size of the bonus stage
- Time allowed in bonus stage adjust to account for changes in movement and number of coins
- Number of enemies has been adjusted so that larger levels are more populated
- Number of shots has been fixed to twice the number of enemies
- Various fruits have been added as an additional source of points in each regular level
- Added indicators when a park/room contains keys/doors/hourglasses/enemies/fruit
- Removed game over screen
- Replaced level transition/pause with a fade out/in of the level and a results screen
- Added bonus level that appears once every 8 stages
- Added time bonus for completing levels quickly
- Renamed levels/rooms to parks/plots and colored score blue
- Smoothed player movement
- Added smooth movement and three control schemes (keyboard styles 1 and 2 and gamepad style)
- Teleportation now runs at a consistent speed rather than taking the same time regardless of distance
- Added animation to ghost movements
- More lenient with door placement so more map configurations are considered valid
- Removed inaccessible doors
- Fixed some issues with level generation
- Animated the wormhole sprites
- The camera now pans from the wormhole you entered to your new destination
For an action game where the enemies move whether you do or don't, I would definitely consider not having fixed grid movements, @amatkins but move per pixel. Here is an example:
Notice you can move diagonally to enter corridors and rooms. The RED at the top shows collision values.
Given the way the game plays I think locking the character to a grid makes sense -- it's not like the player has anything to gain by moving only half a tile. Moving one pixel per input can also cause headache with turning corners.
Although it would be nice if the duck moves to the next tile more smoothly, as it looks a bit choppy. Maybe something like this, it's from one of my WIP projects.
if btn(0) and p.newx==p.x then p.newx-=8 end //check collision against p.newx //if can walk: if p.newx < p.x then p.x-=1 end //sprite moves one pixel per frame and stops after arriving at the destination //if can't walk: p.newx=p.x
How about a compromise, @katiusza. Let me see, new code.
Use arrow keys to move. Notice how he always stays in the grid yet can still move smoothly around. Something like this is what I really had in mind for your kind of game, @amatkins.
Thank you for the feedback dw817 and katiusza! I have something like that implemented already for the bubble shot so I can try adding it for the player and enemies as well. This is a fairly early version so it's still pretty rough, but I think bits of polish like that will help round it out!
Alright, @amatkins. This is definitely better. And playable. The music between levels reminds me of the opening pieces for Chew Man Fu for the Turbo Graphics system.
In any case, quite the improvement. Very playable. Your first gold star, duly earned.
I don't mean to be the bearer of bad news, @amatkins, but it is entirely possible to get stuck. Not from lack of keys but places to travel.
I got into one place where there was a warp to an empty place, nowhere to go, I warped back and it also led nowhere. It was at the start of the 2nd level.
I was playing online so there is no way to record the video. I hope you know where I was talking about. Can you confirm all warps and rooms do not dead end and lead back to each other ?
@dw817 unfortunately, because every level is procedurally generated, there is no way of knowing what specific layout you had. However, in theory, every room should be reachable by a door and every room should contain a key that can open those doors. Thank you for the heads up, I'll have to keep an eye out to make sure that the door placing logic is correct to establish those connections in any given configuration.
[Please log in to post a comment]