Posts for feos

1 2 324 325 326 440 441
Experienced Forum User, Published Author, Site Admin, Skilled player (1238)
Joined: 4/17/2010
Posts: 11305
Location: RU
The run caitsith2 posted syncs on my version (and looks largely improvable). Also, nEilfox, if you want to make a TAS, post work-in-progress movies. I want to help with RNG.
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: 11305
Location: RU
If anyone is thinking of improvements (besides the authors), please tell.
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: 11305
Location: RU
Oh, so Duck Tales 2 now also sync!
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: April wise men!
Experienced Forum User, Published Author, Site Admin, Skilled player (1238)
Joined: 4/17/2010
Posts: 11305
Location: RU
Aqfaq wrote:
The result is easily reproduced in real time
Which is a great reason to reject, among others.
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: 11305
Location: RU
Joy Mecha Fight was not present in the place I mentioned at all. Yie Ar Kung-Fu isn't serious. All here played either SF clones, or MK clones, or turtles.
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: 11305
Location: RU
As seen in this post, mappers required a fix. Here is the fceux version that runs BK2: http://rghost.ru/51870797
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: 11305
Location: RU
I confirm:
Battle Kid 2 - Mountain of Torment (U).nes
CRC32: 4916DC6D
MD5: E2F7EBAC24AB505D46350A239E10E449
SHA-1: BDA3ED3921BB507DEA30CDE9A609EA2E81EA086D
doesn't run in FCEUX 2.2.x, while it does in FCEUX 2.1.x, BizHawk and Nestopia.
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: 11305
Location: RU
I would arguably call this "game" notable for how popular it was (along with MK "ports") where no official NES fighting game was known, except for TMNT TF. But as a TAS it looks just terrible. I don't know if any SF bootleg would be even vaultable, but this game sucks badly.
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: 11305
Location: RU
Notable, but unwatchable and absurd. Equal to Desert Bus. In some terms better, in some terms worse than 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 (1238)
Joined: 4/17/2010
Posts: 11305
Location: RU
Radiant wrote:
Thankfully, the majority of games initialize their RAM before reading it, and for these games it's actually irrelevant what the initial RAM state of the emulator is.
Post #358364
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: 11305
Location: RU
I don't think the author realizes these runs are not up to TASVideos standards.
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: 11305
Location: RU
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: 11305
Location: RU
Spikestuff: So why 13M is marked as date: 2000-06-09? BTW there's also this: http://tasvideos.org/15M.html
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: 11305
Location: RU
Added last fix to the script: In some places there are enemies appearing in bunches, and you need to kill them almost at once to get an item drop. Helicopters in 1-2, clowns in 1-1. But what they drop is hardcoded. In 1-1 they drop life, in 1-2 they drop: charge, hp, ammo, hp, ammo, life, hp, ammo, and charge. When they come in 1 by 1 and still are marked to carry something, it's random. When they come by 3 or so, I didn't test, because I'm officially sick of this game :D Once you come to something that doesn't co-operate, let me know, maybe I'll find out 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: 11305
Location: RU
OmnipotentEntity wrote:
class OmnipotentEntity {
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: 11305
Location: RU
I agree that breaking the execution pointer is memory corruption if done deliberately and efficiently. If it's only done by random glitching (slightly bugging the objects, like giving a stick to battletoads in level 4), it's a glitch abuse. When it screws the main game execution in heavy ways, I'd call it memory corruption.
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: 11305
Location: RU
Sounds like you need a 1 frame delay from real memory state. Try this:
Language: lua

while (true) do -- your gui.line and stuff here FCEU.frameadvance() end
Without registering anything.
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: 11305
Location: RU
Info: - All enemies that drop items (flying stuff) set item they will drop when they spawn, depending on RNG. It rolls each frame (once), every time you shoot (once more), and when you break something (6/7). So you can make them drop weapon each time. - When weapon coin is dropping, its color depends on RNG and changes every second frame before it drops. Then it either changes very slowly, or never. - Boss behavior wasn't tested yet, but I expect it to depend on the same RNG address. - Maximum weapon level is 6. The strongest is green, but it flies by 1 (maximum charge damages 144 hp). Red is weaker, but flies by 3 on higher levels. Blue is just some kind of trolling. Script updates: - Item drop display - Weapon level - RNG roll counter Download TheAdventuresOfBatmanAndRobin.lua
Language: lua

-- The Adventures of Batman and Robin -- 2013, feos and r57shell MsgTable = {} MsgTime = 30 MsgOffs = 16 MsgCutoff = 60 RNGcount = 0 function GetCam() xcam = memory.readwordsigned(0xFFDFC4) -- ycam = memory.readwordsigned(0xFFCD70) end function EnemyPos(Base) GetCam() x1 = memory.readwordsigned(Base + 0x12) - xcam y1 = memory.readwordsigned(Base + 0x14) x2 = memory.readwordsigned(Base + 0x16) - xcam y2 = memory.readwordsigned(Base + 0x18) hp = memory.readwordsigned(Base + 0x1E) end function PlayerPos() local sbase1 = memory.readword(0xFFAD5C) + 0xFF0000 local sbase2 = memory.readword(0xFFADB6) + 0xFF0000 p1speedx = memory.readlongsigned(sbase1 + 0x18) / 0x10000 p1speedy = memory.readlongsigned(sbase1 + 0x1C) / 0x10000 p2speedx = memory.readlongsigned(sbase2 + 0x18) / 0x10000 p2speedy = memory.readlongsigned(sbase2 + 0x1C) / 0x10000 end function HandleMsgTable(clear) for i = 1, #MsgTable do if (clear) then MsgTable[i] = nil end if (MsgTable[i]) then GetCam() if (MsgTable[i].y_ > MsgCutoff) then MsgY1 = 0 MsgY2 = 6 else MsgY1 = 203 MsgY2 = 203 end gui.line(i * MsgOffs + 3, MsgY2, MsgTable[i].x_ - xcam, MsgTable[i].y_, "#ff0000c0") gui.text(i * MsgOffs , MsgY1, MsgTable[i].damage_, "red") if (MsgTable[i].timer_ < gens.framecount()) then MsgTable[i] = nil end end end end function HandleDamage() local damage = AND(memory.getregister("d0"), 0xFFFF) local base = AND(memory.getregister("a2"), 0xFFFFFF) EnemyPos(base) unit = { timer_ = gens.framecount() + MsgTime, damage_ = damage, x_ = x1 + xcam, y_ = y1 } for i = 1, 200 do if MsgTable[i] == nil then MsgTable[i] = unit break end end end function Collision() GetCam() local a0 = AND(memory.getregister("a0"), 0xFFFF) local a6 = AND(memory.getregister("a6"), 0xFFFF) local damage = memory.readword(a6 + 0xFF0012) local wx2 = memory.getregister("d6") - xcam local wy2 = memory.getregister("d7") local wx1 = memory.getregister("d4") - xcam local wy1 = memory.getregister("d5") -- gui.text(wx2 + 2, wy1 + 1, string.format("%X",a6)) if (damage == 0) then damage = memory.readword(a0 + 0xFF0034) end if (DamageHitbox) then gui.box(wx1, wy1, wx2, wy2, "#ff000000") gui.text(wx1 + 2, wy1 + 1, damage) else gui.box(wx1, wy1, wx2, wy2, "#ffff0000") end end function InRange(var, num1, num2) if (var >= num1) and (var <= num2) then return true end end function Item() GetCam() local a6 = AND(memory.getregister("a6"), 0xFFFF) local x = memory.readword(a6 + 0xFF003E) - xcam local y = memory.readword(a6 + 0xFF0042) local code = memory.readbyte(a6 + 0xFF0019) if (code == 1) then code = memory.readword(memory.readword(a6 + 0x1A) + 0xFF0004) end if (code == 0) then return elseif InRange(code, 7, 19) then item = "Amo" -- ammo elseif InRange(code, 21, 23) then item = "Cha" -- fast charge elseif InRange(code, 24, 26) then item = "Bom" -- bomb elseif InRange(code, 27, 29) then item = "Lif" -- life elseif InRange(code, 30, 47) then item = "HiP" -- hearts else item = tostring(code) end gui.text(x-7, y, string.format("%s" , item ), "yellow") -- gui.text(x-7, y, string.format("\n%X", a6+0x19), "yellow") end function Hitbox(address) local i = 0 local base = memory.readword(address) while (base ~= 0) do base = base + 0xFF0000 if (memory.readword(base + 2) == 0) then break end EnemyPos(base) if (address == 0xFFDEB2) then gui.box(x1, y1, x2, y2, "#00ff0000") elseif (address == 0xFFDEBA) then gui.box(x1, y1, x2, y2, "#00ffff00") gui.text(x1 + 2, y1 + 1, hp, "#ff00ff") if (x2 < 0) then gui.text(x1 + 2, y2 - 7, "x:" .. x1 ) end if (x1 >= 320) then gui.text(x1 + 2, y2 - 7, "x:" .. x1 - 320) end if (y2 < 0) then gui.text(x2 + 2, y2 - 7, "y:" .. y2 ) end end -- gui.text(x1 + 2, y1 + 1, string.format("\n%X", base - 0xFF0000), "#ff00ff") base = memory.readword(base + 2) i = i + 1 if (i > 400) then break end end end function Main() local color1 = "yellow" local color2 = "yellow" local color0 = "yellow" -- local hp1 = memory.readword(0xFFF650) / 0x10 -- local life1 = memory.readword(0xFFF644) local base1 = 0xFFAD54 local base2 = 0xFFADAE local X1 = memory.readword(base1 + 0x3E) local X1sub = memory.readbyte(base1 + 0x40) local Y1 = memory.readwordsigned(base1 + 0x42) local Y1sub = memory.readbyte(base1 + 0x44) local X2 = memory.readword(base2 + 0x3E) local X2sub = memory.readbyte(base2 + 0x40) local Y2 = memory.readwordsigned(base2 + 0x42) local Y2sub = memory.readbyte(base2 + 0x44) local RNG1 = memory.readword(0xFFF5FC) -- local RNG2 = memory.readlong(0xFFF5FE) local Weapon1 = memory.readbyte(0xFFF67B) local Weapon2 = memory.readbyte(0xFFF6BB) local Charge1 = (memory.readword(0xFFF658) - 0x2800) / -0x80 local Charge2 = (memory.readword(0xFFF698) - 0x2800) / -0x80 local ScreenLock = memory.readword(0xFFDFC0) if Charge1 <= 0 then Charge1 = 0; color1 = "red" end if Charge2 <= 0 then Charge2 = 0; color2 = "red" end if RNGcount > 1 then color0 = "red" end HandleMsgTable() PlayerPos() Hitbox(0xFFDEB2) Hitbox(0xFFDEBA) gui.text( 0, 210, string.format("\nRNG:%X" , RNG1)) gui.text( 40, 210, string.format("\nLock:%d", ScreenLock)) gui.text( 34, 210, string.format("\n%d" , RNGcount), color0) gui.text(180, 210, string.format("%2d" , Charge1), color1) gui.text(300, 210, string.format("%2d" , Charge2), color2) gui.text(180, 210, string.format("\n%2d" , Weapon1), "yellow") gui.text(300, 210, string.format("\n%2d" , Weapon2), "yellow") gui.text( 81, 210, string.format("Pos: %d.%d\nSpd: %.5f", X1, X1sub, p1speedx), "#AAAAAA") gui.text(137, 210, string.format("/ %d.%d\n/ %.5f" , Y1, Y1sub, p1speedy), "#AAAAAA") gui.text(203, 210, string.format("Pos: %d.%d\nSpd: %.5f", X2, X2sub, p2speedx), "#00BB00") gui.text(260, 210, string.format("/ %d.%d\n/ %.5f" , Y2, Y2sub, p2speedy), "#00BB00") RNGcount = 0 end gui.register(Main) savestate.registerload(function() return HandleMsgTable(1) end) memory.registerexec(0x375A, function() DamageHitbox = false end) memory.registerexec(0x375E, function() DamageHitbox = true end) memory.registerexec(0x3768, function() DamageHitbox = false end) memory.registerexec(0x376C, function() DamageHitbox = true end) memory.registerexec(0x65C4, function() DamageHitbox = false end) memory.registerexec(0x65C8, function() DamageHitbox = true end) memory.registerexec(0x995C, function() RNGcount = RNGcount + 1 end) memory.registerexec(0x4738, Item) memory.registerexec(0x4534, Item) memory.registerexec(0x8C9A, Collision) memory.registerexec(0x1085A, HandleDamage) -- meelee memory.registerexec(0x10CBA, HandleDamage) -- weapon memory.registerexec(0x10CC4, HandleDamage) -- weapon
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: 11305
Location: RU
The run looks great, but gameplay is so constantly interrupted that I only can vote 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.
Experienced Forum User, Published Author, Site Admin, Skilled player (1238)
Joined: 4/17/2010
Posts: 11305
Location: RU
AKheon wrote:
For what it's worth, I think board, sports and game show games should primarily be considered "serious games" and be eligible for Vaulting. Why block out entire game genres like this? It's already required that a Vaultable game should have an ending and that its gameplay should stand out as something superhuman (among the other rules). If those rules are fulfilled, by all means, it shouldn't matter what genre the game is.
I would agree.
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: 11305
Location: RU
Is anyone still considering improving this? I mean, not Marzo.
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: 11305
Location: RU
Derakon wrote:
If you missed a block, you can watch it from the twitch archived. This thread has links to each game's run to make finding them more convenient. It's not the same as watching them live, but it's a heck of a lot better than nothing!
Both are actually now in this thread's first post, and here: http://tasvideos.org/ConsoleVerifiedMovies.html
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: 11305
Location: RU
FractalFusion wrote:
feos wrote:
Looking at the recent edit in the pub description I want to ask FractalFusion: did you really listen to that solo? :D
I never thought much about that ending theme. It is better than the noise in the level, but that's not saying much. Actually, the whole thing makes me wonder if the sound is really just an emulator glitch.
To me, that solo is just a freaking ear grinder! In one place it sounds like some Deep Purple, but most of the time it just grinds. So it was part of the joke: "if you disliked the game, let solo be a reward for watching it", where the solo is BLOODY WORSE!
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: 11305
Location: RU
boct1584 wrote:
Why would this run not qualify for your hypothetical category, Warp? From what I can tell (I've never played the original Megaman) it DOES use the intended routes throughout the game. Or do you just mean the other controversy around it?
I think it's because such a category should receive much support to become a Moon and get its own branch. And not all games provide enough to get good feedback. I haven't yet seen how would megaman look without glitches at all, but I actually doubt there would be much to look at, at least within the NES series. Since SNES series have so much deeper gameplay in so many ways, they would likely be interesting indeed, but it would require really much effort. So my opinion is, any low glitch/glitchless category for NES megaman serioes won't fly. Some people did express will to see such a run, but there's just not enough of them, because overall it still looks sub average.
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: 11305
Location: RU
Looking at the recent edit in the pub description I want to ask FractalFusion: did you really listen to that solo? :D
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 324 325 326 440 441