What I've done this week
I took the time this week to prioritize fixing outstanding bugs and issues and spend less time on adding new stuff. I do get a little lazy and quite often make a note of something on my TO-DO list and then forget about it. When I say forget about it, I mean purposely ignore. Quite a few things appear minor but will take quite a lot of time - hence forgetting about them until I can be bothered.
Escape Moby Dick
A new feature "Quirks mode" was added this week. While my main goal is to replicate the original Lode Runner Online: The Mad Monks' Revenge as closely as possible, the other goal is to fix the bugs and add new features that are in keeping with the "vibe" of the original. I've had a few requests to include some of the bugs listed on Jason's Lode Runner Archive and considering this project is for all fans of the original Presage Lode Runners and not just me, it sort of 'needs' to be added. You can read all about it on the Quirks Mode blog post.
The other major item added this week was gamepad support. My brother was back from work for a while so spent some time tinkering with his Xbox One controller with Lode Runner.
All tools used by heroes (pickaxe, goo bucket, befuddlement gas, snare/rope trap, all bomb variations) have been rewritten. Some of these tools had occasional stuff-ups and portions of the code were a little dubious after constant changes as more alterations were made to support new features/original compatibility. All of these tools now benefit from performance increases and less code (making them easier for me to add to/maintain).
I will be doing monthly builds from now on (still weekly blog posts). The next one will be at the end of July. More frequent updates means more feedback and the more feedback means I can get rid of bugs and make this project as good as the original.
A name in parenthesis and in bold is the finder of the bug/quirk. Thanks to all, I really do appreciate your time and support. Cheers!
- fixed bug when holding down the adjust settings tool (pliers) crashing when the cursor leaves the puzzle bounds (Lavi)
- fixed issues with selecting a region;
- flipping a region that was selected and not moved, then repainted did not keep the changes
- moving a region back to where it came from, then clicking 'undo' would delete the region just painted
- made some significant tweaks to the player positioning system to;
- reduce overall complexity
- support more accurate player movements
- support better AI movements (stop them doing things in blocks when they shouldn't)
- fixed bug with phase blocks that did not crush a monk waiting on another monk (Lavi)
- fixed bug with players running through phase blocks that are safe to stand on but not safe to run into horizontally (Lavi)
- fixed bug that treated a block a monk was stuck in a hole as a solid block after a monk was killed by a bomb blast (Lavi)
- fixed graphic glitch that caused a monk being incinerated by a bomb to draw above the hole they were in
- when the player(s) run out of lives and the game looses focus, the pause hourglass graphic no longer shows
- added "quirks mode"
- rewrote the ladder moving down code;
- more efficient
- easier to maintain
- added support for players to teleport when entering a puzzle above a teleport - matches original
- pickaxe tweaks;
- now works on the top row of a puzzle (Lavi)
- fixed bug that could put two rock piles over the top of each other
- tweaked monks falling when entering the puzzle above a void
- fixed issue with a monk and hero entering a teleport at the same time (Lavi)
- heroes standing on a monk head fixes;
- heroes no longer flicker back and forth when a monk is moving via an horizontal animation
- fixed distance quirk that could sometimes make a hero wait too long before falling
- made a tweak to stop hero hovering mid-air on certain scenarios, rather make him fall some more to look nicer
- tweaked goo;
- reinstated the goo puddle slipping off a phase block that was added some time ago - recent updates had prevented this from working properly
- made some slight adjustments to improved performance and ready for LAN
- snares/rope traps optimized;
- a disused rope trap left when a player escapes (used a tool or blast for heroes or gassed if a monk) will now disappear when any player that is sharing the same tile vacates it. Previously the snare was discarded after the escapee left. This change matches the original.
- heroes cannot free themselves from a trap by blasting if the block under him has been blasted - this matches the original
- befuddlement gas optimized
- bombs (normal, regenerating, boss/big bombs) optimized
- pick-axe rubble optimized;
- also removed bug that could allow rubble to hover over phase and also fall
- fixed issue of editor shortcut keys sometimes 'bleeding' into the game when trying
- roughed in gamepad support and it's working nicely - using an Xbox One controller to play the game is actually a lot more fun than using a keyboard! I still need to;
- detect if a controller has disconnected and either wait for re-connect or fall back to keyboard
- add support for multiple controllers
- look into why haptic feedback/vibration isn't working properly
- some reading up on the Lidgren networking library in preparation from LAN gaming
What I'll probably do next week
- play/test for bugs
- continue AI improvements
- LAN gaming basics
- completed gamepad support