Active player (279)
Joined: 9/1/2008
Posts: 900
http://dehacked.2y.net/microstorage.php/info/1255853224/Sword%20of%20Vermilion.gmv I do need to see the doctor's action; I might try deathwarpping back to stow by saving at the church (but then, I would need to save everywhere...)
Active player (279)
Joined: 9/1/2008
Posts: 900
http://dehacked.2y.net/microstorage.php/info/1917183731/Sword%20of%20Vermilion.gmv I was able to skip 3 towns! However, super strength is starting to lose its edge...I wonder if I will be able to get to level 31 in order to do ultra strength (7000 strength) and invincibility
ars4326
He/Him
Experienced player (765)
Joined: 12/8/2012
Posts: 706
Location: Missouri, USA
You're likely not going to make it past level 19 or 20 doing the speedrun. All the archmonsters, combined, only give out 195,000 EXP (aside from any grinding you do). However, you could experiment with "re-activating" the Super Strength glitch, here and there, to give you the 2722 SRT again before a level-up. I do wonder, though, if Rafael's Stick could be used without being at level 31...
"But as it is written, Eye hath not seen, nor ear heard, neither have entered into the heart of man, the things which God hath prepared for them that love him." - 1 Corinthians 2:9
Active player (279)
Joined: 9/1/2008
Posts: 900
most FAQs I saw say I need level 31... I can try (it's only a test run), but re-activating super strength would probably be the ebst bet
Active player (279)
Joined: 9/1/2008
Posts: 900
actually, it says to reach level 31 for the effect to be permanent. So I guess I can do the tricks with Raphael's stick (or maybe at a church, if it's too much of a detour), it would just be long and repetitive
Active player (434)
Joined: 2/5/2012
Posts: 1693
Location: Brasil
janus wrote:
actually, it says to reach level 31 for the effect to be permanent. So I guess I can do the tricks with Raphael's stick (or maybe at a church, if it's too much of a detour), it would just be long and repetitive
still faster than grinding,bud
TAS i'm interested: megaman series: mmbn1 all chips, mmx3 any% psx glitched fighting games with speed goals in general
ars4326
He/Him
Experienced player (765)
Joined: 12/8/2012
Posts: 706
Location: Missouri, USA
I don't think it would be all that repetitive. Having Rafael's Stick would be like having a portable Church with you. A few menu uses, and you're good to go. I'm not sure, though, how much STR would be lost at level-up. Your STR would likely be around 6900 with the Bronze Sword equipped. Would it really drop down so low that you would have to "recharge" it?
"But as it is written, Eye hath not seen, nor ear heard, neither have entered into the heart of man, the things which God hath prepared for them that love him." - 1 Corinthians 2:9
Active player (279)
Joined: 9/1/2008
Posts: 900
I guess. When doing the super strength trick, it first rises to 2755 and drops to 1500 at level up. I will have to try to make it ultra strength.
Active player (279)
Joined: 9/1/2008
Posts: 900
Ultra strength could work, but I would need like 5 minutes of gameplay to roll over my stats. I will probably not do it. http://dehacked.2y.net/microstorage.php/info/1319297833/Sword%20of%20Vermilion.gmv I restarted. I'm in the second town nearly 1900 frames earlier and have one fewer battle.
Active player (279)
Joined: 9/1/2008
Posts: 900
http://dehacked.2y.net/microstorage.php/info/1513314964/Sword%20of%20Vermilion.gmv I defeated the first boss about 11k frames ahead. I got the dark sword first, I fought 10 fewer battles (and yet at level 4!) and didn't use any herb
Active player (279)
Joined: 9/1/2008
Posts: 900
http://dehacked.2y.net/microstorage.php/info/1866036457/Sword%20of%20Vermilion.gmv Now 18.5k frames ahead (I didn't need to talk to people in Deepdale to get the truffles). UNfortunately, this might not be my final run. Probably because I was at level 4, the super strength trick didn't work probably and it's below 600 - you might notice that I can't instantly kill scorpions of mushrooms
Active player (279)
Joined: 9/1/2008
Posts: 900
http://dehacked.2y.net/microstorage.php/info/1576242051/Sword%20of%20Vermilion.gmv back to fight the thief little girl. Let's see how no super strength serves me against the blue demon
Active player (471)
Joined: 2/1/2014
Posts: 928
janus wrote:
http://dehacked.2y.net/microstorage.php/info/1576242051/Sword%20of%20Vermilion.gmv back to fight the thief little girl. Let's see how no super strength serves me against the blue demon
Never played the game, but I wanted to spice up your forum thread a bit :P Link to video
Ambassador, Experienced player (697)
Joined: 7/17/2004
Posts: 985
Location: The FLOATING CASTLE
Here is how the RNG and encounters work: At every step there is an RNG roll with about 1/16 chance of getting a fight. After 20 steps you get a fight no matter how lucky you are. The RNG only changes once per step outside of battle but goes crazy in battle and seems to change every frame. You can delay leaving or finishing a battle by a small number of frames to manipulate the maximum 20 steps between battles. Killing enemies might also make a difference depending on how they use the RNG. Interesting memory locations: C0A0 - RNG seed (32 bits) C685 - Step counter (8 bits) C69C - Encounter rate (16 bits) Here is a disassembly of the subroutine at $FB5C that calculates the next random number:
MOVEM.l D1, -(A7)       [Saves off D1]
MOVE.l $FFFFC0A0.w, D1  [Copy C0A0 - the RNG seed - to D1]
BNE.w *+$8              [Skip next unless that was 0]
MOVE.l #$2A6D365A, D1   [Initialization]
MOVE.l D1, D0           [Copy D1 to D0]
ASL.l #2, D1            [Shift D1 2 bits]
ADD.l D0, D1            [Add D0 to D1]
ASL.l #3, D1            [Shift D1 3 bits]
ADD.l D0, D1            [Add D0 to D1]
MOVE.w D1, D0           [Copy low 16 bits of D1 to D0]
SWAP D1                 [Swap low and high 16 bits of D1]
ADD.w D1, D0            [Add low 16 bits of D1 to D0]
MOVE.w D0, D1           [Copy low 16 bits of D0 to D1]
SWAP D1                 [Swap low and high words of D1]
MOVE.l D1, $FFFFC0A0.w  [Save new RNG to memory]
MOVEM.l (A7)+, D1       [Restore old D1]
RTS
After this routine the value in register D0 is used as the random number. Here is how that gets used for encounters:
AND.w $FFFFC69C.w, DO   [16 bit and with random number - that mem has $#000F]
BEQ.b *+$4              [Skip next 2 if we got 0 - leads to fight]
CLR.w D0
RTS                     [Return with 0 in D0]
MOVEQ #1, D0
RTS                     [Return with 1 in D0]

BNE.b   -- If we had 1 in D0 then fight
        -- If not then increment step count. If it hits 20, fight anyway.
C69C controls the encounter rate. It is $000F outside the starting village so that is how I figure 1/16 chance. The more bits set, the lower the encounter rate.
Active player (279)
Joined: 9/1/2008
Posts: 900
I had figured out most of what you said. This explains why I sometimes exit on the left, kill 1-2 enemies before leaving, etc. Thanks, I will look into that
Active player (279)
Joined: 9/1/2008
Posts: 900
http://dehacked.2y.net/microstorage.php/info/1590646849/Sword%20of%20Vermilion.gmv back to get the doctor. With the RAM watch, I can now monitor more closely my steps. I was already doing good, but I will certainly do better now (especially after boss fights/entering towns, as the step count doesn't reset)
Ambassador, Experienced player (697)
Joined: 7/17/2004
Posts: 985
Location: The FLOATING CASTLE
The mechanics for the candle seem pretty simple. When you use a candle C560 changes from 0 to 0xFF. C652 gets initialized as a two-byte word to 0x800. It goes down every frame you stand around but not when you move. You can hack it to 0x7FFF (it is treated as signed) to get longer candles but I don't think Janus will do much standing around. Every time you enter a dungeon both of those values gets reset to 0. But I found that on entering a dungeon, C551 gets set to 0xFF. So this lua script detects when you enter a dungeon and gives you a free candle. For some reason this caused a mysterious desync in the Sanguios cave. Turning the lights off and back on fixed it though. So comment that part out for a more general script. Download SwordOfVermillion_candle.lua
Language: lua

--Sword of Vermillion script by TheAxeMan --Lights up dungeons as if you had an eternal candle function turnOnLights() memory.writebyte(0xFFC560, 0xFF); memory.writeword(0xFFC562, 0x0800); end; function turnOffLights() memory.writebyte(0xFFC560, 0x00); memory.writeword(0xFFC562, 0x0000); end; wasInDungeon = (memory.readbyte(0xFFC551) == 0xFF); while (true) do nowInDungeon = (memory.readbyte(0xFFC551) == 0xFF); if nowInDungeon and not wasInDungeon then turnOnLights(); end; --This hack avoids a mysterious desync if gens.framecount() == 99800 then turnOffLights(); end; if gens.framecount() == 100600 then turnOnLights(); end; wasInDungeon = nowInDungeon; gens.frameadvance() end;
Active player (279)
Joined: 9/1/2008
Posts: 900
Is it a hack or a glitch? If it's the former would it get the game accepted? If it's the latter, could you show me (in the very basics) how lua works?
Active player (471)
Joined: 2/1/2014
Posts: 928
janus wrote:
Is it a hack or a glitch? If it's the former would it get the game accepted? If it's the latter, could you show me (in the very basics) how lua works?
it would be a hack just for you, so you could see where you're going. It's accepted to use this, because when we play it back your character is just going to look amazing knowing where to go in the dark lol. edit: if you look at submissions, the sonic 3 for genesis uses a camera hack when they were TASing, but when replaying you dont need the hack and it works just fine.
Active player (279)
Joined: 9/1/2008
Posts: 900
if it's permissible I will use it. I'm tired of guessing when to turn in the dungeons (especially in very long corridors)
Warepire
He/Him
Editor
Joined: 3/2/2010
Posts: 2174
Location: A little to the left of nowhere (Sweden)
janus wrote:
if it's permissible I will use it. I'm tired of guessing when to turn in the dungeons (especially in very long corridors)
As long as the aforementioned desync-issue is worked out, this will be permitted. The script while running merely provides a visual help (in this case simulate a candle) as you work.
Ambassador, Experienced player (697)
Joined: 7/17/2004
Posts: 985
Location: The FLOATING CASTLE
Yup, this is basically a camhack. The desync possibility is the only problem. You should make sure to let your run play through without it occasionally to make sure it doesn't desync. I am doing the same thing with Ultima 4. I can mess around with that desync point some more and make something tailored to the final version when you are ready to submit. To use this you need to copy to a text file and change extension to .lua. Go to tools->new lua window in the gens menu. When the window pops up hit browse and pick the file you made. The one from earlier stays active as you play, the one-time switches below hack the ram once and won't do anything after that. If you have problems with desyncs then run these for one-time switches. On switch: Download turnOnLights.lua
Language: lua

function turnOnLights() memory.writebyte(0xFFC560, 0xFF); memory.writeword(0xFFC562, 0x0800); end; turnOnLights();
Off switch: Download turnOffLights.lua
Language: lua

function turnOffLights() memory.writebyte(0xFFC560, 0x00); memory.writeword(0xFFC562, 0x0000); end; turnOffLights();
Edit: Used the awesome code feature that feos pointed out.
Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11274
Location: RU
Hint: If you not just use a [code] tag, but [code=Script.lua], there will be a download button and a proper syntax highlight. And scripts can be ran just by dragging them into Gens window.
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.
Ambassador, Experienced player (697)
Joined: 7/17/2004
Posts: 985
Location: The FLOATING CASTLE
That's cool, I'll edit my posts. If I remember right, Gens was the first emulator to get lua support and its support is very good. lua is a great tool, I use it extensively and highly recommend it.
Active player (279)
Joined: 9/1/2008
Posts: 900
http://dehacked.2y.net/microstorage.php/info/1639784601/Sword%20of%20Vermilion.gmv back in Parma with about 1.5k fewer frames than the previous test