TASVideos

Tool-assisted game movies
When human skills are just not enough

Submission #5587: ThunderAxe31's GBC Devil Island "demo glitch" in 02:10.28

Console: Game Boy Color
Game name: Devil Island
Game version: China
ROM filename: E Mo Dao (Unlicensed, Chinese) (Multicart Rip).gbc
Branch: demo glitch
Emulator: BizHawk 1.12.1
Movie length: 02:10.28
FrameCount: 7781
Re-record count: 1235
Author's real name:
Author's nickname: ThunderAxe31
Submitter: ThunderAxe31
Submitted at: 2017-07-06 11:28:48
Text last edited at: 2017-07-17 15:16:50
Text last edited by: feos
Download: Download (2402 bytes)
Status: published
Click to view the actual publication
Submission instructions
Discuss this submission (also rating / voting)
List all submissions by this submitter
List pages on this site that refer to this submission
View submission text history
Back to the submission list
Author's comments and explanations:

(Link to video)

Run objectives

  • Emulator used: BizHawk 1.12.1
  • Aims for fastest any% completion
  • Major skip glitch
  • Uses a game restart sequence
  • Heavy glitch abuse
  • Genre: platform

About the game

E Mo Dao (惡魔島) aka Devil Island aka Devil Land aka Alcatraz Island aka Forget Everything You Know About TASing, is a GBC bootleg game by Vast Fame.
The game is basically a port of the NES game Getsu Fuuma Den, but with graphics changed in order to make it similar to a Castelvania game. The pseudo-3D levels were omitted entirely. The sound engine is taken from Mega Man V, while the musics are original compositions by Yishen Liao.

About the run

In my opinion, the branch name should be "demo glitch" or something similar, in order to distinguish from possible future submissions that will forgoe using this major skip glitch.
For making this run, I got inspiration from these movies: [984] NES Arkanoid (USA) "warp glitch" by Baxter in 04:26.72 and [2285] GBA Densetsu no Stafy (JPN) by jlun2 in 03:28.68. So I've researched for a method to gain control during the demoplay in order to start with later stages already unlocked. And at some point I found a way, a very lame one.

Glitches

Demo unlock
There are four different demoplays. The first two feature use of the pause menu. If you press any key while the pause menu is open, the game will unlock control and start treating the demo like if it was an actual play. Luckly, every demoplay feature all items unlocked, so this means you can access to any level, including the final boss stage.

Level skip
Discovered by Mothrayas. While on the overworld, you can press Select at any time for quicksaving the game. Since it is possible to do this even while the player is walking in between tiles, it is possible to save with the player's position on the spot of a level entrance. Then, after rebooting the console you will end up standing on the level entrance, but without actually entering it. Then you can just continue walking past that point. This must be done twice, because every level has two entrances. This can't be done with levels that have the other entrance past unwalkable overworld tiles.

The fight

The final boss stage can be accessed only after having unlocked a special weapon, that does require clearing 3 different stages with a boss at the end; it's basically a whip that does project an air blade. This is also the only weapon that can reasonably damage the final boss.
I also used the gauntlet, an item that does temporarly double damage dealth to enemies.

Optimizing

This game's engine is incredibly broken and makes little sense. The invicibility times between hits to the final boss are always different, and it looks like they can't be manipulated, except with lag management. But here goes the problem: the emulator doesn't detect lag at all, because of how messed is input polling and VBlank in this game. After doing some tests with lsnes, I've seen that sometime the game does poll inputs twice during a frame, and skip during the following one. The game does often slow down for a frame or some more, and there is no conclusive reason that causes it: for example, it often happens during landing or when attacking, but not always, while sometimes can get worse. So, in order to kill the boss as fast as possible, I've used trial and error. I think I've done a good job, but I really can't be sure to have optimized it to perfection.

Possible improvements

Maybe a frame or two could be saved with some solid bruteforcing or some hardcore reverse engeneering.

Special Thanks

To Mothrayas, for telling me about the level skip glitch.

What's next

Since this run, while is Vault eligible, does not show much of the game, I'm going to make a run that forgoes using the demo unlock glitch, which will aim for the Moons tier. Actually, I've already started, but it's going to take a while to finish.


Fog: Judging.

Fog: This is an unofficial game, but the makers of this game (Vast Fame) are notable enough to have this run be acceptable.

About the run itself, this is a really, really stupid oversight by the makers of this game. However, it is hilarious to see how broken their demo system is.

Other than breaking the demo system, the actual run is underwhelming.

Accepting to Vault.

feos: Let's pub some tiny ones while Sabre Wulf is being sorted out.


Similar submissions (by title and categories where applicable):