But that makes it trivial to "manipulate"- you find actions to advance/pop numbers off the stream, why not?
(Isn't that somewhat how DW3's general RNG and Chrono Trigger's critical-determining sequence work?) Of course, you could make it so each separate event type uses a different stream..
As for making something hard to TAS...fill hidden status flag bytes (Cannot Critical of FF4?) with noise off the RNG, to make memory searches harder.
Link stat-ups to mileage(SFR2049), time, or similarly speed-defeating characteristics.
Require playthrough save to access highest difficulty.
Require unimplemented hardware as copy protection implemented in crazy diverse ways, such as an adaptor requiring an E.T. Atari cart reading quirkily-selected values and combining with the ROM's to create necessary-to-continue data. Make the proper choice unselectable until such verification occurs.
Make 'perfect' play penalized. ("Don't e'en THINK of using a turbo controller. I'll know.")
If you haVe cycles to spare, make the RNG sampling independently randomized. Mash in other data to make a simple test (start fight at full health, watch values and test for what happens on crit) insufficient. Fudge answers if necessary to prevent (on enemy) or promote (on player) poor outcomes, but only when it can matter.
Make long invulnerability periods.
hardest game to TAS: a 4-player multiplayer game on goldeneye or perfect dark. 3D games are usually harder than 2D games to TAS, but doing it in 4 player would be extremely hard and slow. it would be cool to see though.
It's not always that easy. Particularly when the only way to pop numbers is to do the action that you don't want to do.
Rockman & Forte, a game I TASed, has an RNG that does not run every frame. Fortunately, you can advance the RNG through shooting, which does not waste time. In fact, because of this, the fact that the RNG only advances when required is a good thing since I have more control over it.
On the other hand, FDS Backgammon has a RNG that (after the title screen) only ever advances when determining dice rolls. The only way to advance it is to do the dice rolls in the first place. So if the game gives you a roll sequence of 1-2, 1-2, 1-2, ... , you can't do anything about it.
The problem with fixing the seed early is that it's still possible to manipulate the rng in an RPG by changing your path and staying in different zones different amounts of time.
This was done a lot in final fantasy one. The game would decide that the next random encounter was in X steps, and there's nothing you could do about it. unless you ended up in a no encounter zone ro changes areas to change the content of the encounter.
Even if there were many separate streams, it would STILL be possible to sync them by changing the locations of the random encounters, and thus their contents.
You tell me an "unmanipulatable" RNG system in an RPG and i'll tell you how to manipulate it.
Preventing luck manipulation in an rpg can only be done be deliberately detecting it. The objective here is to look for BS levels of luck manipulation. For example, all random encounters getting manipulated away in dragon warrior for the first fourth of the game would be caught by this hypothetical check. It would start throwing in unskippable encounters every step for a while until the games sense of lucky breaks has been satisfied.
Or lets say your criticla rate is supposed to be 5% But your effective critical rate so far (after 100 swings) has been 100%. Obviously manipulation has been going on, and the game needs to push back to stop the TAS attempt. SO it will make you start missing and failing your saves when it matters later.
If someone gets such unbelievable luck without manipulation, they would expect it to run out sooner or later.
But yuo CAN make different choices for your moves, which will also manipulate the computers actions, and pick the most advantageous ones with knowledge of future rolls and actions.
Not that TASing a boardgame is interesting, unless you can manipulate the dice.
No, it's actually very easy.
When you are at an area where you are supposed to have gotten an item first, check for the event flag that gets set when you got the item. If the event flag isn't set, then you have broken the sequence. Oh wait, you didn't bother to set an event flag? A little reprogramming later, and one more bit in the save file and you have your event flag.
Take an example from Super Metroid. It is possible to get Super Missiles before beating Spore if you sequence break. Killing Spore already sets an event flag i think (on the set of statues) so if that event flag is not set, remove all super missile pickups from the game until it gets set.
Metroid Fusion actually detects a certain sequence break, and tells you to go back and do what you were supposed to do afterwards. Every other sequence break in the game is actually supposed to be there.
It is TRIVIAL to detect a sequence break. Yet very few programmers bother to do it, and assume it can't happen, sometimes with disatrous results.
Joined: 11/22/2004
Posts: 1468
Location: Rotterdam, The Netherlands
In Final Fantasy 3j, this is sort of how the randomness works before a battle. As far as I'm aware, you can't manipulate your luck (e.g. critical hits, etc.) during a battle, but you can change the conditions before it begins. Since I couldn't figure out how to effectively do this without having to fight tens, if not hundreds of battles just to get past random encounters, I decided to quit trying.
Having tried it, I say LttP as it desynchs at very random times. I got halfway through a run then quit because it randomly desank (now I'm making up words) at the beggining. 3 months wasted.
See Youtube page (GIRfanaticTAS) for all runs and stuff.