Thanks for demonstration. Since you guys are working on a minimalOS/guestOS in (qemu?)-kvm, would it be possible to provide us his OS image? I would love to mess around with this hacked nethack version and possibly try to see if the python script could work.
Moderator, Senior Ambassador, Experienced player
(907)
Joined: 9/14/2008
Posts: 1014
Thanks - I'm surprised people have watched the demonstration, especially since it's an hour long. It's probably about as honest of an overview of how the system works as possible as there's about a four minute section in the middle where I repeatedly made typos causing confusing behavior (hint - make sure you actually save when exiting vim).
I *could* post the actual OS image but I need to find somewhere to put it; it's possible that I could commit it to github although I need to check on filesize limitations as the image is ~600 MB in size. With that said, it's probably best to create your own JeOS guest KVM and do a git pull inside of the guest. Having said that, the system is very custom-built and not particularly fit for redistribution so if you decide to try this just know that YMMV.
Thanks again for your interest,
A.C.
******
Read the turnbyturn.txt and found some things for fixing/commenting:
turn 0: spellbooks of force bolt and "scroll monster"? [What is a spellbook of scroll monster? Is it useful for making monsters respawn when they shouldn't a la NES games? (/smalljoke)]
turn 133: "recharge the scroll" should be "recharge the wand"
turn 219: [comment: hey, I use numrow to move frequently! You can use both hands with 1234 6789!]
turn 464: "This lead to quite a lot of deaths" should be "led"
turn 684: [What's the ring the other xorn ate? Did you check? Viewers will be interested.]
Lastly I wonder if there will be more information contained in the turn-by-turn description, the input file, or the text-output updates, once you're done.
And why aren't you using the useful option to change the characters to display ghosts/shades? Or was this already answered?
It's "merely" a graphical change which makes things easier on the viewers (see: magnet beam hack). Gameplay-wise it has the same effect as, every turn, using a farlook on every square with 0x20 ' '[space]
I suppose it might change the synch pattern as spaces changing from empty-space to shade/ghost would then instead need a cursor-move-character-write, which would be problematic (and slow down the run a fraction, now I see, but not in terms of input length, only in terms of non-input-responsive time).
It's in pretty much exactly the same boat as Detect Monsters, there- it's causing more character prints to give the viewer more information.
It's probably inconsequential.
@OmnipotentEntity: quite a few relevant monsters won't show up on telepathy, and anyway intrinsic telepathy doesn't work unless you're blind, and we need vision to read the Book of the Dead (and thus for the whole ascension run as it would take time to change).
@BadPotato: We're currently rehearsing the end of the run, using debug mode to set things up. We've already found and tested a working strategy from D:2 with the Amulet to the end of the game, as fast as possible; we're now working on the first part of the ascension run, from the Quest to D:2.
Take a look at the wip encodes, one of them pauses every time something happens. It's watchable.
Also just a text file of the run is very readable.
But yeah at normal speeds it's to quick to make out anything, though perhaps not a quick as you'd think
If you require a framerate of 60FPS and allow a single input to take only 1 frame* then to be shorter than King's Bounty it'd have to be at least under 600 turns, and it's well past that.
I guess the question is, is NetHack written in a way that requires waiting for a screen refresh before more input can be accepted? If it isn't, then your only limitation is the keyboard polling speed.
* realistically it would take 2, wouldn't it? One frame to depress, one frame to release?
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
We are only limited by keyboard polling speed, and by lag. However, it's going to be way longer than King's Bounty; the keyboard polls at 750 keypresses per second, and we often take more than that in luck manipulation. And we get lag if we're doing anything other than walking into a wall; not much, but we're limited to moving around three spaces a frame. (Although we can buffer up input, the keyboard buffer is fintely large.)
I alway thought, that if a run would be aiming for pure speed, you would rather being using "count command", by typing the following:
"600."
in order to just wait 600 turns.
You can also use ctl+direction move(hjkl), in order to move multiple space until you reach something new or a wall.
I did know about both of those (although the TAS uses numpad controls) Neither is useful for speed except in a minimum-presses category; except for walking into walls (where neither repetition method works), we can enter commands faster than the game can process them.
We do use both of these methods to trigger glitches, though. So they're not entirely wasted.
Sure! We're currently trying to work out what we'll do in the turn immediately after getting the Amulet of Yendor. (We need to plan out the end of the run now, in order to be able to set things up earlier so that everything works perfectly past turn 2000.)
The issue is that we need to use the Eyes of the Overworld to be able to read the Book of the Dead in air elemental form, and we need to use the Eye of the Aethiopica to branchport from the Quest to Gehennom (which saves an action over trying to do it via levports, two actions if there's no way to offend the quest leader in zero time). The problem with these items is, that they both give MR, which prevents polymorph traps working. And we can save an action (that ends up snowballing and saving an entire turn) by landing on a polymorph trap as we enexto out of Rodney's, but only if it activates.
Thus, we're going to need to have our Eye and Eyes stolen. Neither is in a slot which would be stolen by a foocubus, which means that we're going to have to set up some nymphs in Gehennom. This seems possible (say on the fake wizard's tower level), but we're still trying to work out the details and verifying that it works.
That's actually a decent point. If it hexes in, we may as well change it for the added entertainment value. If it doesn't, it's not worth redoing everything since then for something so minor.
I finally read all of turnbyturn.txt, and I just wanted to say thank you SO much for being so thorough and detailed, it was truly a joy to read. I also passed it on to a few friends who don't read this forum, and while I don't know if they made it all the way through, I know they at least enjoyed the beginning :)
A warb degombs the brangy. Your gitch zanks and leils the warb.