00:10:43 Stable (0.32) branch on cbro.berotato.org updated to: 0.32.0-5-gee5d4526aa 05:01:54 Stable (0.32) branch on crawl.akrasiac.org updated to: 0.32.0-5-gee5d452 05:08:21 Unstable branch on crawl.akrasiac.org updated to: 0.33-a0-46-g92cb95d (34) 09:01:07 Ohio 09:02:50 <12g​e0ff> 👋 09:19:26 <12a​sciiphilia> https://www.youtube.com/live/jaubW4qVErg This is second demo of wtrec 1. Implemented server side recording feature - Implements a method to calculate the hash of a resource and treats it as a unit of change regardless of the version. - The 8000~10000 turn game takes about 7~8 MB of JSON data alone, and when compressed with 7z, it is compressed to about 300~400 KB. (Zip compression is 400~500 KB) 2. Implement playback speed 09:19:26 control and seek functionality. Now that I've implemented the player features, it really feels much more useful. 10:00:19 <09g​ammafunk> Looks very cool! One question: how do you deal with playback timing with the json approach? Ttyrecs capture the time the player waits between inputs so that pauses by the player are registered in the recording. This gives playback a much more natural feel, since you'll see, for example, the player's indecision as they prepare to make an important or risky decision. I'm not familiar with how this aspect is encoded in ttyrecs, but I 10:00:19 assume for wtrec, all "frames" have the same (configurable) delay between them? For ttyrec players, it's common to have a toggle to skip past periods of long inactivity, so the pauses don't get too long. 10:07:27 <12a​sciiphilia> Set the time of the first received data as startTime, and then for each subsequent data received, calculate and store timing, which is the difference between startTime and currentTime. When playing back wtrec at normal speed, all user delays will be accounted for. If you closely observe the video at the beginning of the playback, you can see that the playback had paused for 70 seconds while the user was AFK so I had to forcibly skip 10:07:27 frames. 10:08:04 <12a​sciiphilia> https://cdn.discordapp.com/attachments/747522859361894521/1280575050285715466/image.png?ex=66d893f3&is=66d74273&hm=b19081b814421f154e84a6506860b20400f23157072c248365e5480c75d41372& 10:22:24 IPBT has "a mode in which the delay between frames is scaled in a non-linear fashion: small delays are changed very little, but extremely large delays are made significantly less large, so that an hour between frames in the original recording becomes only about eight seconds, a day becomes eleven, and even a year between frames would become around seventeen seconds" 10:25:09 <12a​sciiphilia> I was simply trying to adjust the maximum delay using min, but your approach seems much smarter. I'm not sure what a nonlinear formula is, but it seems that using a logarithmic scale for larger intervals while maintaining the delay for smaller ones could achieve a similar adjustment. 10:26:51 (It's not my approach but that of Simon "PuTTY" Tatham) - this is a logarithmic approach 10:27:25 <12a​sciiphilia> By the way, what does the acronym IPBT stand for? 10:27:51 I don't know, which is embarassing because I've asked him at least once 10:28:21 "nonlinear" is as distinct from the ordinary "linear" mode of speeding up playback, where if two seconds become one second, 60 seconds become 30 seconds 10:32:04 <02s​entei> For Dcssreplay, I put in a setting where you can set the max time between frames, everything above that gets shortened to the max, something like 500ms max works quite well for easily digestable playback, except for menus. 10:33:30 <12a​sciiphilia> Thank you for sharing the specific numbers based on your experience. Did you handle the menu differently? 10:34:13 <12a​sciiphilia> Since the menu contains a lot of text, it might definitely be better to allow for a longer wait time. 10:35:57 <02s​entei> No, I didnt handle it, but thats the default, so it can be adjusted by user who want to see menus for longer. In my usage I just go back using the controls if the menu is important to the situation, since it usually is t. 10:41:18 <12a​sciiphilia> Anyway, the next goal is to create a mini view mode where HP/MP stats are displayed simply within a LOS-sized space, and two lines of messages are visible. The menu might be difficult to handle, so I’ll probably only show icons. Once this mode is completed, it could be used on the wtrec listing page or in the CNC server lobby. 11:07:58 <09g​ammafunk> IPBT is a terminal-based ttyrec player; See https://www.chiark.greenend.org.uk/~sgtatham/ipbt/ipbt.html and https://git.tartarus.org/?p=simon/ipbt.git;a=blob_plain;f=README;hb=HEAD for details. Per the readme, IPBT stands for "It's Play-Back Time" 11:08:27 <09g​ammafunk> There are a few terminal ttyrec players out there, as well as a notable java-based one called jettyplay with a nice GUI 11:08:28 <09g​ammafunk> ??jettyplay 11:08:29 <04C​erebot> jettyplay[1/1]: jettyplay is a good Java-based ttyrec player that's part of the nethack4 project. Can run on Unix/Linux, Windows, OS X. http://nethack4.org/projects/jettyplay/ 11:08:41 <12a​sciiphilia> It was a ttyrec player, I thought it was some kind of protocol lol 11:09:12 <09g​ammafunk> I like jettyplay's functionality in terms of search and seeking, but it has some issues with rendering ttyrec recordings properly, especially for extended color terminals 11:11:05 <09g​ammafunk> Actually, as I recall, it can player extended color ttyrecs, unlike ipbt, but it has general issues with rendering ttyrecs. Your ttyrec player (I guess the rust-based player that you use as a library) seems to handle all the encoding issues well. I wonder if it's been tried with extended color ttyrecs 11:12:30 <12a​sciiphilia> Are you referring to the web player we discussed last time? (asciicinema) 11:12:41 <09g​ammafunk> yes 11:13:27 <12a​sciiphilia> Are DCSS ttyrecs also recorded as extended color ttyrecs? This is the first time I'm hearing about it. 11:14:20 <12a​sciiphilia> If there's an extended color ttyrec file available for testing, you can probably upload it to https://asciinema.org and see if it plays correctly. 11:15:53 <12a​sciiphilia> Oh, the extended ttyrec supports 24-bit color, not 256. That's interesting. 11:17:46 <09g​ammafunk> they're recorded according to the TERM setting of the terminal session, so yes, if a user has a TERM setting that uses 256 color, like xterm-256, the ttyrec will reflect this, since the crawl binary terminal output reflects this. For webtiles players, a default TERM is used, which isn't 256 color 11:18:13 <09g​ammafunk> I'm not sure about 24-bit color terminals, I was really referring to 256 color ones 11:18:34 <09g​ammafunk> (The default encoding is only 16 colors) 11:19:47 <12a​sciiphilia> https://docs.asciinema.org/manual/player/ 11:19:52 <12a​sciiphilia> multiple color themes for standard 16 colors + support for 256 color palette and 24-bit true color (ISO-8613-3), 11:20:27 <09g​ammafunk> yeah, looks good 11:20:53 <12a​sciiphilia> Is CDI recording ttyrec as a 256 color terminal rather than the default TERM setting? 11:21:31 <12a​sciiphilia> Does the crawl terminal version use more than 16 colors? 11:22:29 <09g​ammafunk> It is based on what the user has configured, as I said above. That is, crawl will output terminal data according to 16 color if that's what the user's terminal is configured for, and it will output terminal data according to 256 color likewise according to the terminal settings. Internally crawl only knows about 16 colors for terminal output, but the encoding of the terminal output will vary depending on the user's TERM setting 11:22:45 <09g​ammafunk> so CDI does not have a 256 color terminal nor a 16 color terminal, the user does 11:23:27 <09g​ammafunk> A server admin can change certain crawl settings that influence the encoded output in the default RC, but I don't think any do this 11:23:32 <12a​sciiphilia> Aha, so it reflects according to user settings. I misread it. 11:23:52 <09g​ammafunk> right, specifically it's the users TERM shell variable that dictates this 11:24:35 <09g​ammafunk> I'm not anything close to a terminal encoding expert though, so if you want anything more accurate than that, you'd have to ask an expert :gammafHeh: 11:25:53 <09g​ammafunk> Ancient technology...from the time before the creation of the ORB of Zot.... 12:09:45 @g_ammafunk I extended jettyplay to play 24 bit and updated the underlying terminal code a while ago. https://github.com/UnNetHack/jettyplayNG/releases/tag/2020.12.11 12:11:13 jettyplay uses the termincal code from ConnectBot (if you're using Android and want a good ssh client, this is the one) 12:12:32 <09g​ammafunk> @bhaak Oh, great! I still have an older version I downloaded a long time ago, so I'll definitely check that out, thanks 12:55:54 <08r​axraxraxraxrax> "It's PlayBack Time" sprang to mind unbidden when I saw this question but I'm not 100% sure that's right. 12:57:35 <09g​ammafunk> You are right! I linked the README above where it says that. 12:58:08 <08r​axraxraxraxrax> Oh I missed that, sorry! :D Thank you for the readme link. 14:49:07 New branch created: pull/4005 (1 commit) 13https://github.com/crawl/crawl/pull/4005 14:49:08 03Samantha Tobias02 07https://github.com/crawl/crawl/pull/4005 * 0.32-a0-1319-g08aa2b3257: fix: "Ran out of altars for temple" error (thirdmesn, Vajrapani) 10(79 seconds ago, 1 file, 9+ 9-) 13https://github.com/crawl/crawl/commit/08aa2b3257a3 15:40:02 Unstable branch on underhound.eu updated to: 0.33-a0-46-g92cb95d158 (34) 15:47:13 New branch created: pull/4006 (1 commit) 13https://github.com/crawl/crawl/pull/4006 15:47:13 03Alejandro Ramirez02 07https://github.com/crawl/crawl/pull/4006 * 0.33-a0-47-g7f3d23b6c9: Ensure only actual spells trigger SpellMotor (#4003) 10(8 minutes ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/7f3d23b6c918 15:50:35 <04d​racoomega> Oh no 15:52:30 <06p​leasingfungus> lol 16:28:18 -!- robin is now known as lispwitch 16:28:25 -!- lispwitch is now known as robin 16:49:30 <09g​ammafunk> good wand tech! thematically appropriate! 18:01:19 <06m​umra> for coglins yes this should actually be expected 18:01:43 <06m​umra> my PR would fix all this anyway so all spellcasting has a reason 18:02:43 <06m​umra> and whether or not you want coglin evocations to count could be controlled in a reasonable way 18:03:42 <06m​umra> the current way that your_spells (and other closly related functions) are implemented has many bugs 18:04:00 -!- ssm_ is now known as ssm 18:09:42 <06p​leasingfungus> impossible. there are no bugs in crawlcode 18:41:24 <04d​racoomega> Thematically appropriate, perhaps, but I think not at all something one would intuitively suspect (possibly also too good? Less clear). I did consider a rev-based wand-focused gizmo at one point, actually. (Would just have merged the PR immediately - and into 0.32 also, since really I consider it a bugfix - but also wanted to test first and I am running on way too little sleep today T.T) 18:41:56 do we really need another Pakellas? 18:47:51 <04d​racoomega> What? Did I miss something? 18:48:17 <04d​racoomega> (I meant that bugfix PR up there, if I wasn't clear about it) 18:48:19 <06p​leasingfungus> we just shipped pakellas 2 18:49:01 the coglin gizmo working on wands and some other evokables seems like pakellas-lite 18:49:11 <06r​egret-⸸nde※> Pakellas's problems were more about how rods didn't have enough variation to cover the god variety slot + justify the regular weapon-swapping, while wands back then were much more boringly strong potion replicas, than evocations inherently being a bad theme to work with. 18:49:44 <06r​egret-⸸nde※> (After all, the gizmo isn't giving away free items like Pakellas did.) 19:39:50 -!- The topic of #crawl-dev is: Crawl Development | https://github.com/crawl/crawl | Logs: http://s-z.org/crawl-dev/, temporarily http://crawl.akrasiac.org/logs/cheibriados/ | People with +v have commit access, devs on bridged discord as well | General Crawl-related chat to #crawl | Long stuff to a pastebin service, please 19:39:50 -!- The topic of #crawl is: Play Dungeon Crawl Stone Soup online now! Type ??online for instructions, ??lg / !lg for play stats | PM Sequell for long queries | http://crawl.develz.org | FooTV game replays: ??footv for instructions | #crawl-dev for dev discussion, #crawl-offtopic for offtopic 19:56:51 <08n​icolae> fr a gizmo mode (gizmode) that gives away free items 23:45:23 Monster database of master branch on crawl.develz.org updated to: 0.33-a0-46-g92cb95d158