Paradroid Transfer game
After some time, I started to wonder about Paradroid again. The droid transfer game looks like a nice challenge. The kernel looks pretty busy, the level creation and evaluation seem complicated too.
I started with the kernel and soon found out, that a simple score mode kernel (color #0 left, color #1 right) won't work here due to the so called "blockers" with the opponent's color. Those are displayed on the "wrong" side. After some experimenting with variable mid-scanline color changes, I found a pretty elegant solution, using mid-scan line score mode changes.
Depending on if and where the blocker has to be displayed (using PF graphics), the kernel is using two switches:
- if the blocker is on the left (color #1), the PF color is set to color #1, score mode is disabled ~cycle 38 and enabled again ~cycle 58 again.
- if the blocker is on the right (color #0), the only change is, that the PF color is set to color #0.
- if there is no blocker, the score mode stays enabled all the time
After this problem was solved, everything else until now, was pretty easy.
To allow variable levels, I had to analyze the possible level layouts and was able to limit the possible combinations to 72 per row and side. That allows a ROM table driven main display kernel with minimal RAM usage (12 rows, 3 bytes each).
So the next step is the level generation. This might become quite complicated, because there are some rules to follow and because I have to find out how pattern x migrates to pattern y if I add an element to a row. This will be fun!
Anyway, here is what I got so far. Just a static display, but it is a start. I am not 100% happy how the blockers, terminators and auto-pulsers are displayed (maybe twice as high colored?). So feel free to make suggestions.
I added an original C64 screenshot to compare.
1 Comment
Recommended Comments