After Zombie Jumpig I wanted to make a racing game for the Pokitto. Road Fighter is one of my all time favourites, so I started to create a clone (or remake of sorts) of this game.
The original arcade is vertical, so it’s not really suited for the Pokitto (at least without something like the Joystick n’ Rumble Hat) so I looked at the domestic versions. I’ve played a lot the Famicom/NES one in my childhood, but it’s not a really good port, because it lacks two of the six original levels. The MSX port is really nice: it has all the tracks (albeit simplified) and the play area really fits the Pokitto screen (176x192).
So I decided to make a fast mockup to see how the Pokitto version could be, using the MSX version as a reference for the track, sprites from the arcade and a PICO-8 palette:
I liked the result so I started to code something. First, I hacked an MSX emulator I developed some years ago in Java and I extracted the tiles and all the track data from the levels in a big array. I used that data to make a simple Pokitto program (this time in C++) to see if scrolling was fast and smooth enough (using Pokitto::Display::drawBitmap). The result was decent but somewhat slow. I’m going to scroll the screen tile by tile just as the MSX version, so I just created a hacky function to draw 8x8 tiles with no transparency and no checks (bonus: also saving two bytes in every tile):
void fastTile8x8(int x, int y, uint8_t* tile) {
uint8_t* scrptr = Pokitto::Display::screenbuffer + ((y << 3) * 110) + (x << 2);
for (int i = 0; i < 8; i++) {
*(scrptr++) = *(tile++);
*(scrptr++) = *(tile++);
*(scrptr++) = *(tile++);
*(scrptr) = *(tile++);
scrptr += 107;
}
}
You can see the result in this video. The default scroll is done with drawBitmap and when I press A I use my function to redraw the tiles
My next step is developing a tool to recreate the stages (they will be similar but not 100% equal), and also improving the tiles now that I don’t have MSX limitations to create the art (two colors per line).
This is the scroll test if you want to “play” with it (there is some garbage at the end before looping).
scrollTest.bin (158.3 KB)
Update: A beta with no sound, all data for normal levels and some data for hard and mania.
RoadStarBeta.bin (210.2 KB)