Experienced Forum User, Published Author, Site Admin, Skilled player
(1264)
Joined: 4/17/2010
Posts: 11592
Location: Lake Chargoggagoggmanchauggagoggchaubunagungamaugg
curhob wrote:
6. Speaking of which, as I stated the GUI is necessary because I did not use "--no-gui", and the header height is dependent on scale which messes with mouse Y axis position, causing desync. So there are a couple more things to make sure- the first is to open system settings in Linux, go to the Display panel and choose 200% Integer as the scale. That will make Ruffle's header bigger in proportion to the game.
I have a suspicion this can cause extra problems depending on GUI theme used in the OS, because that changes sizes of things additionally.
curhob wrote:
Try using "-g gl" if not already and see if it works.
It's a part of my default command for ruffle already.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player
(1264)
Joined: 4/17/2010
Posts: 11592
Location: Lake Chargoggagoggmanchauggagoggchaubunagungamaugg
What's the last frame of actual required input? I'm seeing a lot of empty input at the end but I don't know how far back it can be trimmed.
I figured it out and replaced the movie.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player
(1264)
Joined: 4/17/2010
Posts: 11592
Location: Lake Chargoggagoggmanchauggagoggchaubunagungamaugg
Uncancelled after a year, what changed?
BTW we need ROM hacks to be available online independently of our own uploads (for example on some database dedicated to hacks), especially personal ones like DropBox (the current link even requires login unless you set dl=1 in the URL).
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player
(1264)
Joined: 4/17/2010
Posts: 11592
Location: Lake Chargoggagoggmanchauggagoggchaubunagungamaugg
arandomgameTASer wrote:
This doesn't clarify why exactly images must be used in a specific order other then the game itself saying to do so, which I find a bit funny when considering most speedruns routinely exploit glitches to get around the game telling you to do things in a specific order.
If every movie rule was explained right on the rules page, it'd have been several times bigger. The one submission that spawned that rule was #6033: NhatNM's PSX Monster Rancher 2 in 58:54.55 with its several pages of policy discussion and Thread #20426: Clear cut rules for arbitrary extra CDs? /0. Only the final consensus gets written on the rules page. The 2013 debate didn't spawn the rule because it was all over the place.
arandomgameTASer wrote:
The general vibe seems to be that swapping discs arbitrarily is a form of 'hardware manipulation', in other words similar to directly modifying a console or even as far as using a cheating device. This is further tied up with cartridge tilting to exploit memory and all that good stuff,.
I disagree with this being hardware manipulation or comparable to cartridge-based tilting. Let's go over the reasons why.
The act of swapping a disc is a normal gameplay function which is accounted for by most games via dedicated menus, and on occasion more directly by pausing the game when the wrong disc is detected, such as trying to load a save file on, say, Disc 3 while Disc 1 is inserted. Cartridge tilting, meanwhile, is more directly affecting how the game is being run by separating the connections between the console and game, and is not directly accounted via dedicated menus and the like. For me, cartridge tilting is more comparable to the use of hot plates and other nonsense to interfere with the console's normal function in order to create glitches it otherwise wouldn't generate.
With my prior Xenogears examples, the Kernal Menu coming up at all doesn't happen due to the specific discs being inserted, but from incorrect data being read when trying to load and throwing up an error screen. It doesn't take frame-precise manipulation in essentially all cases I've seen to do, and is possible on real console without risk of damaging either the game or hardware.
In many ways, this use of disc swapping is very similar to sub-frame reset glitches that are done to corrupt save files. The most obvious example of this would be the save corruption TASes for Chrono Trigger, where resetting in-between certain bytes being read can lead to beating the game significantly earlier then other methods.
[2047] SNES Chrono Trigger "save glitch" by turska & inichi in 03:28.06
This process as far as I'm aware wasn't verified on console when the movies were done, although the tech behind it was understandable, and it's only in recent years where certain RTA runners have begun trying this as well by physically resetting at precise times in-between frames.
Link to video
The point being, sub-frame resets are SIGNIFICANTLY more difficult to do then a disc swap glitch and has the higher potential IRL to cause problems to hardware, but have been allowed since at least 2008. If we limit the allowance of disc swap glitches to JUST discs that are part of an average run, I don't see it as fundamentally different as exploiting how a console functions when it resets.
The analogy with save corruption sounds fair. The system does some action that depends on certain events happening (or not happening) in real life: while the program is doing its thing the user needs to not power off the device, or the user needs to put another disk in.
Trying to come up with a solid borderline for those based on accurate technical knowledge would be hard. I can't find threads about why save corruption was allowed in the first place, and posts on the first few submissions that reset during saving don't explain it. It just happened to work in emulators and on console, and then it was automatically assumed to be a valid glitch technique.
Thread #8026: How well do emulators emulate resetting during saving? happened after, and the explanation from then-admin was "because it's emulated and because it's awesome". How accurately it was emulated was questionable, but I guess fundamentally/conceptually it wasn't as bad as relying on emulator-only bugs but on bugs in games, because developers could have written protection against save corruption but haven't until later.
So my main question with unintended disk swapping is this:
Can game devs protect against disks being removed from the tray at the wrong moment? arandomgameTASer wrote:
The grey area, of course, would be using discs outside of a run's context, which I think has already been covered with the Super Mario Bros. ACE movie which uses Super Mario Bros. 3 to achieve ACE in a different game. If we were to assume a different disc was used to setup a memory card, then that could be accounted for in the movie itself. If it's JUST the usage of a different disc being inserted at the right time, that can also be accounted for in the movie itself. Whichever way you look at it, the usage of these different discs can be considered part of the movie itself and not extrinsic to it ala SRAM manipulation to load a save file that immediately beats the game, or something.
[6012] NES Super Mario Bros. "arbitrary code execution" by OnehundredthCoin in 04:52.65
That movie was a crazy technical feat aiming for amusement, so it could have only been published to Alternative. I do not think that using games images not belonging to the game in question should be eligible for Standard (aside from that unique case when the game explicitly demands arbitrary extra images to be used, but even there we limit to hand-crafted ones or other games for that system, since availability of those is a given for TASing that system).
A movie using 20 different game disks for maximum insanity works fine as a technical showcase, but not as a legit speedrun of any of those games.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player
(1264)
Joined: 4/17/2010
Posts: 11592
Location: Lake Chargoggagoggmanchauggagoggchaubunagungamaugg
I think it's publishable to Alternative. The cheat code part makes it not eligible for Standard because that code removes a gameplay requirement instead of unlocking some feature unavailable otherwise.
Single-movie is IMO better because the setup is unique and inherent to this glitch, compared to simply unlocking in-game features as Mike said.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player
(1264)
Joined: 4/17/2010
Posts: 11592
Location: Lake Chargoggagoggmanchauggagoggchaubunagungamaugg
curhob wrote:
Right, that should do it! So I've finally redone this project. Apart from how I got save states to work, the room scrolling and other animations are much more consistent than before, where on most frames it would move a certain amount, but sometimes it would move twice that much. Of course that is because LibTAS was set to 24FPS, even though the game was built for 32 (which again is weirdly specific). So for every 3 frames of the LibTAS animation, I would "randomly" see the game move 2 frames and chocked this up to it being a flash game. So now I don't get that janky (1) (2) (3,4) (5) (6) (7,8), but (1) (2) (3) (4) (5) (6) (7) (8), as it should be. From now on I will use Ruffle to make sure I have LibTAS set up right.
Oh, and here's the link: https://tasvideos.org/UserFiles/Info/638710464008805226
Doesn't sync for me, even if I set 32FPS inside the movie file. I followed the instructions in the submission.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player
(1264)
Joined: 4/17/2010
Posts: 11592
Location: Lake Chargoggagoggmanchauggagoggchaubunagungamaugg
Completion is usually something already defined by the community for a given game. [2661] PSX Castlevania: Symphony of the Night "all relics & bosses" by ForgoneMoose in 36:58.32 is an example of full completion, and it has the corresponding tag. So just use that definition and complete as little as possible of that thing, even if that costs time. Lowest completion is the primary goal, shortest time is secondary. SaveRAM anchor can be used or not, both would go to Standard anyway.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player
(1264)
Joined: 4/17/2010
Posts: 11592
Location: Lake Chargoggagoggmanchauggagoggchaubunagungamaugg
arukAdo wrote:
Edit: after investigation I realized it would make no sence to not get the extra mana for normal mode by glitching into lower level (3), so both mode will be lvl8, unless we glitch on purpose to be lower lvl, consenquently making it slower due to less mana.
which round back to your observation that glitching the lvl only matter if it makes things faster, but not for the run actual "score" (kill count and lvl at the end)
I hope this is correct?
The glitch only matters if it saves time. How counters appear to the viewer doesn't matter.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player
(1264)
Joined: 4/17/2010
Posts: 11592
Location: Lake Chargoggagoggmanchauggagoggchaubunagungamaugg
I improved this movie by 5578 93 frames in the first 2 3 levels. Before I finish my improvement I want to debug the double damage glitch. Please don't judge the movie yet.
EDIT:
Looks like for objects that are stunned enemies whom you can pick up and throw, damage they deal is always 2 with no need to charge by running (charge timer address is $D2, projectile is charged when the value is 30+); boxes need to be charged for 2 damage; and other pickable objects need to be charged but they only deal 2 damage on the first frame after you throw them, then their damage value resets to 1.
So for non-box things that you need to throw at the boss, it needs to be charged and it also needs to be inside the boss's hitbox on the very first frame you throw it. Which happens if you're under the boss or you took damage to get inside the boss's hitbox. If the object is not inside the boss's hitbox, it will take time to reach it, by which time its damage will have already reset to 1.
Doesn't look like a serious glitch to me, the devs just decided to reset the damage after it's already been set instead of not allowing it for boss projectiles in the first place. So I don't think any actual debugging is warranted here.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player
(1264)
Joined: 4/17/2010
Posts: 11592
Location: Lake Chargoggagoggmanchauggagoggchaubunagungamaugg
arukAdo wrote:
"low level" is only happening because of a glitch/technique that prevent exp/kill count to increase while still killing things (the game is tricked, but the viewer clearly see the kill happening), it doesnt work on everything tho.
The premise of the old pub is that despite killing 5 targets, you stay at lvl1 and 0 exp because of that trick, it works on every versions.
It appears that my assumption to reduce that to 4 targets was wrong; sorry about that, I wrongly anticipated some details and after investigation, it still require 5 kills so theres no improvement on that.
It is possible to kill hundreds of monster and stay at lvl1/0exp with the glitch, but a few select bosses or monsters are immune to it (this is why the route is not straight to dracula).
It is also possible to corrupt the save data to trick it back to lvl1, regardless of your current lvl.
This is incredibly important! If we can glitch the counter or corrupt it into something arbitrary, then it's completely meaningless. We wouldn't count a movie that only collects 1% of items and then glitches the counter to show 100% as full completion. Similarly we wouldn't count a movie that collects 10% items and glitches the counter to show 0%, as 0%. The point of such goals is in-game actions and routing that makes legitimate completion (high or low) a sensible separate goal on its own. Glitching one goal into another defeats the purpose of both, unless that glitch is the primary feature.
Given this, I'm seeing less and less value in a "low level" goal as something separate from pacifist, unless glitching the exp counter alone can result in a lot of unique gameplay, or it could be a great feature in some other goal that becomes better thanks to that glitch. Pacifist actually aims to kill the least, so it's meant to result in getting lowest actual level the valid way without glitches, naturally. And vice versa: killing more enemies than required in a pacifist movie just because we've glitched the level counter, feels like a weird addition to me.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player
(1264)
Joined: 4/17/2010
Posts: 11592
Location: Lake Chargoggagoggmanchauggagoggchaubunagungamaugg
Interesting. IIRC jpc-rr writes final time into the movie after it's done, and frames are not very relevant because framerates are not constant.
Since jpc-rr emulates timings with decent accuracy and you can't arbitrarily speed it up beyond caps of original devices, overall movie duration in human time seems to be the only technically valid metric. I can't find a reason to disregard it in favor of anything comparably correct. There will always be upper bound on how fast inputs can be entered, and then they can be processed by the game after the movie is already over (that happens in this submission too BTW).
But for systems without a theoretical upped bound not even final duration in human time is a meaningful metric anymore, so IMO it makes the most sense to stick to defaults.
This little aspect adds important details to the new post about PC framerates that I plan to make to discuss future proof rules for it.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player
(1264)
Joined: 4/17/2010
Posts: 11592
Location: Lake Chargoggagoggmanchauggagoggchaubunagungamaugg
arukAdo wrote:
I meant I could submit the jp3kills and an updated "low level" together, the old movie been on psxjin it would benefit to upgrade to current bizhawk
If you think they cant coexist then ... I guess I just submit the jp to obsolete it
Is it possible to get lower level while being less pacifist, in either version?
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player
(1264)
Joined: 4/17/2010
Posts: 11592
Location: Lake Chargoggagoggmanchauggagoggchaubunagungamaugg
Spikestuff wrote:
feos wrote:
one should stick to default rate.
Default being 60 right?
This turned out to be completely impossible to determine from looking at or even debugging scummvm code. If I move mouse in adrift on every frame at 100fps (vsync off), libtas shows no lag frames, meaning the game renders every frame there's different mouse input. Running it at 200fps results in lag on every other frame. If I don't move mouse at all, it's all lag, so no rendering is done. And how fast letters appear on the screen is also different: 50fps- they appear every frame, 51fps+ they appear on every Nth frame. I recommend 50 and vsync off.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player
(1264)
Joined: 4/17/2010
Posts: 11592
Location: Lake Chargoggagoggmanchauggagoggchaubunagungamaugg
ais523 wrote:
In such cases, I think it doesn't really make sense to use time as a method for determining how optimised a TAS is – the time of a run is something that the game doesn't care about and doesn't affect the gameplay. (For a non-TAS run, it would measure a skill – the skill of entering input quickly and precisely. But in a TAS we assume that that skill is already at ideal/super-human values, so it isn't a meaningful thing for TASes to compete on.) With this sort of game under TAS conditions, you'll always be able to get a faster time by running on a faster computer and connecting it to a faster keyboard, so optimisations that make the run go faster in realtime don't really make sense. Instead, the goal should be to minimize something else – maybe fewest lines of input, or fewest keystrokes, might make sense.
Agreed. Normally it's frames, but for some non-conventional game where frames don't matter it could be something else.
ais523 wrote:
(For example, in the NetHack TAS that dwangoAC and I've been working on, the main optimisation goal is in-game turncount, because realtime is mostly a factor of how fast the computer runs and how fast the keyboard runs; the game is designed to let you think as long as you like about each move and has no time limits, which also means that it lets you think as short as you like, too. To nonetheless come up with some meaningful realtime measurement, we have a rule to not send input any faster than a typical physical keyboard of the time would be able to send it, which is often a tighter limiting factor than lag is – but that basically only affects tiebreakers. We may in fact slow some of the input down for the final submission to make it more viewable, and if we don't, would at least slow down the encode.)
How does nethack work in relation to video frames and input polls? Normally in a tas environment frames and polls are turned into the same thing, even if it reduces accuracy to the original device. How does jpc-rr work with those?
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player
(1264)
Joined: 4/17/2010
Posts: 11592
Location: Lake Chargoggagoggmanchauggagoggchaubunagungamaugg
arukAdo wrote:
Im asking because in that case I would submit them both together
Which exact 2 goals are you talking about here?
arukAdo wrote:
the low level still been on psxjin it would make sence given theres an actual possible improvement over it (1 less kill)
I don't understand what you mean.
arukAdo wrote:
My 2 cents about having 2 pacifist run on the same game would be, after looking at the pacifist runs on the site, none of those gameplay would allow for refining the "pacifism" to that level of details.
Another way to look at it would be rpg-based games with pacifist runs, we have none of that, but I would assume in a rpg it would be possible to have different sub objective on how to treat the pacifism question, like special mechanics that remove targets but dont give experience as result.
This is not a rpg of course, but it contains rpg elements so thats why im trying to make an analogy with them.
As I said, outside of the Standard class, not all possible combinations of all existing options can be separate goals. Also analogies with non-existent things don't work in favor of a potential new branch.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player
(1264)
Joined: 4/17/2010
Posts: 11592
Location: Lake Chargoggagoggmanchauggagoggchaubunagungamaugg
M3 wrote:
How about using Zero instead of X in the Intro Stage? The Fourth Armour would not exist.
Collecting fewer items contradicts the goal of collecting maximum items.
M3 wrote:
Moreover, Zero, when X is used in the Intro Stage, loses his Z-Buster, which, I think, is equal to losing an armour, hence the armour is not collected as in X4.
Is Z-Buster a collectable item?
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Do the submission notes need another update to reflect that? Just making sure.
Ideally yes.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player
(1264)
Joined: 4/17/2010
Posts: 11592
Location: Lake Chargoggagoggmanchauggagoggchaubunagungamaugg
The setting 1000 FPS was an estimate about an order of magnitude higher than 60 FPS. See here https://youtu.be/VNhlWpIJJb4 for why this is an underestimation.
If we remove any kind of waiting from the frame loop of an emulator, then there's no definitive framerate to aim for because it will run as fast as the host CPU will allow. Even if we set it to maximum values that are available to libTAS and/or scummvm, that won't really mean anything, because we're just doing arbitrary tweaks to the environment.
If the game lags and we overclock the CPU, it theoretically makes sense to only overclock it until there's no more lag that can be removed that way, or until there are significant glitches. If lag ends at 1000fps and significant glitches appear on 2000fps, then using an arbitrary value between those 2 feels acceptable, since there is a concrete goal we're achieving by overclocking that CPU - no lag and no bugs.
But if the goal is shorter final time itself, and we minimize it by maxing out framerate of the environment, I can't consider that a valid TAS goal. Because it's not related to gameplay.
I'm explaining this because there's still Wiki: Playground that can host a big variety of unconventional goals. But for this movie, the goal is similar to "run bizhawk at 2x speed because otherwise the movie desyncs". Not even at maximum speed, because that maximum would be different for everyone. But just at some arbitrary multiple of normal speed because it won't sync on any other. I can't consider that a valid Playground goal either.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
run500.exe!ADRIFT.frmRunner.SubmitCommand() Line 1626 C#
run500.exe!ADRIFT.frmRunner.txtInput_KeyDown(object sender = {Text = "Ø 6utfuyk"}, System.Windows.Forms.KeyEventArgs e = {KeyData = Enter}) Line 1549 C#
System.Windows.Forms.dll!System.Windows.Forms.Control.OnKeyDown(System.Windows.Forms.KeyEventArgs e) Line 12223 C#
System.Windows.Forms.dll!System.Windows.Forms.Control.ProcessKeyEventArgs(ref System.Windows.Forms.Message m = {System.Windows.Forms.Message}) Line 13238 C#
System.Windows.Forms.dll!System.Windows.Forms.Control.WndProc(ref System.Windows.Forms.Message m = {System.Windows.Forms.Message}) Line 16006 C#
System.Windows.Forms.dll!System.Windows.Forms.RichTextBox.WndProc(ref System.Windows.Forms.Message m) Line 3867 C#
System.Windows.Forms.dll!System.Windows.Forms.NativeWindow.DebuggableCallback(System.IntPtr hWnd, int msg = 256, System.IntPtr wparam, System.IntPtr lparam) Line 761 C#
[Native to Managed Transition]
[Managed to Native Transition]
System.Windows.Forms.dll!System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(System.IntPtr dwComponentID, int reason = -1, int pvLoopData = 0) Line 305 C#
System.Windows.Forms.dll!System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(int reason = -1, System.Windows.Forms.ApplicationContext context = {System.Windows.Forms.ApplicationContext}) Line 1236 C#
System.Windows.Forms.dll!System.Windows.Forms.Application.ThreadContext.RunMessageLoop(int reason, System.Windows.Forms.ApplicationContext context) Line 1152 C#
run500.exe!ADRIFT.frmRunner.Main() Line 552 C#
Just like with Flash, this implies that input rate is not tied to rendering rate, and input polling happens as usual when the OS decides to do it inside the message loop. So technically entering commands to ADRIFT at high framerate is legitimate. However that does not solve the problem of when it makes sense to do so. I still believe that if there's no gameplay advantage, one should stick to default rate.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player
(1264)
Joined: 4/17/2010
Posts: 11592
Location: Lake Chargoggagoggmanchauggagoggchaubunagungamaugg
GJTASer2018 wrote:
In other words, if the DOS game doesn't have an option to turn vsync off it should only be TASed at the intended in-game framerate, no ifs ands or buts about it.
DOS games can't have that option, they can only render at one of the available video modes (tho they can change them). Only later PC games can.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player
(1264)
Joined: 4/17/2010
Posts: 11592
Location: Lake Chargoggagoggmanchauggagoggchaubunagungamaugg
DrD2k9 wrote:
While a modern system that disables v-sync in ScummVM can play the game at the speeds/FPS this submission demonstrates, would a PC around the time that Loom was released be able to match this kind of speed running the game natively in DOS (not in a ScummVM emulator)?
Was disabling v-sync even possible in the original game, or is that a functionality only introduced through use of ScummVM?
I tried the EGA version in DOS on our 2 configs for the '90s, and the game runs normally on both, without speeding up on a faster machine. To make it run faster it would probably need to be hacked. Official Reference Card lists available launch options and in-game controls, and there's no option to uncap the framerate there. For that reason I don't think this submission can even be classified as a DOS one. It could have been if the same setup was used in scummvm as is available to the game in DOS.
This leads us to an interesting question though. Is this submission at least true to the "updated" official release, available for example on Steam and GOG? I only got the GOG one, and it uses scummvm and what looks like the VGA version of the game. Ctrl+G works there and it just makes the game run at uncappedframerate. Which in turn makes it care about libTAS framerate.
If we treat scummvm as an emulator that is meant to make this old game run on modern systems, then unpcapping its framerate is identical to running, say, BizHawk on turbo speed. It doesn't affect gameplay, there's just no waiting between frames.
Here lies an important distinction.
Let's take some emulator that runs on Linux, for example lsnes. We load a SNES game into it, then we set emulation speed to turbo. And then we run it that way in libTAS - at uncapped speed and some really high framerate set inside libtas, let's say 9999fps. Would such a movie be acceptable? What if the copyright owner of said game released it on Steam bundled with lsnes?
To me, it'd be impossible to claim that said SNES game is now a Linux game and all features of lsnes can now be used on it in a TASing session. Target device that we're emulating here is still SNES itself, and it has very specific specs that we need to match. Speeding up the emulator is not an optimization technique inside the game.
With this submission, the only difference from my hypothetical example above is that IBM PC has a little bit of variation in its configuration. There's no definitive device that was THE IBM PC. But even that difference does not play a role in how an IBM PC would run that game natively. As long as it runs in DOS, CPU speed would not matter, the game would not run faster on its own.
This is very different from PC games that allow you to switch vsync on and off as an existingoption. There it's perfectly valid to say that once vsync is off, high framerate is accurate and legitimate. DOS games though, just render at whatever rate they're coded to, and refresh the screen at that rate. If this game had this option, high FPS in libTAS would technically be justified. But the scummvm fast mode option is not a special thing for this game either - it's universal. It doesn't expose something hidden in the game. It just emulates it at turbo speed.
I tried setting libTAS to 60, 100, and 500 fps for this movie, and they all desynced.
As for how to configure this game in scummvm - before the movie or during it - I couldn't find specific instruction for that on Wiki: EmulatorResources/ScummVM, and if it was the only question with this movie I would not consider it fair to reject based on that. We never banned in-movie configs for other games, even though here it's technically an environment level and not in-game tweak. I tried disabling vsync for this game in scummvm before running this movie, but it resulted in several hundreds frames of scummvm logo, so I can't say it's any better than launching into the game on frame 119 like this movie does. Maybe it's skippable?
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player
(1264)
Joined: 4/17/2010
Posts: 11592
Location: Lake Chargoggagoggmanchauggagoggchaubunagungamaugg
arukAdo wrote:
Hope it answered your question, I realize I just explained the "result" difference but not gameplay; it boil down to visiting different rooms and obtaining different relic.
So if you put side by side "low level" and the jp 3kills, there will be gameplay or time difference, (edit: you can have a look at this wip to get an idea) this sound a bit vague but it is hard to quantify with precision; the first ~7min are very similar, one then goes cavern while the other go olrox/colloseum and backtrack to entrance, different way to obtain the bat, then in reverse castle one go colloseum the other olrox.
I think that it makes the most sense for "pacifist" to use the version that allows for the fewest kills, especially if it showcases a unique glitch. SaveRAM makes it shorter and less repetitive so it's a plus. The "low level" restriction is safe to ignore IMO.
2 pacifist branches co-existing would be something that hasn't happen yet IIRC. So for it to happen there would need to be really big difference between the 2. Hard to tell if it's possible with this game. I wouldn't worry about it for now.
arukAdo wrote:
just for the sake of asking, what core I am suppose to use? nymashock or octoshock? is theres even a difference anymore?
Nymashock is more sync stable.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.