Posts for feos

1 2 137 138 139 455 456
Experienced Forum User, Published Author, Site Admin, Skilled player (1225)
Joined: 4/17/2010
Posts: 11704
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
After talking for quite a bit to Nach, here's the problem he has with not limiting framerates at all:
19:10:16 <Nach> making the game rely on OS function time, and then also screwing with that time to allow range max (resolution max?) is extremely questionable

19:35:52 <Nach> it's questionable because you're screwing with the functions the game use and using it in situations it wasn't designed for. The entire topic also begins off with a false premise, which I absolutely not apologize for, nor will I even remotely try to operate in.
So yeah, I'm not a tech guru, and when brainstorming in order to create this thread, the internal technical aspects of this problem weren't known to me. After having learned about it, here's the summary of our talk: For a very long time, the standard the games strive to work well under has been vsync. It's the primary mode to use during play, since it helps with a lot of issues, one of them being inconsistency of hardware specs which only gets worse over time.
18:23:00 <Nach> PC specs games are designed for are typically around a 6 year window surrounding the game design/release period

18:23:27 <Nach> shoving a PC game onto a PC with specs 20 years later, and running it natively that way is crazy

18:24:33 <Nach> even consider the PCs from 3x86 to Pentium era, they all had a "Turbo" button which you could turn off to make the CPU speed more like what you saw on an x86 or 2x86, so you could run old software as they were intended

18:26:50 <Nach> since everyone saw games from the x86 and 2x86 era were misdesigned based on actual clock count, forcing later x86 CPUs to have that turbo option, practically every game since started limiting time based on video and sound output speeds. Games in the last ~15 years even go for a combo due to various differences in hardware and to allow the most precise measurement of time. This is why vsync exists. If you're going to use 20+ year future CPUs and you want it to work right, use vsync (assuming vsync isn't nuts either). Turning off vsync and using 20+ year CPU? Come on...

19:01:26 <Nach> the only reason why games generally even allow turning off vsync is so you can play them on older hardware, which isn't capable of hitting 60 FPS or whatever, or for cases where you have some exotic hardware which doesn't report vsync properly, although in that latter case, there's no telling without vsync will work either
So for games that allow to disable vsync and still run at the same speed regardless, they rely on OS time functions among other things to work properly time-wise. When the game runs at high framerate without vsync, the actual rate it runs at isn't consistent. Hourglass and libTAS replace time-related OS functions and can force the game to run at certain framerate consistently without vsync. While consistency sounds like something good, we're not just modifying OS functionality to make the game TASable and then replay the movie without OS hacks. We're hacking OS functions to affect the way the game works. Even though some time functions report proper time, allowing the game to be aware of real world time and work at consistent speed gameplay-wise regardless, other time functions are replaced and report false time altogether. The suggested solution is limiting all this to vsync and internal options for game speed, since neither involves hacking OS functions and both allow the games to run in the frameworks they target. I can add that this unifies the competition conditions too.
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 (1225)
Joined: 4/17/2010
Posts: 11704
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
When deciding on obsoletion chains and branches, we look at both similarities and unique features. And when it's about games that aren't identical, yet somewhat close to each other, we must compare similarities and unique features of the TASes as well as of the games themselves. That's what we do for hacks in Moons. Pokemon games just happen to be so numerous that overlapping content is really unavoidable between certain games, so we kinda have to treat them a bit like we treat hacks.
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 (1225)
Joined: 4/17/2010
Posts: 11704
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
The way I see it, any emulator configuration and hotkey should be banned during playing. In MAME I can simply erase all hotkeys that access emulator features, and when a TAS is played back that uses them, it desyncs. I only leave game controls enabled, and the run that uses only them works. Don't know how this is set up in dosbox, but we'll try to limit it in the same manner: config prior to tasing.
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 (1225)
Joined: 4/17/2010
Posts: 11704
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
I can;t get this to sync no matter what I do. With the patch, with manual pauses, with libtas 1.3.1 and interim, with touched and untouched game config (the only part changed was fullscreen). The fact that it runs at 1-2 fps on my vm doesn't help. Game version and hash match.
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 (1225)
Joined: 4/17/2010
Posts: 11704
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
Just letting you know guys, DOSBox inside libTAS has very high chance of being accepted for DOS TASing. And libTAS has input roll like in lsnes.
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 (1225)
Joined: 4/17/2010
Posts: 11704
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
The encode above is of an older WIP. Here's the one for this submission. Link to video
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 (1225)
Joined: 4/17/2010
Posts: 11704
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
I've been encoding this all evening to 4K, and uploading overnight, but firefox just said FUCK YOU and froze at 57%. Time well waisted.
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 (1225)
Joined: 4/17/2010
Posts: 11704
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
As I said, it can be put in the movie only if it's small enough. Another problem is that emulators don't include such data into movies.
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 (1225)
Joined: 4/17/2010
Posts: 11704
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
Yes the best possible solution would be knowing for sure how audio samples affect gameplay here. If it's unrealistic, we could try trimming the sample until it stops working, and then setting its bytes to 00 until it stops working. That would allow to figure out which bytes have to be what for the movie to sync. It'd also be nice if someone applies trial and error to check how those bytes affect gameplay. So without disasm this method is the most effective one. If even that fails to happen, we'll have a staff poll and think of a backup solution. So we really encourage everyone to ask for help with this everywhere they can, if they care about this 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.
Experienced Forum User, Published Author, Site Admin, Skilled player (1225)
Joined: 4/17/2010
Posts: 11704
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
Only if it's small enough.
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 (1225)
Joined: 4/17/2010
Posts: 11704
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
I believe reproducibility is a sensible requirement set for similar cases. It's really common for audio or video commentaries linked from our publication to have died, and now the commentary flag is moot for them. I don't want the entire TAS publication to become moot once an audio sample required for it becomes unavailable. There's literally be no easy way to watch or reencode it anymore. It could happen that the sample used is the most optimal by coincidence, and upon trial and error, no one manages to recreate it. So if its upload dies, the publication is rendered invalid. I don't think we should allow such a risk. It'd be better to learn how this particular sample influences gameplay and why, then it'd at least be possible to know the sync-mandatory aspects of this particular sample. And just like the extra image rules say, the data used should at least try to be optimal. Am I right that here it's just a random occasional sample with no optimality clues?
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 (1225)
Joined: 4/17/2010
Posts: 11704
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
I'm confused. Is the game using the same OS functions to see how much time has passed since the last frame, and to get the idea of real world time, so it could keep consistent gameplay speed regardless? Without time calls substitution, it would always have the correct time, just framerate without vsync would be inconsistent, if I'm reading this correctly. And libTAS somehow forces consistent and exact framerate, yet it doesn't actually simulate a CPU speed. It returns false OS time info to the game. I just don't understand how it manages to support real world speed of gameplay regardless.
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 (1225)
Joined: 4/17/2010
Posts: 11704
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
If the run aims for in-game time, and it makes more sense to speedrun using the in-game timer rather than real time, such a mode can be used to replace common any%, like it happens in Sonic games. Otherwise, there should be gameplay benefits. I doubt the very fact of seeing a timer will make sense as an entertainment trade-off by itself, without in-game time goal.
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 (1225)
Joined: 4/17/2010
Posts: 11704
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
keylie wrote:
The way the framerate setting works is by letting the game think that each screen draw takes exactly 1/fps duration.
Where in the code is it done?
keylie wrote:
The game physics take into account the time between two screen draws, whatever that is.
What OS function does the game use for that?
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 (1225)
Joined: 4/17/2010
Posts: 11704
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
If I just manually pause on those frames, how long do I need to wait before unpausing? Hacking the tool in such a manner to force a workaround for a specific game, while isn't too new in nature (plugin based emulators had tons of optional per-game hacks, and it was a terrible approach), still feels like there are more general or softer solutions. Of course there's no scripting support, in regular emulators we could just make a lua script that pauses emulation on specific frames. But how did you get those frame numbers? Maybe the way you got them can be generalized, and there'd be an option to just pause the tool each time a certain event is detected (like creating an uncontrolled thread in this case, if I'm reading it right)?
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 (1225)
Joined: 4/17/2010
Posts: 11704
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
How can you get a SNES port by simply hacking a PS1 version? Original homebrew game is eligible for Vault if it's considered notable. Its hack that makes it less crappy isn't eligible for Vault. If it can't be entertaining enough for Moons, just TAS the original homebrew version. Yet if it's no notable, it will be rejected.
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 (1225)
Joined: 4/17/2010
Posts: 11704
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
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 (1225)
Joined: 4/17/2010
Posts: 11704
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
I guess I should have said "get the technique to work optimally".
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 (1225)
Joined: 4/17/2010
Posts: 11704
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
Dropped the vsync clause.
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 (1225)
Joined: 4/17/2010
Posts: 11704
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
Okay so here it goes: http://tasvideos.org/MovieRules.html#NoArbitraryFramerates Taken down by Nach. We're still discussing this.
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 (1225)
Joined: 4/17/2010
Posts: 11704
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
What system then? The usual method to force savestate preservation is to set a marker right after a state, then upon greenzone decay it won't be dropped. But for systems like N64 or PSX you'll quickly run out of capacity if you preserve too many states that way. So go to Metadata - State history settings, and set mem capacity to something higher, and/or decrease state gap divider.
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 (1225)
Joined: 4/17/2010
Posts: 11704
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
Okay so I guess no one minds my suggested rules. And with no replies about vsync, I think it should also be on by default, unless there are reasons to disable 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.
Post subject: Re: Bizhawk Tastudio
Experienced Forum User, Published Author, Site Admin, Skilled player (1225)
Joined: 4/17/2010
Posts: 11704
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
xDenis wrote:
Hi, so i've tried tasing for a while now and i realized that after a while when i want to go back a few frames to change some inputs that tastudio starts seeking from the start of the movie again. Is there any known way of fixing this issue? It's really annoying especially since it happens so often and and it's also annoying when i have to rewatch 30+ minutes almost every time i want to go a few frames back. Especially when the tas is going to be aproximately 3 hours long. (Game: Terranigma SNES) I would really appreciate any help i could get to fix this issue. Thank you, Denis
Tried developer build?
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 (1225)
Joined: 4/17/2010
Posts: 11704
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
Все еще актуально? А то у нас тут тасинг линуксовых игорь полным разгаром.
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 (1225)
Joined: 4/17/2010
Posts: 11704
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
https://tasvideos.org/EmulatorResources/MAME Yes people. This day has come. We've been waiting for years, and today keylie fixed problems with MAME in libTAS. Compile libTAS from source and install it. sudo apt install mame Go to your Home directory, create mame folder there, create roms folder there, and put there all your MAME ROMs. If you want to keep them in a different place, execute mame -w in terminal, Configure Options -> Configure Directories -> ROMs -> Add Folder, and navigate where you need, then hit Tab to save the new path, return to main menu and hit Save Configuration. Put the ROMs there. mame -w means you launch it in a windowed mode. If you want it to remember this mode, go to Configure Options -> Video Options, and set things you like. Return to main menu and hit Save Configuration. Configure input in General Inputs. Other Controls contain inputs for coins and start, as well as some things that may interfere with libTAS hotkeys (mostly Fn keys). Clean those up by selecting them, hitting Enter and then Escape. Check User Interface keys for that matter too. Then either set game input for all games in Player N Controls, or hit Tab with the game running and config input for current machine alone - Input (this Machine). Execute libTAS /usr/games/mame. libTAS will launch with mame executional path already set. In Command-line options just type the name of the ROM you want to play, and hit Run. Games should be tasable with default config, you might want to check Runtime - Savestates - Store savestates in RAM, to speed them up.
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.
1 2 137 138 139 455 456