Let's Play Angband video series

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • d_m
    Angband Devteam member
    • Aug 2008
    • 1517

    #16
    So if you go up or down stairs, does it continue recording? Are you guaranteed to get the same level? Or are movies limited to recording action on one particular level?

    This is really interesting. I'm excited to see some movies!
    linux->xterm->screen->pmacs

    Comment

    • Pete Mack
      Prophet
      • Apr 2007
      • 6883

      #17
      No--movies are more like the Borg.

      Once macros* (which are mostly term-level stuff) are parsed, everything looks like a single keystroke or other UI event. It just keeps replaying the game until the log runs out.

      (It's a bit more complicated, to allow for external inputs like screen refreshes, pauses, and quits, but not much--and as Eddie suggested, there's a possibility of a small set of legitimate commands like inventory that won't affect the game state--even the 'l'ook/e'x'amine command can't be allowed in most cases, because it changes targeting!)

      I've got the basic logging written, now I'm hooking it into inkey().


      * and I was wrong about writing macros to the special user prefs. They are processed before logging. keymaps are important, so I need to split them out of the macro_dump pref file writer.

      EDIT
      PS to Niles:
      Sorry about hijacking your thread!
      Last edited by Pete Mack; August 16, 2009, 17:48.

      Comment

      • Pete Mack
        Prophet
        • Apr 2007
        • 6883

        #18
        For those who are curious, the fundamental changes are instumenting inkey_ex correctly, and adding the logger. There are other changes like disallowing saves and many user commands, but for hands-off use, these changes should suffice.

        I'm still debugging, but this gets the basic idea.

        EDIT:
        BTW, isn't about time to join the 90s and replace "aux" with "impl"?
        Also: the Borg's 'Mega-Hack' for injecting characters really is a Mega-Hack. There is a right way to do this. See diffs.txt
        Attached Files
        Last edited by Pete Mack; August 16, 2009, 21:07.

        Comment

        • Nile
          Scout
          • Jul 2008
          • 31

          #19
          Originally posted by Pete Mack
          PS to Niles:
          Sorry about hijacking your thread!
          Hey, no problem!

          Comment

          • Arphod
            Apprentice
            • Nov 2008
            • 50

            #20
            Originally posted by Pete Mack
            That said, I wouldn't mind watching a really serious dive (< 250K turn win). I have a very poor feel for strategy at that level; watching a single game might make a huge difference.
            Oh man, somebody please do this.
            Little Willie was a chemist
            Willie is no more.
            What he thought was H2O
            was H2SO4.

            Comment

            • Pete Mack
              Prophet
              • Apr 2007
              • 6883

              #21
              Well, it's bedtime and I am recording a "movie". I do have an idea about whether it will play back or not: not.

              As I don't want to do any more debugging, I'm not going to try replay yet.

              EDIT: well, that plan worked out real well. I couldn't resist playing it back.
              After fixing a couple silly bugs, it's kind of working, but it's hopelessly fragile.

              Good night all.
              Last edited by Pete Mack; August 17, 2009, 07:55.

              Comment

              • grapejoose
                Rookie
                • Aug 2009
                • 11

                #22
                That said, I wouldn't mind watching a really serious dive (< 250K turn win). I have a very poor feel for strategy at that level; watching a single game might make a huge difference.

                I would love to see this. I'd probably even pay someone for this. :b

                Comment

                • Rizwan
                  Swordsman
                  • Jun 2007
                  • 292

                  #23
                  Originally posted by grapejoose
                  That said, I wouldn't mind watching a really serious dive (< 250K turn win). I have a very poor feel for strategy at that level; watching a single game might make a huge difference.

                  I would love to see this. I'd probably even pay someone for this. :b
                  Maybe we should have poll to see how many people would like to see such a movie and by whom?

                  Comment

                  • Marble Dice
                    Swordsman
                    • Jun 2008
                    • 412

                    #24
                    I can't tell you how many times I've wished this thread was real.

                    Comment

                    • Pete Mack
                      Prophet
                      • Apr 2007
                      • 6883

                      #25
                      Damn. I thought that if I carefully recorded every keystroke (or other event) that actually returns to the game, and also carefully disable macros so that they don't get converted a second time*, the game would replay. But somehow, it doesn't.

                      I am trying to move down 3 steps. They get recorded, correctly, as:
                      Code:
                      ;j2;j2;j2
                      On replay, the first move is translated correctly, as a step south.
                      But the second step is translated starting with '2', not ';' and then all hope is lost.

                      Oh well, off to work.


                      * re-enabling them when there's actually interactive input from the terminal.

                      Comment

                      • myshkin
                        Angband Devteam member
                        • Apr 2007
                        • 334

                        #26
                        Originally posted by Marble Dice
                        I can't tell you how many times I've wished this thread was real.
                        If you really and truly love it, it will become real.

                        Comment

                        • Pete Mack
                          Prophet
                          • Apr 2007
                          • 6883

                          #27
                          OK, I wasn't thinking. keymaps get pushed back on the queue, so they wree getting treated twice. I just watched a movie of a Half-Orc warrior
                          1. going to the store,
                          2 buying a stack of oil,
                          3 going down the stairs to kill Morgoth.

                          There's no features except crude playback and screen refreshes, but the end is in sight

                          Comment

                          • Pete Mack
                            Prophet
                            • Apr 2007
                            • 6883

                            #28
                            Damn. I was too quick. I realized I'm logging at to physical a level, which would be appropriate before ajps' changes. All I have to do is log "commands" --
                            Code:
                                s16b command_cmd;       /* Gives identity of current command */
                                s16b command_arg;       /* Gives argument of current command */
                                s16b command_rep;       /* Gives repetition of current command */
                                s16b command_dir;       /* Gives direction of current command */
                                int  command_inv;       /* Gives item of current command */
                                ui_event_data command_cmd_ex; /* Gives additional information of current command */
                            and the rest of the state should take care of itself.

                            Comment

                            • Sirridan
                              Knight
                              • May 2009
                              • 560

                              #29
                              Will this amazing bit of code actually play a recorded game start to finish, same levels/drops/etc?

                              EDIT: Aaah, the post with the pre-alpha patch vanished!

                              Comment

                              • Pete Mack
                                Prophet
                                • Apr 2007
                                • 6883

                                #30
                                Never fear--I moved it to a separate thread.

                                And yes, it is sufficiently stupid (ie primitive) to play a whole game through.
                                If you are curious, examine the changes to util.c--that's the only thing that caused any sweat.

                                Comment

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