主题 : 【讨论】小JJ偶错了,为补偿转贴ROCKMAN1某些研究
级别: 模拟小生
UID: 365
精华: 0
发帖: 118
威望: 0 星
金钱: 2629 浮游币
贡献值: 0 点
好评度: 31 点
人气: 0 点
在线时间: 5(时)
注册时间: 2004-03-26
最后登录: 2014-03-17
楼主  发表于: 2007-09-03 08:05

【讨论】小JJ偶错了,为补偿转贴ROCKMAN1某些研究

15分38秒爆掉Rockman1
在线视频
http://vision.ameba.jp/watch.do?movie=126000
.fcm录像
http://tasvideos.org/726M.html
技巧解说
http://tasvideos.org/RockmanTricks.html

穿墙和用暂停来无敌和消除硬直 这些都已经是小菜了
最后一关跳过剪刀人直接打克隆洛克人的技巧简直是让人目瞪口呆……

作者解说其中的奥义:
Here's the technical explanation of the trick.

When a boss battle begins, there are only three ways to end it:
* Kill the boss
* Start another boss battle
* Die

When I enter the Cutman battle, and escape it, the battle does not end.
It goes on. Cutman is still alive.

Momentarily after escaping the room, Cutman throws a scissor.
However, because Cutman is no longer visible, the scissor does not appear. Cutman thinks he has a scissor, but there is no scissor.

This is when things go awry. You see, as long as Cutman thinks he has a scissor, he will use some kind of telekinesis to manipulate the scissor back to his hand (for catching). In other words, the game adjusts the scissor's position every frame to make it meet Cutman's hand.

The method it does that, is that it first looks up the object table, searching for a scissor type object. Then it alter the properties of the found object (the sprite number, and the Y coordinate).
It does the lookup using a common function in the game code.
However, Cutman is so certain that a scissor exists, so the return value of the function is not checked. So when a scissor doesn't really exist, it writes into a random memory address instead. (The actual value returned in an error case is the number of alive objects.) This memory address happens to coincide mostly with Rockman's data. The rest is pretty obvious.
The glitching stops when the Clone robot fight begins, because at that point, the previous boss fight is over and Cutman with his magic scissor powers exists no more.
However, Megaman maintains a weird pose for a few frames, because his object properties (mainly, an action delay counter) were messed up.
本帖最近评分记录:
  • 金钱:    +20   (操作人:禁忌天使)   -  -
  • 级别: 受忌讳的人
    UID: 134886
    精华: 0
    发帖: 538
    威望: 0 星
    金钱: 73 浮游币
    贡献值: 0 点
    好评度: 1462 点
    人气: 1 点
    在线时间: 93(时)
    注册时间: 2006-08-15
    最后登录: 2009-01-23
    沙发  发表于: 2007-09-03 08:08

    用户被禁言,该主题自动屏蔽!