Thursday, 14 March 2019

RetroChallenge 03/2019: Miner Working

I got the enemies working. Some interesting compromises had to be made to maintain speed. The bat basically patrols the top 3 levels. The boulder bounces on the bottom level. And the snake lurks on a random ladder. It climbs up and down at random intervals adding a little complexity to the player's navigation decision-making. The other two appear randomly from either side. The snake will eventually speed up as you proceed through levels. The other two monsters will also speed up as you go.

Some other surprising features emerged spontaneously as I worked out player movement. You can't move through enemies (a mistake), but then I realized that this allowed for some quirky player dynamics. If you jump up just before getting hit by the boulder you can end up jumping on top of it and possibly running over it.  Just don't fall in front of it or it will roll over you.  You can rest by standing on ladders between platforms and use these refuges to plan your strategy.

Solved the problem with the platforms not always providing a complete path to all the gold. You can plant a few ladders of your own, 3 per level, to make a path. Had to finesse the gold planting routine. It prioritizes planting on upper levels, but will sometimes plant one on the lowest level so that you have to play footsies with the boulder. After every 5 levels you get an extra gold up to a max of five.  Each gold is worth a 100 more than the last one retrieved, so there is some incentive for cleaning a level of its gold.  If you don't collect at least 2 before each fifth level, you don't earn an extra life.

My son Charlie composed a nice SOUND command routine to play "Hall of the Mountain King" from Edvard Grieg. This was the in-game refrain from the original Manic Miner. It gives the player a chance at the beginning of the level to plan initial strategy. I also added a variation of the original game's loading screen.

Not sure what is left to do. Asked Charlie to give me some suggestions for some refinements. Here is what he said:
  • anyway I played it for a bit and got a score of 5200
  • the jumping is the best mechanic
  • the animation is smooth so it's very usable
  • I also like how the arms move for it
  • at one point I was a bit annoyed since I couldn't place a ladder down while I was on a ladder, but that's minor
  • or should I say miner 😉
  • also a couple times a snake sat on the exit for a while, which was annoying, but on second thought it sort of made things interesting since I just ended up jumping over boulders for a bit
  • map generation is good
  • only recommendations I can think of for now would be to add labels for the numbers on the bottom, and to maybe add a time bonus for each level (there's a timer and you get extra points for any time left when you finish the level)

Tried labels, but they created a conflict with my key polling and peeking routines, which both use an array K(255), to store codes for using with ON/GOTO commands. Don't want to declare a separate array because each variable brings speed down.  People will just have to figure out the arrangement of numbers: SCORE, LEVEL, BRIDGES,LIVES.  Also don't think a timer is really worth it, as most screens can be completed fairly quickly.

Source can be found on Github:

No comments:

Post a Comment