It's aliiive! Angband replay logger works

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • PowerDiver
    Prophet
    • Mar 2008
    • 2820

    #16
    Originally posted by Pete Mack
    * No hooks for screen resizing, so make sure to set your screen size to the size as the original game. (In other words, use 24x80.)
    I don't know if I can go back to 24x80. Would it be possible to make the & command prompt for dimensions and then resize so one could play 150x50 ?

    Comment

    • Pete Mack
      Prophet
      • Apr 2007
      • 6883

      #17
      The log already "supports" resizing, as the very first log record is an EVT_RESIZE (x,y), so use whatever size you want. The only thing left is to hook up z-term.c and main-xxx.c to allow a program-driven resize event, but that only affects replay, not recording.

      Comment

      • Pete Mack
        Prophet
        • Apr 2007
        • 6883

        #18
        Oh, yeah, there's one more known bug.

        By default, the "record movie" command will chose the same file name every time, so it will overwrite previous sessions. During debugging, this was very much by design. In production, not so much.

        Comment

        • grapejoose
          Rookie
          • Aug 2009
          • 11

          #19
          Doesn't work for windows? boooo, I'll never get to see a super diver at work!! :b

          Comment

          • Pete Mack
            Prophet
            • Apr 2007
            • 6883

            #20
            It's a trivial fix; Windows compatible logger.c file is attached. Note that I haven't tried compiling it, much less running it, on windows, so you are on your own there.
            Attached Files
            Last edited by Pete Mack; August 24, 2009, 06:41.

            Comment

            • david3x3x3
              Scout
              • Jun 2009
              • 28

              #21
              Has anyone made interesting recordings with this patch yet?

              Comment

              • Pete Mack
                Prophet
                • Apr 2007
                • 6883

                #22
                Originally posted by david3x3x3
                Has anyone made interesting recordings with this patch yet?
                OK, this post inspired me, a bit.

                I just created a really basic movie -- a sort of companion guide for a newsgroup post I wrote a while back: diving exercise for newbies. It's a dive in 115K turns to stat gain depth. (Actually, only dl 1450', but I'd just recalled to town to sell a lot of stuff.

                It has some very careless play, because
                a. I was playing exceedingly fast.
                b. I was trying to make a point -- you can take pretty extreme risks, so long as you put a strict limit on your turncount. (Unfortunately, some of the risks were just plain mistakes...)
                c. I'm seriously out of practice.

                Unfortunately, there's no way to post it to the forum...

                If you genuinely want a copy, drop me a note, and I'll send it via email.

                EDIT:
                Here's the character dump.
                Last edited by Pete Mack; September 13, 2009, 08:47.

                Comment

                • Pete Mack
                  Prophet
                  • Apr 2007
                  • 6883

                  #23
                  Dayum. I tried replaying this movie--it went to cl 9, dl 10, 38K turns (time ticks), and then it went haywire. Back to the drawing board. I have no idea what could cause it to work for so many turns, then die

                  Comment

                  • PowerDiver
                    Prophet
                    • Mar 2008
                    • 2820

                    #24
                    Originally posted by Pete Mack
                    Dayum. I tried replaying this movie--it went to cl 9, dl 10, 38K turns (time ticks), and then it went haywire. Back to the drawing board. I have no idea what could cause it to work for so many turns, then die
                    Would it be possible to do something fancy so that you run your movie maker and your movie player side by side? I.e. play the movie as you make it. I'm not up on reading files as you write them, but I'm sure there must be a way.

                    Then you would get immediate feedback soon after things crashed.

                    Comment

                    • Pete Mack
                      Prophet
                      • Apr 2007
                      • 6883

                      #25
                      OK, I fiddled around a bit, and cleaned up the input model a bit. I've now been able to replay the entire log, all 3800 player turns.

                      There's still something wrong with the playback controls, but that doesn't affect basic playback.


                      EDIT:
                      And it was instructional. Watching my own play let me spot several bad habits I need to change.
                      Last edited by Pete Mack; September 13, 2009, 23:46.

                      Comment

                      • PowerDiver
                        Prophet
                        • Mar 2008
                        • 2820

                        #26
                        Any chance you can redo this for a more recent version? Or get it into the dev code?

                        Comment

                        • Magnate
                          Angband Devteam member
                          • May 2007
                          • 5110

                          #27
                          Originally posted by PowerDiver
                          Any chance you can redo this for a more recent version? Or get it into the dev code?
                          It would be superb if we could incorporate it into trunk. Pete, what does it depend on?
                          "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

                          Comment

                          • Lord Tom
                            Apprentice
                            • Nov 2009
                            • 73

                            #28
                            Interesting. With some minor tweaks, this project could allow running Angband in a "re-recording" mode, similar to what is done (as a hobby of mine) with emulators on old console games at tasvideos.org. The general idea is to make a movie of "perfect" gameplay by emulating the game frame-by-frame and then using savestates to redo any mistakes, manipulate luck, and otherwise optimize things.

                            Obviously, Angband is inherently frame-by-frame. But savestates could be used to manipulate item generation, critical hits/enemy behavior to a great extent. I've often imagined what a "perfect" run of Angband would entail -- though there's no one answer, I picture a super-fast ironman dive where seemingly every monster killed drops just what is needed; in the endgame no healing is needed because Morgoth casts only (unsuccessful) brain smashing spells or melees to little avail.

                            Not sure what the replay value of such an effort would be, but I think it'd be cool.

                            Great work!

                            Comment

                            • fizzix
                              Prophet
                              • Aug 2009
                              • 3025

                              #29
                              Originally posted by Lord Tom
                              Interesting. With some minor tweaks, this project could allow running Angband in a "re-recording" mode, similar to what is done (as a hobby of mine) with emulators on old console games at tasvideos.org. The general idea is to make a movie of "perfect" gameplay by emulating the game frame-by-frame and then using savestates to redo any mistakes, manipulate luck, and otherwise optimize things.

                              Obviously, Angband is inherently frame-by-frame. But savestates could be used to manipulate item generation, critical hits/enemy behavior to a great extent. I've often imagined what a "perfect" run of Angband would entail -- though there's no one answer, I picture a super-fast ironman dive where seemingly every monster killed drops just what is needed; in the endgame no healing is needed because Morgoth casts only (unsuccessful) brain smashing spells or melees to little avail.

                              Not sure what the replay value of such an effort would be, but I think it'd be cool.

                              Great work!
                              I think the tool assisted speedrun of Angband would be incredibly boring. Most other video games do not have as much of a luck or random element. The ones that do tend to be extremely uninteresting because they're so far removed from reality.

                              I.E. There's nothing in the code that prevents you from going down into the dungeon, dropping near a bunch of kobolds or hobbits and having each of them drop potions of !EXP, !AUG, or high level artifacts. However the rarity of that happening is astronomical in a real game. If you're manipulating luck you can do anything.

                              Comment

                              • Magnate
                                Angband Devteam member
                                • May 2007
                                • 5110

                                #30
                                Originally posted by fizzix
                                I think the tool assisted speedrun of Angband would be incredibly boring. Most other video games do not have as much of a luck or random element. The ones that do tend to be extremely uninteresting because they're so far removed from reality.

                                I.E. There's nothing in the code that prevents you from going down into the dungeon, dropping near a bunch of kobolds or hobbits and having each of them drop potions of !EXP, !AUG, or high level artifacts. However the rarity of that happening is astronomical in a real game. If you're manipulating luck you can do anything.
                                But what would be quite good with this functionality would be to record real games, without manipulating anything. You could post them alongside chardumps and see how people played, and what sort of luck they had.
                                "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

                                Comment

                                Working...
                                😀
                                😂
                                🥰
                                😘
                                🤢
                                😎
                                😞
                                😡
                                👍
                                👎