I'm happy to report that network gaming is complete. And when I say "complete", I mean the actual playing of games. Obviously, some more fine tuning is required such as out of sync checks, better disconnection detection and a lobby needs to be added (and will be shortly).
The rest of my time this week went into making slight improvements here and there and fixing bugs that popped up. One thing fellow project tester Leandro discovered was a flaw in the original - and this project. If you look at the picture of the 1st puzzle below, you can see I've got 768 points. I did that without cheating. Collect all the gold but don't exit the puzzle, save and reload the game. Rinse and repeat.
This isn't really a bug, just something that the original programmers never thought of and didn't take into consideration. Not everyone plays for points but some do and it isn't fair on them if it is easy to manipulate the game to get on top of the scoreboard. This Lode Runner Online: The Mad Monks' Revenge fixes this bug to make the game fair.
768 points in the 1st puzzle without cheating...hmm....
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!
- if you paint a tool over the top of another buried tool, the block is no longer removed thus preserving the buried state. Painting the tool a second time will remove the block as before.
- gamepad force feedback when crushed added
- you can now adjust the game speed by holding down the speed button buttons (F5, F6, and the shortcuts) - this matches the original
- fixed bug that allowed a monk to instantly climb out of a blasted hole if YOG mode had been previously enabled
- fixed race-condition bugs with multiple runners when blasting or using tools
- fixed bug that showed the single player interface when launching a two player game
- fixed bug that caused buried/stolen treasure to turn into a static runner (Leandro)
- modified bombs to match original;
- you can now set off a bomb when caught in a rope trap
- buried regen bombs no longer show as the editor tool palette version (bug)
- buried/bombs drop in phase/blasted blocks no longer draw over the top of a block if it is visible
- big bombs draw behind players when lit
- big bombs no longer destroy any kind of regenerating bomb or big bomb
- if you drop a tool after collecting a regenerating bomb, the bomb will not come back again until the tool is moved
- fixed bug that caused multiple blocks destroyed by a small bomb to come back with a mismatching edge
- fixed bug that would not restore blocks destroyed by the same bomb in-sync
- the sound effect that plays when the puzzle is completed no longer plays if the puzzle had no gold in it - this matches the original
- improved pick-axe to enable players to be buried under rubble instead of stopping - somewhat matches the original but looks better visually
- fixed bug that allowed a monk to climb out a blasted hole when the block they are climbing out towards is healing back - monks now go back to the last stages of the fall into hole animation - this appears to match the original (Leandro)
The monk on the left aborting his climb
- core gameplay complete
- significant bandwidth saving measures added;
- 44% reduction in data sent from host to clients (per player)
- 49% reduction in data sent from client to the host
- these figures are averaged over 25 tests of the same puzzle before and after
- pre-work/support added when a proper game lobby is created
You're probably thinking "bandwidth saving...what's that about for LAN?" and you'd be right but I figure that the only difference between a LAN game and an internet game is the internet. The internet does need bandwidth measures. Why not do it now and be done with was my philosophy.
Saving network games has been added. Games can be saved in two ways; manually save the game by clicking the back button (until a proper in-game menu is added) or if the game drops out for any reason. If the host of the game exits unexpectedly, then the client(s) will save the game and a copy of the puzzle. The same goes for the host if a client(s) drops out.
This means either the original host or any of the clients can resume a game later on if they choose to instead of the host and without the use of online storage (read: "cloud" if you are under the age of 30). Clients will save a copy of the puzzle in the PUZZLES\WEB folder.
- updated FNA engine to the latest build
- improved tooltip position so mouse cursor no longer blocks some text (fixed by Gareth)
- fixed bug in file dialog that would not name duplicate files correctly if they started with numbers
- replaced the contact form on this blog with Formspree
Bugs being worked on
- nothing, yay!
- fall-back to keyboard input when a gamepad is unplugged during a game
- working scoreboard
What I'll probably do next week
- continue playing the game
- finalize LAN gaming
- mockup a lobby interface for network games