Experienced Forum User, Published Author, Site Admin, Skilled player
(1238)
Joined: 4/17/2010
Posts: 11287
Location: RU
I tried implementing this and even if I force frameskips in hawk's code for those "invisible" frames, I couldn't make it usable. Based on this draft by Dacicus and Masterjun, you have to advance 2 frames in order to see your hacked camera, then load a state and call emu.frameadvance() again to let the emu continue. And even after hacking hawk a bit, it's really not ready for this setup yet.
For posterity:
https://pastebin.com/79pVQzAqhttps://pastebin.com/fUVspZycNevermind, it mostly works. Just slowly.https://github.com/TASVideos/BizHawk/pull/1725
And with the updated script I made it blazing fast!
Download sonicadvance_camhack_bizhawk.lua
Language: lua
local offX, offY, camX, camY
local addr_offX = 0x5B96
local addr_offY = 0x5B98
local addr_camX = 0x59D0
local addr_camY = 0x59D2
while true do
client.invisibleemulation(true)
local memorystate = memorysavestate.savecorestate()
offX = mainmemory.read_u16_le(addr_offX)
offY = mainmemory.read_u16_le(addr_offY)
camX = mainmemory.read_u16_le(addr_camX)
camY = mainmemory.read_u16_le(addr_camY)
Xval = camX + offX - 128
Yval = camY + offY - 80
mainmemory.write_u16_le(addr_camX, Xval)
mainmemory.write_u16_le(addr_camY, Yval)
client.seekframe(emu.framecount()+1)
client.invisibleemulation(false)
client.seekframe(emu.framecount()+1)
client.invisibleemulation(true)
memorysavestate.loadcorestate(memorystate)
memorysavestate.removestate(memorystate)
-- client.invisibleemulation(false)
emu.frameadvance()
end
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
(1238)
Joined: 4/17/2010
Posts: 11287
Location: RU
Indeed. Voted No.
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.
while true do
offX = mainmemory.read_s16_le(0x5B96)
offY = mainmemory.read_s16_le(0x5B98)
camX = mainmemory.read_s16_le(0x59D0)
camY = mainmemory.read_s16_le(0x59D2)
mainmemory.write_s16_le(0x59D0, camX+offX-128)
mainmemory.write_s16_le(0x59D2, camY+offY-80)
emu.frameadvance()
end
With VBA-Nest it's possible to hook lua functions to memory writes and executes, but I couldn't figure what registers hold what, and what the PC is when camera values are being written. Otherwise you can do things like 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
(1238)
Joined: 4/17/2010
Posts: 11287
Location: RU
We have judge role requirements, movie rules, and judge guidelines that demand that judges work hard, be thorough, kind, helpful. And we try to meet those requirements, provide useful feedback that'd help authors make better movies.
But we are still regular people and we are imperfect. Sometimes we make mistakes, and it may not be easy to acknowledge them. But if we want to improve the quality of our work, we need to investigate the problems harder, study them deeper, and learn from our mistakes. I can speak for myself because years ago my judgments were sloppy, but I greatly improved since then. Still doesn't mean I am now perfect either.
TASing is a hobby that requires a lot of effort. But it is also a competition. People have been competing at it since the beginning. Here's an example that's taking place right now. See how many improvements it got since the original movie was submitted. Also see how the original author was ready to beat everyone else's time over and over. The spirit of competition does this, and it's inherent to TASing.
Of course any movie can be improved anytime, I don't understand what's insulting in this very fact. If your movie can be improved, the other person's movie can also be improved by you. It's up to you whether you handle it like a competition or like a collaboration, but the main process is still the same when we have several people interested in the same games.
We as a site try not to be unfair. Yet as I said we are imperfect, and sometimes complicated situations are really hard to resolve to make everyone equally happy. Some people will feel more upset than others. It's reality. Even though we always try to avoid confrontations, we can't predict everything.
We aren't always equally nice to everyone, but we still try to make tasvideos a better place for regular users as well as TASers. My personal rule here is to never let the TASer feel ignored and disrespected. This involves constantly talking to people who participate in submission discussions: other staff members, TASers, regular users.
This year we managed to resolve the confrontation that happened around HappyLee's latest movie. I apologized for how the community mistreated him, and I think I cured his anger towards us. Also I said that the only way to resolve a major contradiction is a compromise.
I apologized to you here regarding your other canceled submission. And when you made a new movie with the same goals, I dug deeper and investigated what was misinterpreted about your run. I concluded that the audience got wrong impression and there was no reason to cancel it. It took time, but I fixed the imperfect solution and the confusion.
TASVideos youtube channel has never been monetized and it will never be monetized. We earn absolutely nothing from TASes we publish. All we earn is people's awareness, so they see movies, get inspired, become members of the community and contribute in some way. No money is involved.
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
(1238)
Joined: 4/17/2010
Posts: 11287
Location: RU
We have Judge Guidelines that elaborate on this.
Similar to overall sub-optimality, this is up to judge's discretion. This is why we want judges to be experienced TASers and at the same time we don't want them to demand unreasonable effort: there's has to be balance.
Summary: sloppy play has to be visible, it has to be all over the place, and it has to be easily improvable. With this game's nature, improvement only counts when an entire track is improved.
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
(1238)
Joined: 4/17/2010
Posts: 11287
Location: RU
I'm looking at it from both perspectives, I just needed the author to describe the reasons behind the delay so we could discuss them and explain how it actually works. We didn't just silently reject his previous runs, we provided tons of feedback describing how to get it done right. And yes, this game's nature means it's non-trivial to check how optimal a movie is, so judging it took time for a reason.
And apparently that's not true :D Here's my recent judgment that showcases how this works for Vault.
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
(1238)
Joined: 4/17/2010
Posts: 11287
Location: RU
Why?
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
(1238)
Joined: 4/17/2010
Posts: 11287
Location: RU
So the old submission has been in the queue since August, and you decided to make this 5 days after the other one was published?
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
(1238)
Joined: 4/17/2010
Posts: 11287
Location: RU
We've had a long talk with Nach regarding tech ratings, how useless they are in my opinion, and how incredibly helpful and accurate they are in his opinion.
I think that we already know all the problems that relate to separating ratings, I mean I don't think we should completely drop one or the other, but rather combine everything into one scale. When you rate a movie on IMDB you just take everything into account and express how much you liked it, that's all. So some people may like technicality of a sub-one-second ACE movie, others may like a full run, same with optimality or anything else really. I see no problems with generalizing 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.
g = g.DuplicateFrame( 2389)
g = g.DuplicateFrame( 3390)
g = g.DuplicateFrame( 4391)
g = g.DuplicateFrame( 5392)
g = g.DuplicateFrame( 6393)
g = g.DuplicateFrame( 8396)
g = g.DuplicateFrame(10397)
g = g.DuplicateFrame(11397)
g = g.DuplicateFrame(12400)
g = g.DuplicateFrame(13401)
g = g.DuplicateFrame(14401)
g = g.DuplicateFrame(15402)
g = g.DuplicateFrame(17404)
g = g.DuplicateFrame(18405)
g = g.DuplicateFrame(19405)
g = g.DuplicateFrame(20408)
g = g.DuplicateFrame(22409)
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
(1238)
Joined: 4/17/2010
Posts: 11287
Location: RU
All my problems were after I set it to windowed outside libTAS.
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
(1238)
Joined: 4/17/2010
Posts: 11287
Location: RU
If I launch the game from libtas without a movie, and start paused, then the game keeps working when I unpause. But when I start it with a movie, it closes after frame 1.
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
(1238)
Joined: 4/17/2010
Posts: 11287
Location: RU
Selicre, would it be feasible to have at least some version of the full encode done until December? We'll need to handle this submission until New Year.
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
(1238)
Joined: 4/17/2010
Posts: 11287
Location: RU
That page simply shows whatever the site database has, and it has it because old emulators had those rates, so for their movies it's still valid. Dunno how exactly newer, more accurate emulators are handled.
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
(1238)
Joined: 4/17/2010
Posts: 11287
Location: RU
Does anyone see any visual glitches in these 2 encodes?
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
(1238)
Joined: 4/17/2010
Posts: 11287
Location: RU
Framewar means several people compete in improving the movie further and further, not just a single basic improvement that only proves that the original run was sloppy.
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
(1238)
Joined: 4/17/2010
Posts: 11287
Location: RU
How about you read my post.
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.
That's not how we handle framewars. All participants have contributed to making the movie shorter, so when no one can improve it anymore, the person who makes the final improvement makes a new submission with all participants as co-authors.
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
(1238)
Joined: 4/17/2010
Posts: 11287
Location: RU
N64 framerate is 60000/1001.
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
(1238)
Joined: 4/17/2010
Posts: 11287
Location: RU
Frame war!
I'm not continuing though since I don't enjoy the game at all.
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
(1238)
Joined: 4/17/2010
Posts: 11287
Location: RU
We need "full installation steps" for dependencies to prevent any future confusion with replaying the movie. What command did you use to install those libs?
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
(1238)
Joined: 4/17/2010
Posts: 11287
Location: RU
Would you mind turning this into some kind of a picture? This game is apparently so complicated that it'd be really hard to comprehend or explain to others with just pure text.
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
(1238)
Joined: 4/17/2010
Posts: 11287
Location: RU
Please list the exact steps that are needed to make this game run in libTAS (aside from OS installation itself).
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.