Submission #4974: shevek's MSX Thexder in 12:37.74

MSX Home Computer System
openMSX 0.12.0
Thexder (1986) (Gamearts) (J).rom
Submitted by shevek on 1/20/2016 8:15 PM
Submission Comments
Thexder is a game where you control a transforming ship that can walk as a robot, or fly. This is the MSX version, which has different maps than the same game on other platforms. This speedrun is only about speed. Some damage is taken when it saves time.

Game objectives

  • Emulator used: openMSX 0.12.0, running on Debian GNU/Linux
  • Objective: fastest finish.


Most of the work in this speedrun was the creation of the maps for the game. Due to the tiled view which scrolls one tile at a time, and the very limited amount of tiles, it is often not easy to find out how many tiles are being passed while moving. Also, I didn't want to miss any secrets that I might be able to use, and I didn't feel like gluing screenshots even it was easy.
So I used openMSX's debugging capabilities and stared at disassembly a lot, and then I wrote a script that extracted and unpacked all the level data from the ROM file and presented it as an image. This code, and the images, can be found at
With the map made, the run is straightforward. It may be possible to beat some of the "bosses" faster, though.

Other comments

The player can walk or fly. They happen at exactly the same speed, so there is no bonus to either. Conversion costs time though, so that should be minimized. Important differences between the states are listed here.
  • When walking, the player is higher and doesn't fit through small horizontal passages. Horizontally, the size is the same, so there is no difference for narrow vertical tunnels.
  • When flying, the player cannot stand still. When bumping into something, the ship is automatically deflected if possible, or converted into the walking robot otherwise. Unless it is currently in a place where the walking robot doesn't fit, in that case the plane turns 180 degrees. By using well timed controls, such a 180 degree turn is also possible in the open.
  • The walking robot automatically aims. It shoots in turn at everything that it can reach, but without regard for walls. This makes it a very slow killer if there are many targets. The plane on the other hand cannot aim and always shoots forward, making it more useful for targeted shooting. The only problem is that you are always approaching something while shooting like that.
Enemies are 2x2 characters. The player can move into the first character, but is then blocked by the second. The enemies can move through the player at will. It is possible to trick the enemies into moving through the player, so that they don't block the way. This is used a lot to avoid lengthy fights.
Overall I'm quite happy with the result, but the "boss" fights in particular can probably be improved a bit.
Frame 32570 (09:03.53) would be a good screenshot.

Samsara: Hi in advance, Quibus. Judging.
Samsara: I took a closer look at this and found that the overall optimization is lacking. I was able to save 30 frames in Level 1 with a very quick test. As such, I would recommend redoing the run, possibly taking my notes and test of Level 1 into consideration as you do so. There's potential for seconds to be saved all throughout, possibly even up to 10, just by taking corners better, not to mention that some of the weird chokepoints I mentioned in my notes could have new strategies just waiting to be found. Unfortunately, I have to reject this for, just barely, not meeting the site standards of optimization. I'm hoping to see that improvement in the future, though!
Last Edited by adelikat on 8/7/2022 11:29 PM
Page History Latest diff List referrers