Submission #10310: alexheights1's SegaCD Black Hole Assault in 03:42.119

Sega CD
(Submitted: Blackhole Assault)
baseline
(Submitted: Blackhole Assault (USA).cue USA)
BizHawk 2.9.1
13310
59.922751013550524
11862
PowerOn
d41d8cd98f00b204e9800998ecf8427e
US Sega CD BIOS used:
*BIOS name: Sega CD Model 2 US (v2.11x)
*File name: SCD_m2_us_211x.bin
*SHA-1 hash: 328A3228C29FBA244B9DB2055ADC1EC4F7A87E6B
			
Submitted by alexheights1 on 4/1/2026 11:57 AM
Submission Comments
A fast-paced 2D robot fighting game from 1992.
Blackhole Assault is a science fiction story about an evil mech invasion in space. The player can select one of two robot types to use against 8 enemy machines that have invaded various locations in the solar system.

Game objectives

  • Emulator: BizHawk 2.9.1
  • Genre: Fighting
  • Aims for fastest time
  • Manipulates luck
  • Difficulty: Normal

Options

'Normal' difficulty level is the hardest available.
Traps: off. Some levels have low gravity, slower walking or other gimmicks that can slow us down, so we turn traps off. It takes only 1 frame to change the option. This will probably save some time and the movie will look almost identical in any case.
Animations: off. Automatically skips the long and nicely animated cutscenes. We exit the options screen so fast that it looks like the option was not changed.

Gameplay

For each fight we select Orion, the red robot. Orion has an elbow attack which is overpowered. Do it by pressing forward, down+forward, down and punch. It can also be done with kick + punch when close to the enemy, but this is a slower combo move with little benefit in damage output.
We always use the elbow attack unless forced to do something else.
The fighting robots have a power level that starts from 75. It slowly rises to a maximum of 99.9. It can be sped up by holding some attack button. We can hold the button that we intend not to attack with, so that we can maximize the hold time, but usually this level of precision is not needed.
We can press forward twice to dash, which is a fast way to move, but not always useful because of enemy RNG.

Times

I try to show times here, but there may be mistakes because I redid some portions many times. Sometimes I lose a random frame because of hidden lag, RNG or the human element.
The frame info here is only useful for a taser of this game. The first number means 'attack start' or 'spark visible' on enemy, the third number means enemy knockout time.
2354 Last input on main menu. Waited 2 frames to manipulate RNG.
2580 Press start.
2790 Select robot.
3002 Press C to start fight.

1st fight

The first enemy rises up in 67 frames after knockdown. It takes us about 18 frames to dash to the enemy, so it is probably not worth waiting more than this to manipulate the RNG. Despite being one of the slowest enemies this robot walks faster than us, so ideally they should walk towards us, and this kind of solution was found after waiting 28 frames in the main menu. The fight was only 9 frames faster, so it did not save time overall.
3061 Set game speed to max.
3090 First elbow.
3157 63
3224 67
3291 67
3357 66
3424 67
3820 Fight ends. In-game timer: 02.57.
3986 Press start.
4180 Select robot.
4399 Press C.

2nd fight

The second enemy is fast. He rises up in 57 frames after knockout. This enemy always starts with a jump? Our first attack must be a jump kick, so we can't defeat the enemy in 6 hits. Even with maximum power the jump kick + 5 elbow strikes is not enough, so we must use a total of 7 attacks. If you can make the enemy do something else than jump, then you could maybe save time, but I have never seen it happen.
4491 4517
4548 4574 57
4605 4631 57
4662 4688 57
4719 4745 57
4776 4802 57
5236 Fight ends. In-game timer: 02:79.
5403 Press start.
5612 Select robot.
5826 Press C.

3rd fight

The 3rd enemy has attacks that reach far. Knockout time is 56 frames. He must attack immediately with a step forward and a kick, so that we can instantly counter with the elbow. This is the first point where the TAS becomes complex. We could try to do the previous fights in different ways to get the optimal result in the 3rd fight. The best 3rd fight ever seen is only 9 frames faster than what I get, so we can't use more than 9 frames to manipulate RNG. I will leave the 9 frames of possible timesave to you, if you want to co-author.
5857 5885
5912 5941 56
5968 5997 56
6024 6053 56
6080 6109 56
6136 6166 57
6543 3rd fight ends. In-game timer: 02.20. (Best seen: 02.14.)
6711 Press start.
6919 Select robot.
7134 Press C.

4th fight

The enemy charges at us immediately which seems like a great result. Based on testing this is what it almost always does. I don't know what else the enemy can do in the beginning of the fight.
This enemy can be stunned in two ways. Faster must be chosen. This is a hard fight to optimize because the difference of the two knockout animations is only 17 frames, but it is much more difficult to get the short animation, so we must try very hard to not waste more than 17 frames between each attack to adjust the moves so that we get a short knockout. Short knockout is 67 frames. Long knockout is 84 frames. I was able to sacrifice frames to make all knockouts short, but the situation feels a bit inconsistent and there is no clear indication on what the optimal method is, because the knockout times can be related to enemy RNG. The enemy needs to do certain moves so that it goes into short knockout after elbow strike. This means that I sometimes walk and sometimes use dash to align the positions for a fast knockout, possibly losing some frames in the process when the RNG is not perfectly aligned.
Here is a comparison of knockout times for two different fights:
Version 1: 86 84 70 67 = 307
Version 2: 74 73 80 68 = 295
I do not understand this fight and I must say I hate this enemy. It feels like an RNG roll after each knockout. The 5th knockout does not matter at the moment because I use it for RNG manipulation. It is the easiest spot to change enemy moves for the next fight without redoing the whole TAS from the beginning. This is probably the choke-point fight that needs to be seeded really well during the previous fights, so that we save as many frames as possible.
7173 7200 
7250 7274 74
7323 7347 73
7482 7505 80
7549 7573 68
7554 7577 Last hit. Used for RNG manipulation.
7949 4th fight ends. In-game timer: 03.02.
8118 Press start.
8328 Select robot.
8549 Press C.

5th fight

This piece of trash mech almost walked backwards if I had not waited 4 frames in the last fight. Now it remains still. Probably walking towards us would save time but I don't know if this enemy ever does that. It has 47-48 frames of minimum knockout time.
8586 8610 First hit.
8635 8661 51
8682 8709 48
8730 8757 48
8778 8805 48
8826 8852 47
9227 5th fight end. In-game timer: 02.06.
9394 Press start.
9588 Select robot.
9798 Press C.

6th fight

Another enemy with strange variable knockout patterns. Interesting, but now the whole TAS is getting too complex for me in the RNG department. The enemy jumps up in two possible directions based on player location. This can lead to many different timelines of solutions and it is difficult to say which is better than the other.
9834 9859 First hit.
9922 9947 88
10009 10034 87
10091 10117 83
10175 10201 84
10258 10282 81
10727 Fight end. In-game timer: 03.33.
10894 Press start.
11097 Select robot.
11305 Press C.

7th fight, the miniboss

The miniboss has no knockdown and it does not move, so now the elbow attack speed determines the interval between the hits.
11368 First hit.
11388 20
11411 23
11434 23
11457 23
11480 23
11833 Fight end. In-game timer: 01.04.
12000 Press start.
12211 Select robot.
12423 Press C.

8th fight, the final boss

The final boss has two phases. In the first phase the boss is only crouching and remains still. You have to damage it 4 times with the elbow. Then the second phase begins.
The boss always jumps and dodges the elbow attack at the beginning of the second phase. This looks like bad RNG, but I changed the two previous fights many times and nothing changed this behavior. I don't know why the boss jumps, so I have to punch it once. This is perhaps another place to look for timesaves.
12486
12528 42
12570 42
12610 40
12705 58 second phase
12771 66
12838 67
12904 66
12971 67
13037 68
13310 Input ends. In-game timer: 04.07.

Co-authors welcome!

If you want you can set this to 'delayed' for 1 year if somebody wants to look into the RNG and co-author a faster run.
I believe some frames can be saved even with manual tasing and with no total RNG awareness, if you have a keen eye for extreme detail. It is not easy to prove what the optimal fight is for each enemy because sometimes they make rare moves that help us save frames.

The name of the game?

The game cover image and in-game credits say 'Blackhole Assault' but in GameFAQs and in-game title screen they write 'Black Hole Assault' so I am not 100% sure about the correct name of the game.
Welp, have a great day!

nymx: Claiming for judging.
nymx: I'm dropping this, because I can't find the correct rom.

Darkman425: Claiming for judging.
Darkman425: A simple, yet effective, way to win against the CPU quickly, with a lot of movement to get optimal positioning for better elbows. Nice work!
Accepting to Standard.

despoa: Processing...
Last Edited by despoa 15 days ago
Page History Latest diff List referrers Change Log