Submission Text Full Submission Page
A brief run-through of the classic Japanese Strategy game, Nobunaga's Ambition

Game objectives

  • 17 Fiefs / Difficulty 5
  • 24 Seasons
  • 1 War
  • Optimized for time
  • Emulator used: BizHawk 1.9.1

Comments

This is my second submission of a Nobunaga's Ambition TAS. (Here is my first)
The main purpose of this TAS is to beat NA on the hardest difficulty, which results in a vastly different strategy than the first video. I focused on winning fiefs by assassination, which turns out to be much faster than any battle-based victory, and as a result, this video is even faster than the original.
This video is optimized for time, rather than seasons. There were a few places I could have saved seasons by starting a war, but chose instead to focus on speed and assassinations.
Throughout this run, my action of choice was “Give – Peasants – Rice” (GPR). This boosts the Char of my leader, which is key to assassinations.
I plan to make another TAS for the 50 fief version.

Fief by fief comments

Fief 15 (Miyoshi)

Fief 15 was chosen because of its strategic location next to two easily-assassinated fiefs that also protect it. This “wall of fiefs” is important, as the AI is able to create better fiefs faster than the player, especially on difficulty 5. Fortunately, they are still weak against assassination.

Fief 10 (Tsutsui)

On the first turn, I was able to kill and take over fief 10.

Fief 14 and Fief 12 (Ashikaga and Rokkaku)

It took a bit of luck manipulation to find a solution where Rokkaku wasn't killed by Asai or Kitabata. In this case, by assassinating both fiefs at the same time, Rokkaku's land was preserved. Also, order was important, as killing Rokkaku first caused Ashikaga to attack instantly.

Fief 11 and Fief 13 (Asai and Kitabata)

Asai and Kitabata were the next weakest of the Daimyos. After moving my men forward, I GPR'd until I could kill them.

Fief 5 (Asakura)

By this time, Oda had taken over Fief 9. I needed 60 more Char to assassinate him, but only 12 more for Asakura. The choice was obvious...
I also lucked out that Fief 5 went first the following Season, allowing me to buy troops to prevent Oda's attack.

Fief 6 (Anekoji)

I had trouble mapping this area. Oda would attack me if I had too few men in any of my front fiefs. It happened that, when I took over Fief 6, Oda attacked immediately. I managed to find a path that allowed Fief 11 to move men to Fief 5, which moved them to Fief 6 before Oda could react.
I also started having money problems. If the Fall comes and the fief doesn't have enough money, the men leave, opening me up to attack. The solution is either to raise taxes or send money, but both take up precious turns, and increasing taxes causes Char to go down. I solved the problem by sending money in advance, which also manipulated luck enough for me to avoid getting attacked.

Fief 9 and Fief 17 (Oda)

Believe it or not, this was the climax of the video. Oda is the most powerful Daimyo in the game, and all throughout he kept me on my toes, forcing me to move money and set taxes in such a way that he didn't attack.
When I finally had enough Char, I took him down. After that, it was all essentially end-game. Because Char was no longer needed, I started Granting the more useless fiefs to speed things up. (Grant operates the fief using an AI, rather than my explicit orders)

Fief 8 and Fief 7 (Tokugawa and Imagawa)

With my Char built up, I assassinated these two easily. At this point, I was concerned about the way bidding is done: you may only bid on a fief if an enemy leader can also bid on it. Therefore, I had to kill them in different seasons, otherwise the isolated fief would gain a new leader and I could never win it by assassination.

Fief 16 and Fief 3 (Takeda)

This was a straight-forward assassination, but it was serendipitous that I could do it in the same turn as the next assassination.

Fief 2 (Uesugi)

This was an interesting puzzle that threw me for a loop. To win with only 1 war, I needed to ensure that there was always a leader who was able to bid on the conflicted land. Killing Uesugi would cause a new leader to spawn in Fief 2, and if I won Fief 4, there would be no way to get Fief 2 without an extra war. The solution was to NOT bid on Fief 4, which luckily was won by Hatakeya of Fief 1. This allowed me to kill the new leader of Fief 2 (Sira) and still bid on the land.

Fief 4 (Hatakeya)

Now there was only Fief 1 and Fief 4 left. Fortunately, killing Hatakeya caused a new leader to spawn at Fief 1 (Kite), and that new leader was allowed to bid on Fief 4, giving me the land.

Fief 1 (Kite)

Given how I had collected all my troops from every other fief, this battle was just silly. 744 vs 53, and he still killed 145, showing just how advantaged the AI is in the war. I opted to move unit 5 along with the group so I wouldn't lose time switching screens.

Possible improvements

For most of my GPR's, I automated using ¼ of the current rice value. However, numbers like 5 and 6 take longer to get to than 0. Given how much time was spent on that action, significant time savings might be had by rounding to the nearest 10 when possible. We will likely see that optimization in the 50 fief version.
There were also a few times I GPR'd when I didn't need to, and I probably could have granted fief 5 after Oda was dead. Also, it's possible granted fiefs also give me Char, which would further speed things up. Strategies involving granting in general haven't been explored.
This run is NOT optimized for seasons. In fact, my first mapping in difficulty 5 won in 19 seasons, but took significantly longer with 3 extra wars. I believe a season-based optimization would be enjoyable in an entirely different way.

ars4326: edit: Shortened branch name to just '17 Fiefs' (since highest difficulty is already required) Claimed for judging!
ars4326: Hello, CogneatoSwitch. I've gotta be honest with you on this run: Your sub-optimal inputs (whether by automation scripts, or otherwise) cost you significantly on time. By using frame advance and choosing/confirming commands at the earliest possible frame, I expanded on that test WIP I made and beat your time by 898 frames (almost 15 seconds) at the point of the first command phase of fief 10. Other savings were made by rounding amounts to the nearest 10, as well as from a better optimized stat creation screen (mentioned in the thread).
I'd really like to see a better optimized run from you. Your big apparent sticking point here is just learning to patiently construct a run with frame-advance, and not relying on auto-scripts to generate input. If you can get this down, 3-5 minutes could easily be shaved off of this run (not counting the granted fiefs strategy you mentioned). Take your time and also explore any alternate strategies which you think could be faster, as well.
Rejecting due to sub-optimality.


TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15594
Location: 127.0.0.1
ars4326
He/Him
Experienced player (778)
Joined: 12/8/2012
Posts: 706
Location: Missouri, USA
Wow, this is a far faster time! Good to know that switching to the highest difficulty revealed a much faster strategy, as a result. Would you like to go ahead and cancel your previous submission? Also, just to clarify, optimizing by seasons is the slower of the two options?
"But as it is written, Eye hath not seen, nor ear heard, neither have entered into the heart of man, the things which God hath prepared for them that love him." - 1 Corinthians 2:9
Player (23)
Joined: 7/26/2015
Posts: 9
The old one has been cancelled. Yes, optimization for seasons would be much slower, as starting a war would save a few seasons, but each war takes about 25-40 moves, or 3-5 minutes. The resulting video would showcase much more the war strategies, such as bait-and-conquer, ambush, or even gaining fiefs by killing the leader (some of these are seen in the first video). Because of the drastic difference in presentation, I propose that the type of optimization be a separate branch.
Joined: 1/27/2014
Posts: 181
Great! Glad to see this! :)
Joined: 8/2/2011
Posts: 39
Extreme Robin Hood tactics!
Player (23)
Joined: 7/26/2015
Posts: 9
Apparently, giving peasants rice is the only way to find quality ninjas!
Samsara
She/They
Senior Judge, Site Admin, Expert player (2239)
Joined: 11/13/2006
Posts: 2822
Location: Northern California
Link to video Temp encode. For the record, yes, there's no sound for a vast majority of the video. It was disabled in the TAS itself (around 0:27 in the encode... y'know, when the sound stops) to reduce lag.
TASvideos Admin and acting Senior Judge 💙 Currently unable to dedicate a lot of time to the site, taking care of family. Now infrequently posting on Bluesky
warmCabin wrote:
You shouldn't need a degree in computer science to get into this hobby.
XYZ
Former player
Joined: 12/9/2006
Posts: 168
Location: 2bastuz
Samsara, thanks for encode. Short movie looks like Storybook. CogneatoSwitch, You thought about subtitles (don't know possible in Bizhawk)? Are you planning make more KOEI strategy? For example SNES/Genesis Genghis Khan.
Joined: 12/29/2014
Posts: 16
I really enjoyed this run and I'm glad someone has decided to tackle it. I have a *lot* of questions about it though. For stats, is it necessary to spend the time getting them all to 109? Or could you get away with lower values for all but Char and save the frames? You seem to slow yourself down by giving various amounts of rice/gold to peasants. For example, at some points I saw you give 1 rice to the peasants to get your Char point, but other times you'd give around 25%. You mentioned it was automated for 25%, but was there a reason for this? This also would be in places like when you'd have the option of sending say 80 gold to another fief but you'd do 75 for example--requiring four extra inputs. Another thing was you didn't manipulate plagues either not to come or not to come to your fiefs. That plagues have come uses time but the extra message from them striking you takes even more. Were you unable to stop that for some reason? I did notice you seemed to optimize the fight better compared to the first video, where often your own units would bump up against each other because they weren't ordered properly. I don't remember the mechanic very well, but would it be helpful, or a waste of time, to reorganize your armies so that you only have two units? You'd have far less menuing. Could you overbid for fiefs to save frames? I.e. bid 40 even if 36 would be sufficient? You often send men and rice and gold places that it seems may not be entirely necessary. Of course the only such one I can point to specifically is at the very end. There are 1,582 men in Fief 4 but you only have 744 gold so you can only send 744 men. Surely you didn't need to spend the time sending the other 838 men to Fief 4? You also have them take 403 rice when they use less than 200. Even just taking 400 instead of 403 would save three inputs. I agree that subtitles would be fantastic especially for people who have not played the game before. Thanks for your efforts!
Player (23)
Joined: 7/26/2015
Posts: 9
Sure, I will add subtitles next time! So to understand the oddities in my run, first recognize how I'm making it. I've generated a series of scripts that execute specific commands quickly. Thus, when I make the video, I merely execute the scripts in the right order. When I initially made the GPR script, my goal was to improve wealth and loyalty, which is useful for gaining more money. By default, I had it give 25% of total rice. I can move the number down to 1, but it messed with other scripts down the line, and occasionally changed the RNG. Thus, changing the default rice value meant redoing the whole video. Since I plan on remapping it anyway, I went ahead and submitted it on the off-chance I run out of energy to do this TAS. Stats: Drive is the only one that isn't necessary. Luck and IQ both play a part in assassination, but I can't seem to manipulate them as well as I can Char. I suppose a moderately high health score would be acceptable, as long as I didn't die from sickness. Also, changes to this area also affect the RNG "seed", which means remapping the entire game. I'm not inclined to change this because the savings is so small and I already know this seed. I haven't figured out the random events or the next-season turn order. My only solution for them is to adjust my actions. I've found the choice of action, rather than intensity, makes the most difference. For example, choosing "Send" instead of "GPR" might change the outcome. I also noticed that the event happened anyway, it just changed where it landed. I don't think there is much savings to be had there; maybe a few seconds at best. In a battle, unit movement always goes from 1 to 5, with 2 and 3 being the most powerful units. I typically send the 4 or 5 to get killed by the enemy's 2 or 3, and save my 2 and 3 to kill the enemy's leader. In this particular video, it didn't matter. However, I agree that changing the assignments before the battle will greatly enhance speed, even if it costs a whole season. The biggest bottleneck I've found is not using grants. The granted fiefs deliver 1 Char 50% of the time, so if I granted them all, it would take twice as many seasons but 1/3rd the time, with an estimated savings of 7 minutes. The next biggest is the GPR values, which were used 81 times and could easily save 2 minutes. Making assignments before the last battle may save a few minutes (assignments are slow, and the whole season will have to go by). Changing the bids might save 15 seconds and being looser on the stats selection might save 8 seconds. So I guess I predict a better video that is 13 minutes or less in length.
Spikestuff
They/Them
Editor, Publisher, Expert player (2649)
Joined: 10/12/2011
Posts: 6442
Location: The land down under.
First Start with this: View > Display Subtitles Subtitles within BizHawk requires right clicking the game screen itself, a menu will pop up. Choose Add Subtitles to place subs in at that said frame. To modify the subs do the same thing as before but select Edit Subtitles. To note: Subtitles will be converted to an .srt format, so if you do have your subs placed around in "random" areas they will be set straight to the bottom. See Langrisser 2's TAS for example. Edit: Looking over your TAS it's fairly sub optimal. For starters 'cause it's my favourite part, is that you're end input could be ended my sooner than where it does. (84374 not 84388) The second notable part, is that you're doing input like this: Down,*Lag Frame*,Down Your input won't register since this happens. This occurs quite a lot in your TAS. Even if the case is meant to be like: Down,*Lag Frame*,Down,*Blank*,Down. You still have the chance of that blank frame being the frame you want to hit down on instead. This last one probably gets factored out due to RNG. Terrible startup to the game. Please don't use the Autofire in your input.
WebNations/Sabih wrote:
+fsvgm777 never censoring anything.
Disables Comments and Ratings for the YouTube account. Something better for yourself and also others.
ars4326
He/Him
Experienced player (778)
Joined: 12/8/2012
Posts: 706
Location: Missouri, USA
CogneatoSwitch, to elaborate on what Spikestuff addressed, using auto-fire isn't the best method to use when TASing. You'll want to get into the habit of using frame-advance and manually attempting to advance menus, and such, at the earliest possible frame. I made a brief test run, up to the stat creation screen, that saved 6 frames just on optimizing input. Also, and I don't know how this would affect your scripts, but I saved over 300 frames at stat creation by getting values that were just below the max allocation of 109. I stopped before deciding on IQ since finalizing from there will determine the initial RNG seed (otherwise, the AI sent a Ninja toward my fief for the game's very first move!).
Confirming last stat will determine RNG seed.
Anyhow, this isn't necessarily grounds for rejection; just me chiming in and sharing tips for better TASing. I'm still in the process of judging your run, and should have a final decision made later on in the day.
"But as it is written, Eye hath not seen, nor ear heard, neither have entered into the heart of man, the things which God hath prepared for them that love him." - 1 Corinthians 2:9
TASVideosGrue
They/Them
Joined: 10/1/2008
Posts: 2786
Location: The dark corners of the TASVideos server
om, nom, nom... om, nom, nom... nom nom
Joined: 12/29/2014
Posts: 16
CogneatoSwitch wrote:
In a battle, unit movement always goes from 1 to 5, with 2 and 3 being the most powerful units. I typically send the 4 or 5 to get killed by the enemy's 2 or 3, and save my 2 and 3 to kill the enemy's leader. In this particular video, it didn't matter. However, I agree that changing the assignments before the battle will greatly enhance speed, even if it costs a whole season.
I communicated what I was trying to say poorly. There is a mechanic in the game--I'm going to look it up--that lets you reassign your army units, and you can assign 4 and 5 out of the picture entirely, meaning you have fewer input spam to deal with. Yes, checked it out and it's the assign command on the second page. Now what I can't remember is if that affects a "worldwide" change or if it only makes a change in the fief where you do it. But it's possible that getting rid of units 4 and 5 prior to the final battle in Fief 4, with all the other fiefs on direct, would save time in the long run because of both larger quantities of men in units 1-3, and also not having to move as many units each turn.
Player (23)
Joined: 7/26/2015
Posts: 9
Spikestuff wrote:
Edit: Looking over your TAS it's fairly sub optimal. For starters 'cause it's my favourite part, is that you're end input could be ended my sooner than where it does. (84374 not 84388) The second notable part, is that you're doing input like this: Down,*Lag Frame*,Down Your input won't register since this happens. This occurs quite a lot in your TAS. Even if the case is meant to be like: Down,*Lag Frame*,Down,*Blank*,Down. You still have the chance of that blank frame being the frame you want to hit down on instead. This last one probably gets factored out due to RNG. Terrible startup to the game. Please don't use the Autofire in your input.
Yes, in the future I shall end it sooner. I thought it would make for a better show, rather than worrying about the absolute shortest. What on Earth is Autofire? I hand-crafted every script, and autofire wasn't one of them. What is the effect of it, and how can I avoid recreating it? It sounds like you want a minimal input style, rather than a stream. That is, when I need to press "down" to change numbers, I should press it for exactly 1 frame and wait until the lag frame passes (3 frames, typically) before pressing again, rather than press-and-hold for 4 frames, or toggle on/off every other frame. Is that correct?
Player (23)
Joined: 7/26/2015
Posts: 9
ars4326 wrote:
CogneatoSwitch, to elaborate on what Spikestuff addressed, using auto-fire isn't the best method to use when TASing. You'll want to get into the habit of using frame-advance and manually attempting to advance menus, and such, at the earliest possible frame. I made a brief test run, up to the stat creation screen, that saved 6 frames just on optimizing input. Also, and I don't know how this would affect your scripts, but I saved over 300 frames at stat creation by getting values that were just below the max allocation of 109. I stopped before deciding on IQ since finalizing from there will determine the initial RNG seed (otherwise, the AI sent a Ninja toward my fief for the game's very first move!). Anyhow, this isn't necessarily grounds for rejection; just me chiming in and sharing tips for better TASing. I'm still in the process of judging your run, and should have a final decision made later on in the day.
The opening sequence is the least optimized, as it is the rarest script used. Also, I purposefully wait frames in the beginning to speed up the stat selection; the RNG seed starts as soon as the game begins, and so waiting frames earlier results in faster stats selection. I believe you are correct that I can save some time by ignoring Health and Drive to an extent; Health leads to sickness and (I think) plague, and Drive keeps enemies from attacking. Luck is tricky, because it's difficult to change after the game start, and if it is 30 less than the enemy's, ninjas will fail. Since Fief 13 has the highest luck and is one of the quickest killed, I believe it is faster to spend time at the stats screen rather than use seasons to increase luck. Char+IQ are directly needed to assassinate. I spend a majority of the time increasing Char so I can assassinate Oda. Thus, spending extra time at the beginning to maximize the stats saves me a huge amount of time later in the game. Overall, 6 seconds are not worth "saving" if only to spend 6+ seasons recouping the lost stats. Similarly, "saving" a few frames at the beginning isn't worth having to wait 10+ seconds for the better stats. That said, I only checked the first few wait frames (I've dubbed them "seeds"). It may be faster to wait longer on the title screen so the stats maximize faster.