Rolling Thunder MD - Alpha
A downloadable game
Public Git (you will need your own rom): https://github.com/rester159/rollingthunderMD
Hi, and thanks for stopping by! I’ve taken a short break from Capcom. We’re still on good terms; I just thought I should see other arcade companies.
This time it’s Rolling Thunder, one of my favorite arcade games of all time. I love its look, its deliberate approach to action, and its absolutely fantastic soundtrack. You have to watch the enemies, use the doors, manage your ammunition, and know when to move. Usually, I remember that last part just after getting shot.
The Genesis received Rolling Thunder 2 and Rolling Thunder 3, but never the original. That always felt like unfinished business. So, now that’s fixed!
For all of the haters of soulless AI-assisted port, I tried to show human love... Alongside bringing the original across, I’ve tried to add as many new features as possible. I wanted there to be something here for people who already know the arcade game inside out, too.
The additions I’m most proud of are two-player co-op with a playable Leila and Survival mode. Both have taken a fair amount of work and optimization, and seeing them running on the Genesis has been a treat.
This is still a development build. There are things to improve, and I’d love your help testing it.
WHAT’S IN THE GAME
- All ten arcade areas: both stories of five areas, with stage transitions, ending, and high-score entry.
- Arcade and Home modes: the original solo experience and a separate home version with the additions.
- Two selectable agents in Home: Albatross and Leila Blitz. Either can be played solo.
- Two-player co-op: both agents on one screen, with extra enemies and more frequent attacks.
- Survival: an ongoing run built from sections of the first area, with increasing enemy pressure.
- Music and sound effects, plus a 13-track sound test.
- Adjustable starting credits and automatic continuation in Home mode.
TWO WAYS TO PLAY
The logic behind the split is simple: Arcade aims for a 1:1 recreation of the arcade game. Home adds player selection, two-player co-op, and Survival.
ARCADE
Arcade follows the original solo mission as Albatross: the arcade’s enemy population and attack cadence, lives, checkpoints, continues, and high-score entry. Keeping that experience faithful is the goal, and differences from the original are things I want to find and fix.
If you remember playing the cabinet, this is where to start. Watch the doors, keep an eye on your ammunition, and try not to rush straight into the next bullet.
HOME
Home offers PLAY, SURVIVAL, and SETTINGS. Choose PLAY for the campaign, select your agent, and go alone or have a second player join on the selection screen.
You can choose between one and nine starting credits, with six as the default. In co-op, those credits are shared. If one agent goes down while the other is still standing, a credit brings them back beside their partner, with roughly three seconds of flashing protection.
It keeps the action moving, although your friend can now spend the last credit. Choose your partner carefully.
TWO PLAYERS — AND A PLAYABLE LEILA
This is the addition I’m happiest about.
In the original game, Leila is waiting to be rescued. I wanted to give her the chance to take part in the action herself, and to let two people tackle the first Rolling Thunder together.
Her look is modeled after the Japanese cover of Rolling Thunder 2, with pink hair and a red outfit. The gameplay artwork draws on Leila’s sprites from Rolling Thunder 2, with additional animation work for the actions she needs in the original game.
Getting her walking and shooting was only part of the job. She also needs to crouch, jump between floors, use doors, climb stairs, take hits, and look right alongside Albatross. Some animation details still need refinement, but I’m very proud of having her playable here.
Both players have their own movement, weapons, ammunition, and damage state. They share the camera and credit supply. Either player can take Leila, with the other playing Albatross; she’s also available for solo Home play.
Co-op targets 50% more enemies and 50% more attack opportunities, subject to the engine’s enemy limits. Movement speed and damage stay unchanged. The idea is to give two agents more to deal with while keeping the familiar rhythm of the game.
SURVIVAL MODE
Survival turns the first area into an ongoing run. After the opening section, the game chooses compatible pieces of the original level and joins them together as you advance.
The scenery, collision, doors, and enemy placements all have to fit together. The layout avoids recent repeats where suitable alternatives exist, and enemy density and attack pressure increase as you progress. There’s no normal area exit or countdown ending the run.
In solo Survival, losing a credit brings you back in the current section. Two-player Survival adds the co-op reinforcements on top, which can get busy very quickly.
This is a mode I’d particularly like feedback on. Does the pressure build at the right pace? Do the layouts stay interesting? Is it difficult in a fun way, or does it become too crowded? More people playing it will help answer those questions.
CONTROLS
- D-pad: move and crouch.
- A: jump.
- B: fire.
- Up: interact with doors.
- A / Start in menus: confirm. B: go back.
- Start during gameplay: pause
- Player 2 A / Start on agent selection: join.
Settings includes a controls reference and the sound test. In the sound test, Left and Right select a track, A or Start plays it, and B returns. C toggles the PSG parts if you’re curious about how the music is put together.
PORT BEHIND THE SCENES
The arcade board and the Genesis organize their work very differently. The arcade splits its jobs across multiple processors and dedicated hardware. This version runs native 68000 game code, with a custom Z80 sound driver handling the level music and sampled audio.
The original arcade programs and data are the reference for how things should behave. The challenge is making those behaviors run efficiently on the Genesis.
One lesson was that native code can still waste a lot of time if it keeps doing things the arcade hardware’s way. Interpreting arcade-style data and converting it into Genesis graphics every frame leaves less time for the actual game.
Much of the work has therefore moved into building the ROM: preparing maps, collision information, sprite layouts, and graphics in forms the Genesis can use directly. The current build uses a 32 MB banked ROM, accessing different portions of the cartridge as needed.
That gives me space for the data. It doesn’t give the console any extra processing time or video memory, so those still need careful budgeting.
GRAPHICS
The levels. Scenery is prepared as Genesis tiles and maps. During scrolling, the engine updates the strips entering view instead of rebuilding the entire scene.
The colors. The Genesis has fewer colors available than the arcade hardware. Palette conversion has to preserve the look while keeping agents, enemies, and bullets readable against the backgrounds.
The characters. A character can use several hardware sprites. Two agents, a crowd of enemies, and their projectiles quickly add up. Preparing poses in advance and reusing graphics already in video memory reduces the work during play.
SOUND
The soundtrack deserves its own section. It’s one of my favorite things about Rolling Thunder: memorable melodies, that wonderful spy-film atmosphere, and just enough swagger to make you feel competent until the next Masker shoots you.
The level music runs through a custom Z80 sequencer that translates the original music commands for the Genesis’s FM and PSG sound chips. The console synthesizes the music as you play. Sampled sounds use its digital audio output.
Music, effects, and graphics transfers all need to share the hardware without getting in each other’s way. Timing and mixing have been a substantial part of the work, and the reproduction of individual effects is still being checked.
Do try the 13-track sound test. These tunes deserve a listen without someone firing at you :) .
KEEPING IT SMOOTH — TWO PLAYERS AND SURVIVAL
A second player means more movement, collisions, weapons, and animation work, plus the extra enemies. Survival adds changing layouts and increasing pressure. The Genesis still has the same hardware, so improving performance meant finding work it could avoid.
Prepare poses before play. More of the work of assembling characters from smaller sprite pieces now happens when building the ROM. The game receives layouts it can use directly, and some of the busiest drawing routines use hand-tuned 68000 assembly.
Reuse artwork already loaded. If an enemy is still using the same pose, there’s no need to upload it again. Tracking the graphics already in video memory saves processing time and transfers to the graphics chip.
Separate movement from animation artwork. In busy moments, the renderer can move a character to its current position while reusing its previous pose. Movement continues with fewer animation changes, avoiding the cost of preparing completely fresh graphics for every update.
Adapt enemy artwork to the load. The current two-player build uses fuller poses in lighter scenes and compact resident poses when enemies, bullets, or graphics-memory demands build up. These compact graphics stay ready in video memory. Once the scene has been quiet long enough, the fuller poses return. Enemy numbers, AI, collisions, damage, and animation timing remain in place; the visual pose selection becomes simpler under pressure.
Use the same rendering improvements in Survival. An earlier Survival path could leave the entire picture unchanged between full draws. The shared rendering pipeline lets it reuse poses while updating positions, and prepare upcoming work while the previous picture waits to be displayed.
Keep the endless level manageable. Survival maintains a moving window of sections, adds new ones ahead, and retires old ones behind you. Compatible connections are prepared in advance. A longer run therefore doesn’t require the console to keep processing every section you’ve passed.
Give gameplay time when co-op falls behind. In heavy scenes, the engine can skip a presentation to spend that time updating the game, with at most one such skip per three game updates. It helps preserve responsiveness, though the picture can still become uneven.
These choices involve tradeoffs. Restoring fuller artwork in quiet scenes costs a little performance compared with always using compact poses. It gives the game more detail when there’s room for it.
In the latest opening-workload emulator tests, solo Campaign and Survival averaged close to 60 displayed fps, two-player Campaign around 54 fps, and two-player Survival around 43 fps. Game logic averaged roughly 59 and 57 updates per second in those two co-op modes. Busy moments still dip, and these results don’t cover every stage.
TESTING AND CURRENT BUILD NOTES
I use comparisons against original instructions and reference implementations, alongside automated controller replays in an emulator. The tests measure game updates separately from displayed frames: a 60 Hz video signal doesn’t automatically mean 60 new frames of gameplay.
There’s still testing to do across full campaign playthroughs, long Survival runs, animation and audio details, and real hardware. All ten areas are included, but that alone doesn’t establish that every route and transition is trouble-free.
The full 32 MB build has been tested in PicoDrive. Other emulators and flash cartridges need support for its ROM size and banking arrangement; real-console compatibility still needs confirmation. High scores carry across games in the same session, but aren’t saved across power cycles.
I’D LOVE YOUR FEEDBACK!
The feedback on Black Tiger and Side Arms has been a big help. I’d love the same kind of input here:
- Arcade feel. Anything wrong with movement, jumping, doors, shooting, or enemies? Tell me the area and roughly where it happens.
- Two players. How are the extra enemies, shared camera, and respawns? Do the busy moments get in the way? Is this too easy/ hard? Too many enemies? To few?
- Leila. Any awkward poses or animation transitions? Screenshots and short clips help a lot.
- Survival. How long did you last? Any bad joins, repetitive stretches, or unfair enemy placements?
- Sound. Missing effects, strange notes, balance problems, or interruptions?
- Compatibility. Please include your emulator and version, or your console, region, and flash cartridge.
- More Home features. What else would you enjoy seeing?
Leave a comment with anything you find. I’ve tried to put as much into this version as I can, and I’m particularly happy that Albatross finally has some company.
Thanks for reading, and have fun!
RESTER 159
Download
Development log
- Rolling Thunder MD — v0.81 Alpha7 minutes ago










Comments
Log in with itch.io to leave a comment.
Albatross is displayed in front of a door after entering it. Cutscenes seem to be missing sound. The game crashes after losing all lives. The game crashed when playing a sound in sound test. Other than that it's already very playable. Tested on RetroArch. I still hope you can reduce ROM file size to 32 megabits.
I forgot: please add button C for jumping.
Rester...the game file doesn´t run. Please check it.
pls provide details of your set up
Just only doesn´t load Rester. No more than that. I am using Kfusion emulator this time.
fair point
how are the cut scenes handled if you play Leila? I ask because in the original they show her captured.
yeah - it will become leila's sister. suggest a name!
that’s easy … Lana :)
when you report bugs PLEASE PROVIDE DETAILS on your exact setup. 'Rom is broken' does not help
Great choice. The Mega Drive deserves a good RT1 version. Too bad it's so crazy big and not working on cheap Everdrive clones and some emulators. Why does it need to this big anyway. RT2 is 8mbit, Rt3 12mbit. Please tell the AI to stay within the 32mbit limit so more players can try this on real hardware.
how big is it?!!?!
Rom is broken. Cannot start a game.
Console or emulator?
Emulator, Mednafen 1.32.1. I just tried to get the game to run as a Mega Drive Plus Game in RetroArch under Gens Plus GX and it did start there as an MD+ Game.
It would also be cool to see a classic Konami beat-'em-up.
I went to test it, and it’s not working.
Console or emulator?
Hello, it's not working on the emulator :-/
Thank you.
Fantastic news! I’d like to try it on my everdrive, but it’s too big.
worked just fine on my cheapo everdrive, anything above 3mb usually takes a minute to load
My cheap everdrive only allows me to record 4 mb or less.
can confirm it boots on real hardware, tested on model 1 NTSC genesis
game plays great, first level track seems to have a little skip issue here and there, please remove the black bar at the bottom and top of the hud just like the arcade, i think it will look a lot better, i think the intro to the game is missing when starting arcade mode, in home mode there is no way to set controls differently, i would also make B shoot and C jump instead, when switching between each character on the select your agent screen, the image goes black for a second switching back and forth,
I would also add an attract mode to all of your ports, so far this is great tho, ill keep updating this comment, the more i find, i would also add more tags to the itch.io page for side arms and this, it will help users find your projects easier
thank you for putting out another genesis port