Name: | Lady Beetle |
---|---|
Version: | 0.0 |
Author: | Bernhard Mueller and Dennis Payne |
License: | MIT |
Operating System: | Linux, Windows, and Mac |
Lady Bug
Lady Bug released to arcades in 1981. It was a maze chase game like Pac-Man but with movable turnstiles to allow you to alter the maze. I was never much of an arcade player. I didn't see the reason to keep paying to play a game when you could get a game on a console and play forever. So I never experienced it but a remake for the Love engine caught my attention.
Bernhard Mueller used some work from Cosimo's earlier attempt to recreate the game in Love. The code was very clean and successfully recreated the arcade. I found it odd that the player gets blocked if they are slightly off when taking a turn. That was apparently in the original as well but based on videos I found either it didn't happen as often or the player was better at the game than me.
Two Player
Lady Bug was a single player game. I decided to add a two player simultaneous mode. The game has a well defined state machine. It starts on the title screen and can switch to the high score screen or the play state. When switching to the play state it passes in arguments like number of lives. I added a new argument for number of players.
To support this I had to update the entity manager. It had several lists of objects. The player was originally a single object but I changed it to a list. At this time the players shared a single set of lives and score. The quick implementation had several other limitations. There was also no visual distinction between the players and the monsters didn't chase the second player.
Fixes for the last two problems were developed but addressing lives and score were more difficult. Logically lives and score should be moved into the Player class instead of being in the state data. Unfortunately the Player object would be destroyed every state change or after player death. Initially I tried keeping the Player object and resetting data like current position on death. Understanding what needed to be reset proved more complex than expected.
Rather than continuing to squash bugs, I rethought the approach. I left the Player object unchanged and introduced the PlayerStat object. It would be passed between states and store the player's lives and score. Sometimes a new approach is easier than blindly continuing down a path.
With scoring split, determining new high scores needed fixing. Previously when you got a new high score, you would enter your name with the keyboard but that restricts you to entering one name at a time. I modified the screen to allow you to alter the letters using up and down and move right to get to the next position until you enter three letters. Unfortunately this isn't as fast as the keyboard.
Graphics
The original developer used graphics taken from the arcade machine. While great to recreate the game, it posed copyright issues. Like my work on Mojotron: Robot Wars and Gateway Jump, I started replacing the graphics. I performed this a little differently than those previous attempts.
First I picked a palette from lospec.com. All artwork would be created with this palette or altered to it. The game characters are all bugs. I looked on opengameart.org but there was no good collection which would match in style. I opted to create my own pixel art for the bugs. Most of them are designed to look similar to the original artwork. Although the one named idontknow.png turned into an ant.
At the center of the maze, there was a fruit or vegetable. For those I did start with images from opengameart.org. Despite the variety of foodstuff in the collection, I ended up creating a fair amount.
Future
The maze is still the original from the arcade. I don't know if there were additional mazes in the arcade or if it repeated like this version. The game ran with a screen taller than wide which is not current landscape of home computers. Ideally a new wide maze should be created.
Other minor enhancements could be made. It would also benefit from having a key configuration and support for joysticks. Achievements could be added for getting to the extra and special screens. Overall a great creation to help expose people to older games.
Comments
No comments yet.