It’s Not Easy Surviving the Waters in This ZX81 Game
My attempt at a Frogger like game on the ZX81, Sea Cross is much harder than I intended.
A bit cliche by 1985, but I was obviously still playing Frogger and the clones it spawned. With all its dodging and moving, the game is classic for good reason. Even in modern times, it has spawned the likes of Crossy Road and other in spirt games. My own attempt, called Sea Cross, finds you trying to get your family safely across the water and home. I doubt you’ll be able to.
# Saving a rather large family.
Making your way across the sea isn’t easy. The logs move across the water, making it a challenge to cross. Some logs bob underneath the water and others transform into dangerous creatures. Each adds to Sea Cross’ difficulty. Even worse, you have limited time as well. This isn’t going to be an easy game.
Using Z and . to move left and right, X and M to move up and down. Sounds easy enough, but you have a few things against you. Besides the challenges above, the controls are a bit wonky. By dumb luck, you might get one or two across in time. I struggled to get past the first. Getting eight saves to clear the level near impossible. If you can make it, I’d love to hear it.
Pouring salt into the difficulty wound, you only score if you clear the board. Yep, if you want those 100 points, you have to earn them. Unlike my other games where each step was worth something, Sea Cross goes to the extreme of not giving any.
# Those logs look nice.
More of a study in game mechanics, Sea Crossing looks better than it plays. It may not have high resolution graphics and pretty colors, but the game is still fun to watch. The moving logs have a fluidity to them that is quite mesmerizing. If you’re trying to beat the game, it is worth spending time watching the pattern and timing.
The code of the game makes good use of string manipulation. The graphics are built using a two dimensional string. Each dimension contains a version of the story board. Both are manipulated together to keep them in sync. Speed isn’t an issue, as string routines are fast. A variable keeps track of which board to display.
The rest of the code is devoted to movement and collision detection. The movement code happens before the logs do. Both happen before the collision detection. As such, there is a lot of time between movement. The lag and lack of responsiveness is what undoes things. Reworking this code would be of first priority.
# Fixing a few more things.
I had two listings for Sea Cross. There weren’t huge changes, but I’d fixed a couple of bugs. Reviewing the code, there are a ton of things I could have optimized. There is duplicate code and obtuse branches that could be reduced and streamlined.
Even so, much of the code is sound, including the string routines. Although, slowing down the movement would improve the changes. I could see adding half step the routines to make the jump between the two less obvious. I’d need to test to see how well it would work, but the idea is sound.
# Mulling over a few improvements.
That said, the game could have been so much more. Besides fixing the lag and score, the timer is a bit of a mystery. I would have liked to have added a timer line at the bottom — printing a number would have been too slow. This could also have improved the difficulty a bit as I could have varied the timer between levels.
Another add would have been lives. On top of it all, you only have one. Adding a few more would have leveled things out a bit. After fixing the score or getting home, I could have added bonus lives. Both options would have made the failures more bearable.
One final thought is to reduce the number of saves. Eight is a lot, especially at the start. The game checks if you hit a house, so it would be easy to use a variable for the number of homes. Doing so would speed up the early levels and provide flexibility later in the game.
# If only what could have been.
Sea Cross is a good start of a game. The spirt is there, if not quite the execution. With a little cleanup, it could have been a much better. Hindsight is always a bit better 35 years later.
Originally published at https://www.reids4fun.com on March 30, 2020.