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

Game Information

Genesis Gain Ground

  • Platform: Genesis (Sega Genesis)
  • Abbreviation: gaingrnd
  • Display name: Gain Ground
  • Goodtools name: Gain Ground

[Tier: Moons][Fastest Completion]Genesis Gain Ground (USA/Europe) in 11:40.57 by oneeighthundred.
Gens movie (.gmv) (date: 2012-11-19)
MP4 file via BitTorrent (size: 45.75 MB, length: 13:15)
MP4 file via BitTorrent (Modern HQ) (size: 52.53 MB, length: 13:15)
Mirror archive.org
Mirror archive.org (MP4 Modern HQ)
Watch on (www.youtube.com)
Submission #3736 — Author's comments
Discuss this movie
Rating: 7.4 (9 votes)
View Publication
- 2 Players
- Uses death to save time
- Uses hardest difficulty
- Genre: Action
Gain Ground is a game about robots killing cavemen and cavemen killing robots; or at least that's what it looks like. Don't worry too much about the plot. It's a fast paced overhead run-and-gun with characters and enemies from 5 different time periods. Originally an arcade game, this Genesis port has 10 extra levels in it.

In this TAS, both player characters are controlled and shots are precisely placed to defeat every enemy in every level at blinding speed. Many precise tricks are used; details and stage-by-stage rundowns are available in the author's comments.

#3644248980008336 - Gain Ground 2-player command script
gainground_stagescripts.lua (76.8kB Lua script)
Uploaded 2013-01-03 02:25:57 by oneeighthundred (3 files)
For Genesis Gain Ground (1 file)
5183 views, 646 downloads
This is the command script used to generate input for my Gain Ground run, used for every stage from 1-7 through completion (almost 90% of the run). It's generic enough that many games could be tracked using it by scrapping the contents of the stageScripts and syncPoints tables, although it has some limits since it was designed for Gain Ground: It does not support holding non-directional buttons for longer than a frame and does not support left+right or down+up.

The way this works is that the run is chopped up into units, which was done so that early-level edits could be easily resynchronized. Originally, this was done by tagging commands with the original frame numbers and adjusting the actual start frame if that changed. This later changed to using 0 as the starting frame number instead and having the HUD script display the relative frame number.

This script will generate input for a unit up through the last frame that has a numbered command, which means things like continuous motion will only work if there's a later command to keep the input block going (even if the command is a "stop"). Most stages were made by first adding a "stop" 1000 frames in the future.

Info Download