Submission #7790: ShesChardcore's NES Battleship in 1:48:16.80

(Link to video)
Nintendo Entertainment System
baseline
BizHawk 2.8.0
390450 (Cycle Count 34883403194)
60.09878888340519
8250
PowerOn
Submitted by ShesChardcore on 11/9/2022 2:12:53 PM
Submission Comments
This submission is for the NES version of Battleship. It's basically the same as the board game, but there are 40 levels to beat, various special weapons to use, and a whole lot of staring at ships in crosshairs.
Rather than go through all 40 levels individually with explanations, I'm just going to include high level details and information about the run.
Firstly, there is only one full game run on SRC, by Saradoc. Their run clocks in at 2h22m and it's important to note that that is a full manipulation run. Like a lot of games, if you do everything exactly the same you will get the same results. This means you can go through and casually beat the game, recording notes on everything you did from the ship positions to shot locations etc. The only true "frame based" manip in the game is to set the seed for the very first level. Everything else is a combination of positions, getting hit, getting sunk, shot order etc.
So even though you can fully manip the game in RTA, what you can't really do is optimize it as you go. This TAS saves more than a half hour over the RTA run by using more detailed manips to achieve faster outcomes as well as obvious superhuman cursor movements on the attack screens.
One of the big manips in this run is activating what I call "hunt mode." When the AI hasn't hit any of your ships yet, they tend to fire special weapons (which is fair, since we do that too.) They will also sometimes aim with just one shot that eats up time. However, once they score a hit on you, "hunt mode" is activated and they will only fire faster single shots at you until the ship is sunk. In this TAS we usually activate hunt mode ASAP but there are a couple levels where we don't, for manip purposes.
Regarding special weapons, you get one shot per weapon per stage (but you have infinite single shots) so optimizing their use is important. I wrote a quick and dirty lua script to put the enemy positions right on screen. In this way I didn't have to dig through the memory for each level or use trial and error, and it let me plot out shot routes for the levels ahead of time, which let me backtrack for a different manip if needed. As you progress you get more ships and more weapons, and so too does the AI opponent. If a ship gets sunk before using its special weapon, you end up losing that weapon for that stage. This also led me to more manips, as occasionally I'll pick off their submarine (plus sign weapon) so they shoot something else or somewhere else. In later levels some ships get an additional weapon (like the Carrier getting the checkerboard weapon and the L weapon.)
Manips are not fine tuned unfortunately. There doesn't seem to be a way to force certain AI patterns, just kinda have to throw stuff at the wall and see what sticks. The manips also cost time. Getting a ship sunk costs more than 5 seconds of explosion animation and occasionally it wasn't worth it, like the next pattern I got wasn't any faster so I'd go back and reposition things to not get sunk or to take more or fewer hits. I got mostly good patterns throughout the run but there were a couple levels that were very uncooperative and I went through numerous patterns that weren't really any good so I took what I could get on those.

Samsara: Claiming for judging.
Samsara: File replaced with a properly truncated and bugfixed version.
Honestly, there's not much to say here. Everything looks good. Given the length of the run and the limited nature of the RNG, I feel the manipulation here is more than adequate for a first publication, especially with the 30+ minute timesave over the RTA record. One fun thing I did find out while judging is that the music sounds fun and jazzy at 2x speed though, which is a huge plus to me as a former jazz musician!
Accepting!

despoa: Processing...
Last Edited by despoa on 11/20/2022 6:18 PM
Page History Latest diff List referrers