Tool Assisted Speedplay on ZX Spectrum?

edited July 2010 in Emulators
I wonder if anyone ever thought about adding Tool Assisted Speedplay support in ZX Spectrum emulators?

The idea of TAS is to create input recording (similar to RZX) of beating a game as fast as possible using all the possibilities of the emulators, like slowdown or frame-by-frame modes, save states, etc. which provides the player with incredible reaction, prediction of events, etc. TAS is not about hacking, the game data and code remains completely unchanged (however, the code is often examined in order of searching useful bugs). It is not about gaming skills as well, it is about creating some new art by removing human's limitations. Here is example how it looks like: Super Mario Bros on NES, one of the most optimized TAS movies.

I think it would be cool to see something similar for popular ZX games. To my knowledge, currently there are no emulators which has neeeded features to create TAS movies. The features are input recording, re-recording from save state, frame-by-frame advance.
Post edited by Shiru on
«1

Comments

  • edited July 2010
    I don't think it's quite true to say that the tools don't exist: unless I'm missing something, this isn't fundamentally different to the rollback-assisted recordings on the RZX Archive, just on a more obsessive level :-) You could probably recreate this sort of thing with a combination of rollback, incredibly low speed settings, and lots of patience... just compare it with the RZX of Technician Ted, which had its difficulty pitched so badly that a successful completion more or less *had* to be a speed run.

    But fair enough, I suppose there's a sliding scale from the emulator features we've got now to the ultimate RZXing tool, which I guess would be something to let you edit recordings at the level of individual port reads.
  • edited July 2010
    The features are input recording, re-recording from save state, frame-by-frame advance.

    But that's exactly what rzx recording does :-o

    input recording - yes, it records your input :)
    re-recording from save state - rollback
    frame-by-frame advance - set emulator to 5% while rzxing and you'll have a lot of time betweeen frames



    I'm rather suprised that others discovered at last that you can record keypresses instead of making lossy mp4 movies :)

    I do quite a lot of rzx recording on Spectrum but I don't like neither speedruns or compulsive-obsessive striving for perfection.

    As for speedruns they skip all the texts and animations I would like to see, use dirty tricks, player doesn't collect things and bonuses and for me all the gameplay looks wrong, not as it was supposed. I prefer to watch a normal game run.

    As for the perfection, what perfection? Shortest time, collecting everything, never being hit? They make your recording will take much more time to complete
    If somebody would like to try this type of game recording, I'd be curious to see it, but personally I'm not going into it.
  • edited July 2010
    Rollback (rewind) and save state are rather different things. Frame advance and slow speed are very different, frame advance is a must for TASing. So far I haven't found any emulator with ZX support which has at least frame advance. To start with any attemps of creating ZX TAS I need at least frame advance and on-screen frame counter.

    I don't care about usual speedruns. TAS is insteresting for me because it is a whole new level of the play - play with the game instead of play the game. It is very cool to see crazy things is a game you thought you know perfectly for many years.

    Anyway, I'm not going to discuss is TAS good or bad thing. The thing exists for many years, has international community, and here are hundreds of movies for most of consoles, but very few computers. I'd wish that ZX was among these computers too.

    Some more examples:

    Mega Man - every Mega Man game has a lot of cool glitches which could be heavily exploited as shortcuts (starts from ~1:00)
    Excitebike - in this game a superhuman can achieve super speeds, faster than screen updates
    Contra - a superhuman can play for two players at once and beat the bosses in a second
  • edited July 2010
    ZXSpin already has it - action scripting. Oh, it also has frame advance, and has done for a very long time. It will not tell you which frame you're on though. I'm not sure how you differentiate between rollback and save-states. Rollback isn't rewind - it's restoring the emulation to a previously saved state, and recommencing the recording from that point, discarding any errors you made that caused you to roll back. Most speccy emulators these days have rollback, but ZXSpin was the first AFAIK - Dunny invented it for exactly the reason you want to use it.
  • edited July 2010
    ZXSpin was the first emulator I've tested. I haven't seen anything like frame advance neither in menus nor in the help/shortcut list, and also haven't seen any info on 'action scripting' to check if it could be useful.
  • edited July 2010
    Shiru wrote: »
    ZXSpin was the first emulator I've tested. I haven't seen anything like frame advance neither in menus nor in the help/shortcut list.

    Right-Click the Pause button for more options including frame advance.
    The Reset button has option for USR 0 reset too.
  • edited July 2010
    Thanks, that wasn't obvious. Well, there is no hotkey, so this is not very usable right now. At least, seems that Spin could be modified rather easily (hotkey and frame counter) for minimal TAS capabilities. However, as far as I know, it is closed-source, and author not going to continue it (read somewhere on this forum).
  • edited July 2010
    Also thanks. You can use emulator for years and still have no idea that it is able to do something.

    I always wondered :

    Why people devote a lot of their time to create great programs which will have some features, but don't care to devote little time to do a proper documentation for it, so most users won't ever discover these features :roll:
  • edited July 2010
    Ralf wrote: »
    Why people devote a lot of their time to create great programs which will have some features, but don't care to devote little time to do a proper documentation for it, so most users won't ever discover these features :roll:

    Remind me 1) exactly how much you have paid for Spin 2) why emulator developers get discouraged from continuing with their projects.
  • edited July 2010
    Ralf wrote: »
    Why people devote a lot of their time to create great programs which will have some features
    because it's fun
    Ralf wrote: »
    but don't care to devote little time to do a proper documentation for it
    because it's boring
    Ralf wrote: »
    so most users won't ever discover these features :roll:
    because they are writing the program for *their* amusement not yours and they know how all the features work :p
  • edited July 2010
    Remind me 1) exactly how much you have paid for Spin 2) why emulator developers get discouraged from continuing with their projects.

    And anyone cares because?

    Having an incomplete documentation is not a good thing, period. The rest is self-importance.
    guesser wrote:
    because they are writing the program for *their* amusement not yours

    Not to mention they only use it themselves anyway. Uh, yeah. No problem indeed. :)
  • edited July 2010
    Ok then. you guys whinging, go off and write your own emulators (fully documented of course) and then present them here.

    I'll check back in 3 months and see how many new emulators we have...
    I wanna tell you a story 'bout a woman I know...
  • edited July 2010
    Remind me 1) exactly how much you have paid for Spin 2) why emulator developers get discouraged from continuing with their projects.

    1)

    You know the answer ;-)
    Yeah, I know. Never look a gift horse in the mouth.

    2)

    However stiil I feel that constructive criticism is a good thing.

    I probably could even help myself to write a nice, dummy-friendly guide for Spin if the authors don't find it necessary or amusing and I think others would help too.
    The authors just never suggested it.
  • edited July 2010
    Ralf wrote: »
    However stiil I feel that constructive criticism is a good thing.

    Absolutely. It may be a language barrier, but your original comment didn't come across as constructive. On the other hand, offering to write documentation is constructive :-)

    On the other other hand, certain other people describing the lack of documentation as "self-importance" really don't help :-(
  • edited July 2010
    On the other other hand, certain other people describing the lack of documentation as "self-importance" really don't help :-(

    What I was actually 'describing' by it though, is the notion of "you pay $0 implying shut up and worship (or else I'm stopping all work on it)". The opposite statement, which is "you release this to the world implying take responsibility (or just keep it to yourself really)" sounds just about as 'positive', don't you think? However, the latter would never arise where there is no former.

    In the end, it's all a matter of actually acknowledging the existence of the users of one's product. When this condition is clear, it is no longer a necessity to keep defining definitions for constructive or what have you.
  • edited July 2010
    Hikaru wrote: »
    What I was actually 'describing' by it though, is the notion of "you pay $0 implying shut up and worship (or else I'm stopping all work on it)". The opposite statement, which is "you release this to the world implying take responsibility (or just keep it to yourself really)" sounds just about as 'positive', don't you think? However, the latter would never arise where there is no former.

    In the end, it's all a matter of actually acknowledging the existence of the users of one's product. When this condition is clear, it is no longer a necessity to keep defining definitions for constructive or what have you.

    I think the reason that Dunny doesn't work on spin anymore is because he doesn't like any of you very much. And it's not hard to see why, is it?
  • edited July 2010
    Looking after your users is pretty important. I think sometimes emulator authors (or authors of other tools) are guilty of thinking that they are in some way superior to everyone else, which is absolutely not the case.

    The fact is, without an active, enthusiastic community (which WoS most definitely is) to share feature requests, report bugs, and generally motivate developers to continue with their work, there'd be little point releasing an emulator publicly.

    In other words, it's a two-way dependency - the users being equally as important as the developers. Sure, sometimes people may make silly suggestions or be guilty of failing to fully appreciate the work involved in writing and maintaining a product, or adding a new feature, but I've never seen that done out of malice. If anything it's just down to over-enthusiasm and keen-ness for new toys to play with, or keen-ness to understand how existing toys work.

    I don't really know (or want to know) what went on with Dunny and SPIN, but I really hope he decides to return to SPIN development one day. I don't think it's really fair to blame WoS, or the Speccy community generally, though.

    If only I had the same level of appreciation and energy from the users of the stuff I write commercially that I get here!
  • edited July 2010
    Willy wrote: »
    I think the reason that Dunny doesn't work on spin anymore is because he doesn't like any of you very much. And it's not hard to see why, is it?

    Yep good point Dunny, oops sorry I meant Willy ;)
  • edited July 2010
    psj3809 wrote: »
    Yep good point Dunny, oops sorry I meant Willy ;)

    I am actually quite close to Dunny. He's a relative :-p
  • edited July 2010
    Meanwhile the thread floods with offtopic, I've checked all the ZX emulators with RZX recording support. None of them meet minimal requirements for TAS, and unfortunately, all of them (Windows versions) are closed source and half of them also old and discontinued. So seems the only choice is to make new emulator with needed features (based off something opensource), but I not need it that badly.

    Until recently, the only home computer which had emulators with TAS support was PC, and now there is MSX as well (no movies were made yet), which is cool, but none of the games I'd like to try were released on the MSX.
  • edited July 2010

    How?

    The movies on TASVideos are created with the help of emulators that have the capability of recording sequences of key presses - it is the key presses that are recorded, and the video and audio resulting from the emulator playing this back is what can be seen through the videos provided on the site. The emulators involved have been crafted to provide features specifically designed for optimal game play. The most common features are save states, allowing the author to return to an earlier point in the run (and thereby revert mistakes that are made, and the ability to play one frame at a time (known as frame advance), which removes the limitations of one's reflexes. Where even this isn't enough, some emulators allow for programming and 'bots' to further enhance the process.
    I fail to see why rzx recording and then (re)playing at (say) 1% speed doesn't comply with the above requirements. It might not be exactly single frame playback but you can make it that slow that effectively it is.



    Just because emulator X doesn't have some other advanced tools doesn't mean it doesn't comply.
  • edited July 2010
    Most of the time TAS recording performed frame by frame. It is not gameplay recording, you not playing the game when record, you record exact keypresses very precisely, which you plan beforehand in hundreds of attempts (good TASes has tens and hundreds of thousands of rerecords). Any other speeds only used in sections when you, say, have to run for a while holding just one key (simply to not press the advance key constantly).

    Frame advance and frame counter is a must. Otherwise you can't record exactly what you want, and can't measure how effective your actions are (thus can't plan).
  • edited July 2010
    Shiru wrote: »
    Most of the time TAS recording performed frame by frame. It is not gameplay recording, you not playing the game when record, you record exact keypresses very precisely, which you plan beforehand in hundreds of attempts (good TASes has tens and hundreds of thousands of rerecords). Any other speeds only used in sections when you, say, have to run for a while holding just one key (simply to not press the advance key constantly).

    Frame advance and frame counter is a must. Otherwise you can't record exactly what you want, and can't measure how effective your actions are (thus can't plan).

    Sounds like action scripting is pretty much what you want - you plan your keypresses on a frame-by-frame basis. Spin doesn't have any sort of visual editor for this as Dunny didn't get around to it but the scripting works fine and is text based.
  • edited July 2010
    Willy, do you have any knowledge how this action scripting works in Spin?

    All I can found is menu option: Recording/Load action script

    I never used it as I don't know how.

    How do you create this action script?
  • edited July 2010
    I've said already:
    Shiru wrote: »
    and also haven't seen any info on 'action scripting' to check if it could be useful.
  • edited July 2010
    I asked if Dunny would give any info about it, and he said that people should have taken notice of it when he added it years ago! Nobody was interested, so he dropped it. There was an example script which played a few screens of JSW2 which was packed with spin but he doesn't have that file anymore. It might be in old archives around the net.
  • edited July 2010
    Do we have to speak in third person all the time ? ;)
  • edited July 2010
    psj3809 wrote: »
    Do we have to speak in third person all the time ? ;)

    are you always this wrong?
  • edited July 2010
    Willy wrote: »
    are you always this wrong?

    Fair enough, time will tell ;)
  • edited July 2010
    Is it one person per IP address?
    I wanna tell you a story 'bout a woman I know...
Sign In or Register to comment.