Gain Ground is a game about robots killing cavemen and cavemen killing robots, or at least that's what it looks like. The actual story makes even less sense than that. It's an overhead run-and-gun arcade game where you fight enemies in 5 different time periods with characters from a similar range of time periods and a boss every 10 stages. The first version was an arcade game, the Genesis version has major gameplay differences and also contains an extra round not seen in the arcade version (round 4).
Game objectives
- Emulator used: Gens 11b
- Fastest time
- 2 players
- Uses death to save time
- Uses hardest difficulty
- Manipulates enemies
- Genre: Action
This syncs with both the Japanese version (MD5 3b0ad9167e152ed3719ae0d45e50db6a) and USA/Europe version (MD5 fa43881a792fadf1ab737294fff1bcc3).
Comments, tricks, and mechanics
Exits are not used because they only end the stage if it times out or you get all characters out. Killing all enemies is much faster.
Many enemies can be hit by multiple attacks of the same type in the same frame and will be damaged multiple times, allowing them to be killed with fewer invulnerability cycles. This can be set up by hitting an enemy with a diagonal and cardinal shot at very close range, getting an enemy to path into the shots, overlapping an enemy with multiple shots on its wake-up frame, or having both players shoot it at the same time. This is used moderately in round 2 and extensively in round 5.
Arc shots are considered ground level for their first few frames and can hit enemies that are close enough.
Stationary enemies cycle their shot timer whether you're in range or not, which is occasionally used to prevent them from firing.
Robby's missile is considered ground-level on stages with no high ground.
Subpixel movement resets on character select and on direction change, so direction changes occur as little as possible and shots are taken on no-move frames unless there's a significant reason not to.
The archers and spear-throwers have the fastest move speed. The archers have the longest attack range and special attacks that can hit enemies behind walls and at high elevations, which makes them the best choice for nearly every stage.
There are a few reasons that Athra and Gascon (the spear-throwers) live this long:
- Athra's special refires faster than Verbal's (the archer used for most of the run), which is an advantage for several early stages (especially 1-6)
- Killing them is very expensive on most stages because the last enemies are usually not near and movement is required to die, so they'd have to run up to the enemy for a contact death, and then eat a substantial delay in stage completion. The stage does not end until the player can select a character again, which can take as long as 146 frames.
- Killing Athra without Gascon is costly because Gascon's special only fires north.
Technical information
Address | Value |
---|---|
00FFA800 | P1 X |
00FFA802 | P1 Y |
00FFA81F | P1 Sub X |
00FFA821 | P1 Sub Y |
00FFA900 | P2 X |
00FFA902 | P2 Y |
00FFA91F | P2 Sub X |
00FFA921 | P2 Sub Y |
This run used two scripts, one was a custom orders track script optimized for the kind of movement and shot patterns this game demands. 100% of the input in this run from stages 1-6 onward is from script-processed tracks.
The other was a HUD script used to display collision boxes, exact projectile locations, timers, AI types, etc.
You can get the HUD script here: https://github.com/elasota/gaingroundtas/blob/main/gainground.lua
Stage notes
1-2: Manipulated the top-right enemy into a better position.
1-4: Needed to kill a few enemies from invincibility contact to prevent projectile firing from causing lag. P2 kills a ground archer early to prevent it from firing right and interfering with the ledge kills.
1-7: P2 stays low to prevent the top-right enemy from firing.
1-10: Originally Mars died here, but it was edited out to save 4 frames when that turned out to be unnecessary. Because P2 has better range and P1 has to dodge fireballs, P2 actually kills his turret first despite selecting later, so I left him in. :)
2-1: Manipulated the last archer to a better position.
2-2: The opening volley causes lag but the contact kills save time. P1 logjams enemies on P2's side so P2 can move up farther. Manipulated an enemy on P2's side to avoid it moving up into his path.
2-5: P1 loses a character to allow Robby to be selected more quickly in 2-9.
2-7: The mages' hide timers are stopped until the patrols are killed.
2-10: P2 tags a mage at the last frame of its vulnerable phase on the only frame it was possible to make the shot.
3-2: The worms here can be double-hit, but it wasn't possible to double-hit any of them without allowing another one to burrow, and their resurface timer is 240 frames.
3-7: Delayed P2 to prevent the third enemy in the top row from firing into his path.
4-7: P1 isn't able to get through the barrier in time due to automotive interference.
4-10: This boss does not have any invulnerability frames and can be multi-hit so it dies very quickly.
5-7: The force fields have 6 HP, hitting either pylon connected to it will lower it.
5-10: This boss's invincibility frame behavior prevents it from being damaged by P1 while P2 is rapid-firing. It has 2 HP remaining when P2 dies, so P1 goes to a safe position instead to get the last few hits in.
Possible improvements
Several important things are RNG-based: Wandering enemy movement, mage hide timers, and the projectile firing directions of orbs in round 5. Understanding the RNG would definitely improve things.
It may be possible to utilize double-hits more effectively in round 2.
Killing Athra and Gascon on a different stage might yield a faster route.
It's possible that Fire Knight could clear 5-8 faster if P2 Mars died in 1-10 to reduce the selection time.
Projectile conservation and distance to enemies has a major effect on routes. It's possible that a lot of stages could be completed faster by packing moving enemies closer to reduce projectile flight times.
Suggested screenshots
Frame 10138
Truncated: Claimed for judging.
Truncated: Short, lots of action, looks like it's well played. Accepting for moon tier.
natt: processing for pub with author-provided encodes