Posts for Dammit

Experienced Forum User, Published Author, Experienced player (575)
Joined: 1/11/2007
Posts: 103
Here's an encode, 66 MB. http://www.mediafire.com/?ymalmyyj5mf
Experienced Forum User, Published Author, Experienced player (575)
Joined: 1/11/2007
Posts: 103
Here's an encode, 20 MB, made as an exercise. http://www.mediafire.com/?tgekkzznojz
Experienced Forum User, Published Author, Experienced player (575)
Joined: 1/11/2007
Posts: 103
You can play this back on fbarr-00301. Sometimes when I try to play any fba movie it desyncs within a few seconds, but when I retry once or twice (without closing the rom) it works. fba.roms.dat is just FBA's checklist of ROMs that are available. You do not need it to sync the movie. You don't need to do anything special to watch this movie. PS, "World" doesn't mean the whole world, but everywhere besides Japan, North America, and any other region that didn't get its own release. So it's for South America, Australia, etc. Anyways, I liked what I saw. Here's the original "Loki": Oh, and the current description of the Genesis movie is incorrect. It's not quite the sequel to Ghosts 'n Goblins on the NES, but to this game.
Experienced Forum User, Published Author, Experienced player (575)
Joined: 1/11/2007
Posts: 103
That was fun. Some things:
    *The ROM says "SAMPLE," but this was the closest thing to USA release, and it's fully functional, so it was the right choice. *Too bad it desyncs on fbarr-003. This will happen a lot because the MAME core is always improving. *It was not set to hardest difficulty. (None of the arcade submissions on the bench did this, but I'll only mention it here.) *This was the "Megaman 1~2" course. This game (and its sequel) have three courses, each with different enemies. *This game really wants to be played with two players. *I think stopping before finishing the final boss was a bad stylistic choice, even though you win either way.
Takes no damage when I tas it and Takes damage when I stop tas
It gets hit but doesn't actually take damage.
Experienced Forum User, Published Author, Experienced player (575)
Joined: 1/11/2007
Posts: 103
This game badly needs a minimap. Here's a primitive design:
local address = {
	facing = 0xff000f,
	X = 0xff0010,
	Y = 0xff0011,
	dungeonID = 0xff0017,
	indungeon = 0xff2f29
}

local mapX,mapY,mapsize = 0,0x30,0x1f
local coordX,coordY = 0,0x58
local compassX,compassY = 0,0x60

local dir = {}
dir[0] = "N"
dir[1] = "E"
dir[2] = "S"
dir[3] = "W"

local name = {}
name[0] = "Labyrinth L1"
name[1] = "Labyrinth L2"
name[5] = "Wisdom L1"
name[6] = "Wisdom L2"
name[8] = "Truth"
name[9] = "Strength L1"
name[10] = "Courage L2"
name[11] = "Courage L1"

gui.register( function ()
	if memory.readbyte(address.indungeon) == 2 then
		local dungeon = memory.readbyte(address.dungeonID)
		local X,Y = memory.readbyte(address.X),memory.readbyte(address.Y)
		gui.text(mapX,mapY+mapsize,name[dungeon],"blue")
		gui.text(coordX,coordY,"("..X..","..Y..")")
		gui.text(compassX,compassY,"Facing "..dir[memory.readbyte(address.facing)])
		gui.drawbox(mapX,mapY,mapX+mapsize,mapY+mapsize)
		gui.drawpixel(mapX+X,mapY+Y,"red")
	end
end)
Still needs the actual dungeon shapes, otherwise you just get a dot in a box. Keep up the good work.
Experienced Forum User, Published Author, Experienced player (575)
Joined: 1/11/2007
Posts: 103
mmbossman wrote:
AndyD wrote:
what about the tapping left right combo per frame? (common tas trick)
Kids, just say no to wobbling. It can only lead to bad things.
This is what should happen to all wobblers:
Nitsuja helped me find the lua problem and already fixed it. (Thank you.) The script has been updated and will work with or without the fix.
mikwuyma wrote:
Okay, this run was awesome, and it's one of the many games in the list of "Wow I should rerun this game because the TAS shows how shit my current run is." And like always, I'm not sure when I'll actually get around to it. My only question is whether the wall climbing can be useful for a speedrun, but I guess I have to try that out myself.
With quick fingers, you should be able to do the shuriken spamming and fastkicking in realtime, but the wall climbing tricks require finicky frame precision. Actually I didn't see many points where your speedrun could be reliably improved. Some parts are more precise than the old TAS.
Experienced Forum User, Published Author, Experienced player (575)
Joined: 1/11/2007
Posts: 103
Sonikkustar wrote:
BTW, Does the upward wallzipping only work on a single jump? Or can it work on a double jump?
It doesn't work on a double jump because by the time the flip is finished you'll be ejected from the wall. (You can't kick during the flip.) It doesn't work on a walljump either because you can't do a turnaround kick, or even turn around, during a walljump. I think it's cool how it can only be used under strict circumstances.
nitsuja wrote:
savestate.registersave(function(slotnumber)
	-- save out the arrays
	return Xvalue,Yvalue
end)
savestate.registerload(function(slotnumber,x,y)
	-- load in the arrays
	Xvalue,Yvalue = x,y
end)
Hm, now I get an error on the first line after gui.register: Xvalue is a nil at that point. I guess that means savestate.registerload didn't plug in the values? How does registerload know what "slotnumber," "x" and "y" are?
Experienced Forum User, Published Author, Experienced player (575)
Joined: 1/11/2007
Posts: 103
RT-55J wrote:
A lua script for showing the enemy locations would trivialize the shooter segment.
It might be easier to devise a Game Genie code that just draws the enemies and hostages on the minimap, as in the easier difficulty levels. The prior movies were terrible--not only clumsy but they got a bad ending. I think this is a good game for a new TASer, but you might need a loud personality to get it published now.
Experienced Forum User, Published Author, Experienced player (575)
Joined: 1/11/2007
Posts: 103
In regards to a GUI, it would be less trouble to just make mednafen output a status message to the console whenever starting or exiting. (Error: ROM xyz not found. Correct syntax is...) This would also make it easier to push your changes upstream, which I hope you consider doing when rerecording is ironed out a bit.
Experienced Forum User, Published Author, Experienced player (575)
Joined: 1/11/2007
Posts: 103
Subtitles are excellent. The excellence can be extended to the encoded video by adding them as softsubs (in MKV container or similar) instead of having two AVIs. This would be easy with a utility that converts the text from the fm2 into srt or ssa. From there it's a trivial mux operation.
Experienced Forum User, Published Author, Experienced player (575)
Joined: 1/11/2007
Posts: 103
Good questions. when you are jumping over enemies, do you jump the minimum height and kick as soon as possible to save time? I jump maximum height and kick as high as possible to get a bigger kick. Any jump costs the same three frames to start so you get more for your money by going higher. did you use the throwing spikes and other weapons as efficiently as possible? you had 321 at the end, which could've been used on enemies you were just passing or just throwing at max speed for the entertainment of it, if it didn't slow you down anyway This game is very generous with the shurikens. (The Shinobi II movie ran out a few times.) I had a lot because I got them whenever it cost no time but didn't use them if they cost any time. It costs 1 frame to throw while jumping and several frames for a shuriken spread because the kick won't be as high. And I sometimes use other weapons instead. The result is you get a variety of kills and non-kills. is it faster jump-kicking than just running? Kick-speed is higher than run-speed but a kick takes some time to set up. It's easier to see the difference by watching the scrolling instead of the characters. You can also see it quantitatively with the lua script. on the surfing level, does the level take less time if u kill enemies faster? The autoscrollers have to pass the same distance and you can't affect the speed. So naturally I cocktease the viewer there.
Experienced Forum User, Published Author, Experienced player (575)
Joined: 1/11/2007
Posts: 103
A lot of improvements have been made to the script, in part from the detective work on the gamefaqs forum. In particular, it can show other parameters besides land value and it reveals the hidden city center tile, which affects land value. http://lua.pastey.net/109351 edit: newer update
Highness wrote:
Maby someone should program a toggle function for switching LUA on/off?
Recent snes9x svns added this ability, along with text color and other improvements. In related news, lua has been added to snes9x 1.51 svn. Great work Gocha! Now we only need to wait 7 or 8 years for players to actually start using 1.51. About the money cheat, the only real effect is to speed up the gameplay from really slow to somewhat slow. Because there aren't any time limits or race conditions in the main game, it doesn't reduce the difficulty.
Experienced Forum User, Published Author, Experienced player (575)
Joined: 1/11/2007
Posts: 103
FatRatKnight wrote:
Hmm, it would be nice to see the precise number, but the lack of space for three digits does get in the way. Can you recolor the text? Perhaps use three different colors, one each for <100, 100~199, and 200~255. We can still cross-check with the color boxes so we can guess that "02" there is actually somewhere over 100.
You currently cannot control the text color. Try this one. It prints the unscaled number. 100s digit in the upper left, 10s digit in the lower left, 1s digit in the lower right. (Another way to do it would have been to convert to hex.) I also made it so no number is shown in the case of zero landvalue. http://lua.pastey.net/108744
FatRatKnight wrote:
Mind if I present this to the GameFAQs board? I'm sure there's someone who'd love to see land value actively exposed like this.
I've been following your gamefaqs discussion. The script is published: share it wherever you want.
FatRatKnight wrote:
EDIT: I just realized... By holding down any button, time does not pass. As such, even L or R will halt the flow of time. This becomes quite a problem if I want to watch land value change the moment it happens. I can play a movie in read-only and hold L or R without interfering with it and still see the changes happen, so I suppose it's not that big of a deal.
You can change the controller in line 10 to something else if you don't want to interfere with the time passage. You can also decomment lines 32/33 to show the info at all times. I do hope some kind of TAS is being planned?
Experienced Forum User, Published Author, Experienced player (575)
Joined: 1/11/2007
Posts: 103
FatRatKnight wrote:
lua script that gives the exact land value of each square
I'll try. I'll edit later with the result. Edit: OK, seems to be working. As usual, I borrowed bits from scripts by Dromecious and others. http://lua.pastey.net/108707 Hold L to see the values and R to see the color grid. The colors match the ones in the in-game land value map, but I had to guess the values where the gradients are. I scaled the values to percent because three digits won't fit in a 16x16 box.
Experienced Forum User, Published Author, Experienced player (575)
Joined: 1/11/2007
Posts: 103
Nitrodon wrote:
The number you're looking for in your last question is 7e0559. Alternatively, set 81FB8A to 0 to bypass the first check (which will set all drop rates to 1/4), and/or set 81FB94 to 0 to bypass the second check (which will quadruple all drop rates).
Sounds like exactly what I want, but isn't that outside of memory range? I applied them and they don't seem to be working, though the second one does affect battle sprites. Edit: Oh, I found this:
Iron Knuckle FAQ wrote:
---------------------------------- Garanteed 100% Chance of Item Drop ---------------------------------- Using this GG/PAR code (created by Relnqshd) Item drops will always occur. Be careful though since you can have only 1(ONE) item per battle and the item you receive will always be the item dropped by the first enemy you kill. So always kill the monster of the desired item first. GG (US): 6DE9-34D1 DCE9-3401 PAR code (US): 81FB5880 81FB590A
This works (though the odds are a little unsporting now). So the 8nnnnn range is in the ROM data?
Experienced Forum User, Published Author, Experienced player (575)
Joined: 1/11/2007
Posts: 103
I have no answer except, that would be past my threshold for acceptable cheating, not much different from using a trainer. It wouldn't be fun.
Experienced Forum User, Published Author, Experienced player (575)
Joined: 1/11/2007
Posts: 103
I'm trying to enjoy this game but the item drops are pissing me off. I would like to make, or just have, a lua script or cheat code to help get item drops.
Nitrodon wrote:
For any attack, the RNG is used 21 times for that attack per target. (I know what all 21 do, but most are irrelevant for most actions.) Additional numbers may be used before all of these (for targeting, including attacks which always target all enemies) and after all of these (for the animation), but we'll just focus on the ones that change the effect on a certain target. After those 21, if the enemy dies, can drop an item, and no items have been dropped this turn, an additional number is generated. For Camu (for example), this number gives a 12% chance of continuing with the attempted drop (low number = drop). After that, if the first number succeeded, it generates a number 0-3, and a 1 (i.e., 0x40-0x7F) makes the item drop. In a multi-target attack, this occurs before the effects on the next enemy are determined.
It looks like if I set all the randoms at 0x7e0521-57 to 0x40-0x7F I get guaranteed drops for easy items like potions, and if I set them outside that range I never get anything. That makes sense. But how do you make it go low for the first check? Or, how can you tell which of the random numbers is going to be checked next?
Experienced Forum User, Published Author, Experienced player (575)
Joined: 1/11/2007
Posts: 103
address = 0x7e06a1, name = "P1 back charge", size = 1, format = 1
address = 0x7e06b9, name = "P1 down charge", size = 1, format = 1
Experienced Forum User, Published Author, Experienced player (575)
Joined: 1/11/2007
Posts: 103
Find gNoBGFillColor in fceux.cfg and change its value to whatever you want from 0 to 255.
Experienced Forum User, Published Author, Experienced player (575)
Joined: 1/11/2007
Posts: 103
I recommend you do those in a separate movie, accessed with a password. Because there will be an hour of gameplay in front, and you don't want to have to cut off the ending movie of Mayhem. The Sunsoft levels shouldn't be too hard, as they are all precision dependent.
Experienced Forum User, Published Author, Experienced player (575)
Joined: 1/11/2007
Posts: 103
alden wrote:
Could you make an "avi" that is a dump to a text file?
Sure. Check the scrollback files in the original link. There's a map here (which is probably older than me) if you want to follow along: http://accardi-by-the-sea.org/Infocom/Gallery/gallery/Other/Zork%20Users%20Group/index.html Apparently there's a page on that site you where you can play the games in your browser via a JRE interpreter. By the way, some games, I TAS them out of disgust rather than affection...
Post subject: Zork and other Z-machine games
Experienced Forum User, Published Author, Experienced player (575)
Joined: 1/11/2007
Posts: 103
These Infocom games were distributed in "Z-machine" code, and played by running the code with an interpreter. This made them easily portable. Since Z-machine has been disassembled, interpreters have been made for many other platforms, including Windows. So there's no need to use an emulator like DOSBOX. Furthermore, some interpreters support input recording. The .rec files are just plain text: one line for each entered command. Unfortunately the randomness in these games is realtime dependent and .rec files do not record any realtime element. Therefore actions like fighting have unreliable outcomes and may cause desync. This could be solved my making an interpreter that gives the user strict control over time: only advance time during processing, typing, or a frame-advance operation. How to play back the movies
    Run it and load the correct game. (You can find these in the TOSEC set.)
    With the game in an initial state, (reload the ROM if you touched anything) run the .rec file (alt-p). Say yes to "more" prompts to show one screen at a time.
    Watch (or read, mostly). It should eventually conclude with a "you win" kind of message. If not, it desynced. Try again.
You can call up the Scrollback to review everything that happened. The scrollback logs are included for those who don't want to set everything up. Zork I
Revision 88
ZORK1.DAT
8fff4d39
This is the first z-machine game, an adaptation of what they played in the 70s and 80s when there was nothing else. See? Don't let anyone tell you that games were better in the old days. I use the "again" glitch to open the trap door from the wrong side and steal the troll's weapon. I use the inflatable boat glitch to carry more than usually allowed. The route (298 moves) is a safe one, and could be greatly shortened by controlling the randomness of the thief and the giant bat. Arthur: The Quest for Excalibur
Revision 74
ARTHUR.ZIP
9343bc2c
This is one of the last z-machine games, and it treats the player with somewhat more dignity. It also has graphics. (To display them, Windows Frotz 2002 requires ARTHUR.BLB and WinFrotz 5.3 requires ARTHUR.MG1) Because of the randomness of the peat bog I have no choice but to break the movie into two parts. First run ARTHURa.rec, then type "restore" and load ARTHURb.sav, then run ARTHURc.rec. Anyway, if you somehow wanted to know about the state of Zork TASing, there you go.
Post subject: bump with substance
Experienced Forum User, Published Author, Experienced player (575)
Joined: 1/11/2007
Posts: 103
I made some test movies with mednafen 0.8.A http://mednafen.sourceforge.net/ Bloody Wolf (USA cartridge) Bonk III (USA CD) Akumajou Chi no Rondo (JAP CD) download Play them and see if they sync. I don't know any of these games. I picked them because they were mentioned here. It seems there's no way to record from power on, only from savestate. If you loadstate during recording, it doesn't re-record and it doesn't stop either--instead I think it inserts the savestate into the movie, loads it, and keeps recording. This makes a really big movie file and looks awful so I didn't use them. There's no GUI and no error messages, so here's some preemptive troubleshooting. Run a (optionally zipped) cart with:
mednafen "rom path/rom name.pce"
mednafen "rom path/rom name.zip"
To run CD games, first specify a (optionally zipped) v3.0 CD bios in mednafen.cfg:
pce.cdbios rom path/rom name.pce
pce.cdbios rom path/rom name.zip
Run a CD with:
mednafen -loadcd pce "rom path/rom name.cue"
Cues must not refer to anything besides iso, bin, wav. Put the movie files in the mcm folder, match the name with your rom, load the rom and hit shift+F7 to play back. Some personal config prefs: Exclude md5 from save filenames:
dfmd5 0
Make your bram/sram saves compatible with other emulators:
filesys.disablesavegz 1
Display 256x240 games (most of them) in the authentic aspect ratio:
pce.xscale 2.4
pce.yscale 3
or some integral multiple of 0.8:1 For 342x240 games, use a 1.06875:1 multiple. (There have already been some forum complaints about this.) Overscan (full) display:
pce.slstart 0
pce.slend 239
Plain old scaling:
pce.videoip 0
pce.special none
Experienced Forum User, Published Author, Experienced player (575)
Joined: 1/11/2007
Posts: 103
Highness: I haven't played it but it looks like the only extra thing the PSX version has is unlockable treats in Street Puzzle mode. It's not going to affect a TAS. To fight vs. Dan you have to play slowly and badly. Plus the fight against Dan would not be so fun to watch because he's helpless. So maybe not a good idea. Derakon: Your point is true in general, but Dan has such a poor attack grid (all red) that he has no choice but to go for big sexy combos.
Experienced Forum User, Published Author, Experienced player (575)
Joined: 1/11/2007
Posts: 103
Set damage to max, choose the weakest character (Dan), beat the secret boss (Devilot), and otherwise go for speed. And play the arcade version with fba-rr. PSX version has nothing to offer for a TAS.