Week #25 and #26 update

What I've done this week##

Welcome to another bumper two weeks worth of updates! What is the reason for this combined weekly post? The same as the last one really; a week with reduced development time and travelling. Fear not though, loads and loads did get done - enough to add the bumper post tag to this post.

Test collage
2560x2000 pixel bitmap of errors and animation tests for heroes

The AI for the monks in Lode Runner Online: The Mad Monks' Revenge has been somewhat a thorn in my side for many months now. It's one of those things I keep putting off and putting off because I dread it and the time it will take. The first half of week #25 marked the second week of working straight on the AI.

You may remember that two weeks ago I said I abandoned the original and week 24's attempt at AI and started again... that lasted two days. Well, one and a half really, with one day off and half a day producing an AI attempt that didn't remotely match the original. After many hours thinking non-stop and playing the original game, I decided my 2nd attempt was very close and worked out how I could improve upon it. This actually turned out to be an excellent AI with only one downside: it didn't match the original. Since that (as you'd agree) is a major no-no, I went back to my original method and made a whack of sweeping changes to path the way for much easier tweaks. Not a lot of this work will be visually evident in the current download but rest assured that I am working on the AI constantly from now on.

AI is a very tricky thing: either we want something that matches the original or something that is close to the original but yet playable but without the original AI code from Lode Runner Online: The Mad Monks' Revenge we can't have a game that is 100% identical to the original.

Last weekend I went to Newcastle to visit my brother. This turned out quite good for Lode Runner since we mostly tested two-player mode and found several bugs that needed fixing (and fixed two of them together). The rest of the time was spent playing Geometry Wars 3 on his Xbox One and watching films on Netflix. It was just like old times except instead of me being the co-pilot and my brother taking the lead, I got to be the pilot. I'm talking about fixing the bugs in Lode Runner by the way, not Geometry Wars.

Please head over to the downloads page and download the latest update of Lode Runner. When fixing a bug/quirk, occasionally I do break something existing or introduce something else. I do lots of testing to make sure this doesn't happen but unfortunately some do sneak in through the cracks. Remember: if you find a bug, something odd or something that isn't supposed to happen and didn't previously, please let me know.

A name in parenthesis and in bold is the finder of the bug/quirk. Thanks to all, I really do appreciate your time and help. Cheers!

Editor

  • dropped the "align toolbox to the right" feature that was introduced in week 24 as, to be honest, it would have to be one of the most useless features I've ever thought of. It's been replaced with something much better;
  • the position of the toolbox will save on exiting the editor and will load in the same spot next time
  • double-clicking on the toolbox border (same area when moving it) will reset it back to the default position (top+left)
  • this is very handy repeatedly testing and tweaking a puzzle that is being obscured by the toolbox
*Needless demonstration of the toolbox keeping its last position*
  • the following editor quirks where found and fixed by Gareth (my brother/co-developer)
  • fixed bug that caused the toolbox to be left behind when dragging the toolbox quickly
  • fixed rare bug when pressing an UI control and the Escape key at the same time caused the main menu not to have focus
  • dragging windows will no longer show tooltips of the controls it is hovering over
  • if you were using a paint tool (brush, line or block) before selecting a tile with the eyedropper, the editor will now go back to that tool instead of to the default brush
  • selecting a region/cut/copy/paste rewritten for better performance and to add new features - you can read all about it on the post
    "Cut/copy/paste - now with flipping"
*Save time using mirroring*

Game

  • the bug identified by Rick and The Wing from week 24 regarding players jamming when doing multiple key combinations while swapping ladders that I fixed was still present. I've fixed it again so this time hopefully it stays fixed.
  • tweaked the loading and unloading of puzzles
  • rewrote the hero entry pausing which reduced quite a lot of code (more complex than it sounds)
  • fixed bug when a hero collected a regenerating bomb and tried to put it down (you can't drop bombs or regeneration bombs)
  • fixed bug in two-player when blasting a block that has a monk standing on top of it
  • players that have been gassed now die when caught in a bomb blast instead of being immune
  • fixed bug that allowed heroes to collect gold & bombs when standing on a monk in a hole
  • fixed bug that allowed a player to drown instead of swapping to a ladder
  • improved the overall accuracy of monks eating heroes;
  • added support for heroes to run over a monk falling into a hole if the monk is mostly in the hole or eat him if he isn't (matches original)
  • eating a hero using tools benefited most from this modification
  • these changes also resulted in a slight performance increase
  • fixed quirk that occasionally prevented a monk from drowning instead making him stand in the liquid
  • fixed ladder bug that caused a little animation glitch with a left/right key 'queued';
  • climbing a ladder and swapping to a monkey bar at the top
  • climbing a ladder and swapping to another ladder at the top
  • climbing a ladder to the top
  • tweaked the monk falling directly down into a blast hole animation to play the last three frames of falling into a hole;
  • he also falls further into the block to stop the odd jerking/snapping into position visual you see
  • doesn't affect timing for gameplay as far as my testing can tell
  • looks far smoother than the original

Original on the left and the new on the right

  • fixed bug that caused the game to crash when hero collected a tool (one-time tool such as goo bucket), dropped it and then died
  • fixed a recently introduced bug that allowed a monk to climb out of a hole that has a hero standing on top of him
  • performance boost + code reduction in related helper functions
  • fixed bug that allowed a monk to fall into a hole already occupied by another monk
  • performance boost + code reduction in related helper functions
  • when skipping to another puzzle a refreshed puzzle will load instead of the altered puzzle (from previous playback) that currently loads
  • you can no longer cheat, skip or restart puzzles whilst the game is paused
  • fixed bugs with YOG monk control that;
  • allowed Wes Reckless to move at the same time as a monk
  • stopped Jake and Wes from moving when monk mode was turned off
  • fixed bug that allowed a player to descend a ladder to far and end up in a wall;
  • this has been present for a while now I believe but took a while playing the game to find the right scenario that could be constantly replicated in order to find and fix the bug

Player down ladder into wall bug
A monk allowed to go to far down a ladder TOP and the end result BOTTOM

General

  • updated the FNA engine to match the latest copy;
  • GitHub is still very foreign to me so I don't do this as often as I should
  • by 'foreign' I mean 'no idea about' - it's like reading the French directions on a shampoo bottle: you get the overall gist of it despite the most rudimentary French language skills
  • GIF animations will now be HTML5 videos - say goodbye to a 300kb GIF and hello to 30kb videos!
  • improved error logging;
  • all-in-one error log the contains an XML log, PNG screenshot and the puzzle you were playing (if any)
  • the file name of an error log is now in the format of MONTH-DAY-YEAR-TIME.errordump
  • tweaked player positioning system to support better AI - this does not affect the gameplay otherwise

What I'll probably do next week

  • play/test for bugs
  • rework AI
  • experiment with gamepad support (joystick replacement)
  • start quirks mode support