Posts for Aqfaq


Editor, Experienced Forum User, Published Author, Expert player (2460)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
Well, there's this discontinued WIP that defeats the first boss: http://dehacked.2y.net/microstorage.php/info/879830503/traysia-test1.gmv Yeah, it is a buggy game for an RPG. For example, some chests can be opened repeatedly, which can freeze the game:
Post subject: Re: Crystal's Pony Tale
Editor, Experienced Forum User, Published Author, Expert player (2460)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
Surprisingly, this game might actually make a nice TAS. I wish I could help with the RNG. At least we could try finding some RAM addresses for the pony/crystal locations and see how they behave.
Ferret Warlord wrote:
Sadly, I am not equipped with the needed skills to deal with this.
I have the same problem with many potential projects. Most of the time I know what needs to be done with the game, but I can't write scripts for solving the required tasks.
Post subject: DOOM (32X)
Editor, Experienced Forum User, Published Author, Expert player (2460)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
Tested recording the first level for the 32X version of DOOM: http://dehacked.2y.net/microstorage.php/info/136249641/32X-DOOM-LEVEL1-TEST.gmv Initial RAM watch and some Lua was created in the process:
2
33
00000	06019ECD	b	u	0	Player HP
00001	06019E74	w	u	0	x
00002	06019E78	w	u	0	y
00003	06019E9C	w	u	0	z
00004	06019E76	b	u	0	x-sub
00005	06019E7A	b	u	0	y-sub
00006	06019EAD	b	s	0	xvel
00007	06019EB1	b	s	0	yvel
00008	060075E9	b	s	0	Self-speed
00009	0600765B	b	u	0	chaingun
0000A	0600765F	b	u	0	rocket launcher
0000B	06007663	b	u	0	plasma gun
0000C	06007667	b	u	0	BFG
0000D	0600766E	w	u	0	bullets
0000E	06007672	w	u	0	shells
0000F	0600767A	w	u	0	rockets
00010	06007676	w	u	0	cells
00011	0600760B	b	u	0	Armor%
00012	06007607	b	u	0	Health%
00013	00FFFF94	b	u	0	input interval
00014	06019FFD	b	u	0	Monster HP
00015	0601A12D	b	u	0	Monster HP
00016	0601B135	b	u	0	Monster HP
00017	0601BD15	b	u	0	Monster HP
00018	0601BF75	b	u	0	Monster HP
00019	0601C00D	b	u	0	Monster HP
0001A	0601B12F	b	u	0	Monster animation
0001B	0600761F	b	u	0	Map
0001C	06007612	w	u	0	Invulnerability timer
0001D	06007617	b	u	0	Berserk
0001E	06007623	b	u	0	blue key
0001F	06007627	b	u	0	yellow key
00020	0600762B	b	u	0	red key
(WCH file also here: http://www.freewebs.com/aqfaq/32X-DOOM-RAM-WATCH.wch)
-- Lua script "starter kit" for Sega 32X Doom.

gui.register(function ()
	xpos = memory.readword(0x06019e74)
	ypos = memory.readword(0x06019e78)
	xvel = memory.readbytesigned(0x06019ead)
	yvel = memory.readbytesigned(0x06019eb1)

	--X-velocity
	xvelocity = string.format("%d", xvel)
	gui.text(160, 60, xvelocity, "yellow", "black")

	--Y-velocity
	yvelocity = string.format("%d", yvel)
	gui.text(178, 60, yvelocity, "red", "black")

	--Total-velocity
	totvel = string.format("%d", math.abs(xvel)+math.abs(yvel))
	gui.text(196, 60, totvel, "white", "black")

	--X-position
	xposition = string.format("%d", xpos)
	gui.text(160, 80, xposition, "green", "black")

	--Y-position
	yposition = string.format("%d", ypos)
	gui.text(160, 90, yposition, "blue", "black")
end)


--------------------------
-- Autoskip idle frames --
--------------------------

gens.registerafter( function()
local idle = memory.readbyte(0xffff94)
	if idle ~= 255 then
	gens.emulateframe()
	end
end)
(Lua also here: http://www.freewebs.com/aqfaq/32X-DOOM-LUA.lua) Is this redundant? Or is this great? I don't know, but TASing this game feels nice. (If you don't hear all the sound effects, enable PWM from the Gens sound options. It seems to go off each time I reset Gens.)
Editor, Experienced Forum User, Published Author, Expert player (2460)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
I can't improve this anymore. Well done, Sonikkustar! Also, thanks to nitsuja for the option to disable SRAM. I think the boss fights in this game are uninteresting for a TAS, but they make nice screenshots:
Editor, Experienced Forum User, Published Author, Expert player (2460)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
Post subject: 32X Spider-Man - Web of Fire
Editor, Experienced Forum User, Published Author, Expert player (2460)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
Oh, I found a way through walls. 291 frames faster than the current published run: http://dehacked.2y.net/microstorage.php/info/438242934/32x-spiderman-web-of-fire-improvement.gmv The trick does not save any time in these two levels, though: http://dehacked.2y.net/microstorage.php/info/426326726/web-of-fire-level-skip1.gmv (About 2000 frames slower, even though the whole fiery factory level is "skipped" or dodged or something.) http://dehacked.2y.net/microstorage.php/info/1025172347/web-of-fire-level-skip2.gmv (Final level is... circumnavigated? It is about 1300 frames slower.) Recipe for the trick is here: Grab a wall, shoot web downwards, jump, shoot web again. Do this fast enough and you get inside the wall. You get easily trapped forever, but if the wall is narrow enough, it can be escaped. The trick should allow some shortcuts in level 2, through the narrow steel walls, maybe saving ~10 seconds. I don't like the web swinging, but I can try to help, if somebody wants to do a new run for this game.
Editor, Experienced Forum User, Published Author, Expert player (2460)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
Sonikkustar wrote:
Anything else?
You could avoid slowdown by jumping before frame 2923. It may not save any frames though. Oh, I guess I mentioned that one already. So, can't really find anything else at the moment. Great work, Starikkuson!
Editor, Experienced Forum User, Published Author, Expert player (2460)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
Saved 1 frame at the end of this mine cart level: http://dehacked.2y.net/microstorage.php/info/174813763/puggsy-improve1.gmv Also, throwing the chest at the torch should save some frames here: In the same level, maybe go further to the right while waiting for the key and grab it while running left, so you don't need to turn around slowly? EDIT: Saved 5 frames at the first water level: http://dehacked.2y.net/microstorage.php/info/49775219/puggsy-water-impro.gmv I believe more frames can be saved there with better item boosts.
Editor, Experienced Forum User, Published Author, Expert player (2460)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
I'm glad the apple trick and the axe trick were useful. Nicely done with the blue ball and the remote control in the latest WIP. Maybe you could try activating the shield item before hitting this enemy here: The shield was bouncing around nearby anyway, so it should not take too many frames to activate it. Then you might be able to fall through the enemy instead of bouncing on him.
Editor, Experienced Forum User, Published Author, Expert player (2460)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
Well, I haven't attempted a run for this one. It's a strange game. I have no idea how to TAS it, but I guess the best initial plan is to choose a merchant character and skip most of the levels by buying safe passages, only stopping to locations that have useful/necessary items.
Editor, Experienced Forum User, Published Author, Expert player (2460)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
Wow, so many levels done already! At the first glance, some of it didn't look as I had imagined, so I tried to improve it only to find out that everything was very well TASed! I almost gave up, but suddenly the hook level ended 1 frame earlier: http://dehacked.2y.net/microstorage.php/info/863821802/Puggsy-1frame-saved.gmv I guess I got some speed from the bouncing barrel? Maybe more frames can be saved there? Oh, on frame 2973, why was your speed -1 instead of -2? By the way, thanks for the appreciation! :)
Editor, Experienced Forum User, Published Author, Expert player (2460)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
Sonikkustar wrote:
Its a shame that i'll have to redo everything.
Yes, it is. I'm sorry I didn't find the trick earlier.
Sonikkustar wrote:
About grabbing. Its nice that it saves time, but im afraid that it might make the run more boring with the constant grabbing sound.
Luckily, with the shoes on, you need to make less throws, because your speed is so fast and the thrown item accelerates slowly, so you need to wait longer before grabbing the item again. It will be only a few throws per second. But it is true that with no shoes, you need to throw more often, and the sound can get irritating. I still think the movie has many awesome aspects in it, so the sound is a minor issue. It might be useful to monitor the item velocity RAM address too, because then you can easily see when the item has enough speed that grabbing it is worth it. There is probably an optimal constant pattern for throwing and grabbing anyway, so hopefully, when you find the pattern and get accustomed to it, TASing the game will be as easy as it was before. It may even be easier than before, because you can now jump over everything. Can't wait to vote YES on this!
Editor, Experienced Forum User, Published Author, Expert player (2460)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
Improvement at the hook again, 8 frames faster: http://dehacked.2y.net/microstorage.php/info/535283625/Puggsy-flying.gmv You're gonna love this, because now you can get anywhere you want! Puggsy can fly! EDIT: Here are three more improvements, not optimized: Not sure about this one, but maybe you can throw the axe earlier and then throw the box so that it gives a little boost to the axe: http://dehacked.2y.net/microstorage.php/info/1084463066/Puggsy-axe-improvement.gmv Not sure about this one either, but it seems to save a few frames. Throw an apple under the key, so that the key gets a little boost: http://dehacked.2y.net/microstorage.php/info/1016966775/Puggsy-key-improvement.gmv Finally, a big improvement that skips almost the whole level where you move the black object in the maze: http://dehacked.2y.net/microstorage.php/info/1380316087/Puggsy-big-improvement.gmv The shoes are lost in the last one, so maybe it would be better not to throw the remote control to the switch. EDIT: Level 1 improved by 35 frames, I think: http://dehacked.2y.net/microstorage.php/info/1895191228/Puggsy-level1.gmv You get a little boost every time you throw and re-grab an item. It saves time EVERYWHERE, so basically you need to redo EVERYTHING, if you want the TAS to be optimal. I'm sorry. :)
Editor, Experienced Forum User, Published Author, Expert player (2460)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
Finally watched another WIP. Looks good. I have no ideas for improvements.
Editor, Experienced Forum User, Published Author, Expert player (2460)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
Hi NitroGenesis! (Sorry for the late reply.) Nice to hear that you are interested. The project is nearly dead for me, because I have no idea how to build a script for manipulating the battles. This script that inserts idle frames and prints the relevant battle results is the best I can do currently (it prints hit points, and how many frames were idled before autoing, and what is the total frame count for the autofight streak before somebody important got 0 HP; if I remember correctly, the script was based on some Shining in the Darkness script by DarkKobold):
-- Start the script when the cursor is on "autofight".
-- Fastforward is recommended, when the script is running.
-- (In this variant, B's HP is not monitored, because he's dead.)

Battler = io.open("C:\\battler.txt", "w")
S = vba.framecount()
iterations = 256
CHECK = savestate.create()
savestate.save(CHECK)
for Cnt = S,S+iterations,1 do
savestate.load(CHECK)

while vba.framecount() < Cnt do
emu.frameadvance()
end

while vba.framecount() >= Cnt
and memory.readbyte(0xc587) > 0 --A's HP
--and memory.readbyte(0xc5cb) > 0 --B's HP
and memory.readbyte(0xC653) > 0 --Cancer
and memory.readbyte(0xC697) > 0  --Wings
and memory.readbyte(0xc6db) > 0  --Golem
and memory.readbyte(0xc93f) > 0 do --Boss
joypad.set(1,{A=1})
vba.frameadvance()
end

Boss = memory.readword(0xC93f)
A = memory.readbyte(0xc587)
--B = memory.readbyte(0xc5cb)
Cancer = memory.readbyte(0xC653)
Wings = memory.readbyte(0xC697)
Golem = memory.readbyte(0xc6db)
outs = string.format("%d %d %d %d %d %d %d\n", Boss, A, Cancer, Wings, Golem, Cnt - S, vba.framecount() - S)
print(outs)
Battler:write(outs)
end
This is good for doing a few hundred rerecords per minute, but it is still a very clumsy tool. So, improving the script or improving the route are the things you could try anytime. RPG route planning is quite fun. :)
Editor, Experienced Forum User, Published Author, Expert player (2460)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
I noticed a little problem with how the player points are calculated: When somebody obsoletes his own run, his player points will drop, because the new movie is not rated immediately. Scrimpeh's player points just dropped from 203.89 to 121.13, when his new MSX Castlevania run got published: [1797] MSX Vampire Killer by scrimpeh in 17:02.65.
Post subject: Revelations: The Demon Slayer
Editor, Experienced Forum User, Published Author, Expert player (2460)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
"Revelations: The Demon Slayer" is a basic monster collecting RPG for GB/GBC. This shouldn't be a difficult project for anyone who's done RPG TASes before. Here is a route demonstration that completes the game in about 39 minutes: http://dehacked.2y.net/microstorage.php/info/1813246935/Revelations-Route-Demo.vbm (The real run might be about 33 minutes.) I have failed to develop a script for manipulating the battles, but I have done enough testing to be able to plan the route. In the current plan, the battle screen will be entered only 20 times: 5 intentional random encounters + 2 skippable fights + 13 bosses In this game, almost everything takes a lot of time due to slow message speed. This means that getting any extra equipment or level-ups is almost never worth it. Also, the armor of bosses gets tough quickly, so it is not worth it to let weak team members live and get level-ups (level-up messages waste lots of time). On each level-up, 1 point can be freely assigned to one of the stats. The main character needs only strength (or maybe 1-5 points of luck somewhere late in the game, if the RNG favors it and gives better damage output). The sole exception to the general slowness is auto-fighting in the battles, which is very fast. Auto-fighting mode uses turns in rapid succession without any messages until the player cancels it OR the player dies OR the enemy dies. The main challenge of the TAS is to manipulate the auto-fight to produce long sequences of successful turns in order to end bosses quickly. The only common item worth using is Silph Wing. Silph Wings allow exiting caves and teleporting to previously visited towns. However, the overworld is so small that even the Silph Wings are worth using only 5 times. One Rune is needed to advance the plot. It is fastest to get it as an item drop from a random encounter. (By the way, go to VGMAPS or GAMEFAQS for a good overworld map of the game.) Here is the route plan:
First rename the three main characters to save text scrolling time:

El --> A
Kishe --> B
Uranus --> J
(Maybe use different names for luck manipulation?)

Talk to Zodia
Equip sword (Timing of this event is used for luck manipulation.)
Get random encounter: Harpy
Kill Harpy to get EXP. and an item drop: Silph Wing
Get Lete Water

Go to Town of Arrow (Lete Water is required to enter)
Boss: Jabba

Buy 4 Silph Wings
Get Medicine

Go to Remlia
Use Medicine, get B to join
Talk to shrine master

Go to Mt. Palo
Boss: Devil
Use Silph Wing #1 to exit

Get random encounter: Lich
Kill Lich to get item-drop: Rune

Go to Remlia
Talk to another shrine master to get Pass
Give Pass to B (otherwise character A runs out of item slots later)

Visit Harappa (get in and out)

Go to Magan tower

Get three random encounters for these three monster types and make them join by letting B talk to them:
1. Cancer
2. Golem
3. Wings

Get Light Charm (+1 strength)

Enter menu: Use Light Charm, summon Cancer, summon Golem, summon Wings

Boss: Minotaur (LET B DIE HERE TO AVOID HIS LEVEL-UPS!)
Talk to woman
Use Silph Wing #2 to exit

Go to Ramuh
Get Sol ring (allows talking to animals)
Use Silph Wing #3 to warp back to Harappa

Enter Harappa
Talk to a duck to get Black Key

Go to Zord Nest (Black Key required)
Mini-boss: Zord P
Mini-boss: Zord H
Boss: Buster
Talk to J

Go to Harappa
Get J to join the party
Use Silph Wing #4 to Ramuh

Go to Tilmun
Talk to two people (to advance the plot, a dolphin is now available)
Get Arce Sword to advance the plot (it just happens to be a good weapon too)
Ride a dolphin into the cave of Orthrus

Boss: Orthrus (Maybe we can let Cancer, Golem and Wings die here, because they deal almost no damage at all on the later bosses?)
Give Rune away (to advance plot)
(Maybe talk to Orthrus to make it join the team? Orthrus seems useful only for the next boss though.)
Exit the cave onto the small island.

Enter Menu: Summon Orthrus, Equip Acre Sword, Use Silph Wing #5 to Tilmun

Go to Sage Mountain
Get Emblem

Ride another dolphin to Zord Castle (Emblem is needed to enter)
Boss: Morgan (It is probably worth it to let Orthrus die here.)
(On level-up, maybe give J a point intelligence, IF it increases her chance of success, when talking to Bones?
Choosing intelligence wastes 2 frames though, so it may not be worth it.)

Go to Atlantis
Talk to shrine master
J talks to Bones (to skip a battle)
A talks to Bones (to skip another battle)
(The second battle needs no intelligence, because it is skipped due to one instance of Bones already being  on the team.)
Get Jail Key (Give it to J, because otherwise A runs out of item slots later.)

Go to Dalo
Use Jail Key
Get Bard (Give it to J)

Go to Zord HQ (Bard is needed to enter)
Get Photonsword
Equip Photonsword
Boss: Zodia (Let J die here!)
Boss: Memphist

Go to Crotona
Get Lapis

Go to Atlantis
Give Lapis to the man
Talk to the man again
Get the flying ark

Fly to petroglyph
Boss: Vaerial

Fly to Luciferium
Boss: Baal
Boss: Lucifer

THE END
This RAM address is related to the RNG: 0xff9c However, there is more to it, and I don't fully understand how the game works. I did discuss it with DarkKobold (thanks DK!) more than a year ago, but I guess we both had more interesting stuff to do and this got forgotten. Here are some helpful scripts: http://aqfaq.webs.com/get-stats.lua http://aqfaq.webs.com/auto-level-up.lua http://aqfaq.webs.com/equip-sword.lua Anyone interested in TASing this or helping with the RNG manipulations? No, not you Bones!
Editor, Experienced Forum User, Published Author, Expert player (2460)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
Sonikkustar wrote:
Would you like to co-author with me on this?
Thanks, I'd like to, but I'm not sure how much I can contribute right now. I enjoy the game though, so I'll try to test some ideas and follow your progress, at least. Good job with the hook throwing, by the way. Looking forward to the next update!
Editor, Experienced Forum User, Published Author, Expert player (2460)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
Looks fun! Getting the shoes was a great idea. The item boosts were cool too. I think I managed to improve a few frames when grabbing the hook: http://dehacked.2y.net/microstorage.php/info/1470128748/Puggsy-improvement-at-the-hook.gmv I pressed up to dodge the edge of the cliff with the hook, so that it does not drag so much. It made the downward acceleration faster. It also seems that pressing jump repeatedly increases downward acceleration. Am I right? Moving the hands can also make a high jump, but I don't know whether it's useful anywhere: http://dehacked.2y.net/microstorage.php/info/698353753/Puggsy-high-jump-using-item.gmv
Editor, Experienced Forum User, Published Author, Expert player (2460)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
I use all savestate slots and only switch to the next slot or the previous slot, so I never use the numeric keys to pick a specific slot. This way I don't need to waste brain resources for remembering what's saved in any given slot. I progress to the next slot whenever I feel satisfied and return to the previous state, if the current state is not good. In a hard section of a game, it is possible that my oldest state and newest state are only a few seconds apart. If at any point I need to go back more than 9 states, it is probably a good time to wake up, backup and playback from the beginning (of the level). I also never use any hotkey that requires holding shift, because it is too slow. When ASD are the common buttons in the game, it is natural to have save-current-state at F and load-current-state at E. Even though F and E are close to each other, I have never messed up with them while saving or loading. It helps to have nothing assigned to G or H, so that I don't need to jump over F. So, some of my common keys in Gens are configured like this: ______[F6] [F7] QWERTY _ABCF __XYZVBN ___[space=fastforward] [ctrl=pause]
Tompa wrote:
Sometimes I'm just saving like slot 1-6 at once three-four times in a row without anything inbetween, for some weird reason.
Something like this happens to me too. Maybe it's because I unconsciously want to get rid of the older savestates.
Editor, Experienced Forum User, Published Author, Expert player (2460)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
Voting yes for the psychedelic zooming and a couple of funny moves.
Post subject: Steel Talons
Editor, Experienced Forum User, Published Author, Expert player (2460)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
Steel Talons is a 3D helicopter shooter with primitive polygon graphics. Here's a test run for mission 1: http://dehacked.2y.net/microstorage.php/info/165562564/Steel-Talons-Mission-1-Test.gmv There are 12 missions, each taking about 30-90 seconds to complete. Route planning is challenging, because of non-linear gameplay. It might be worth a try, because this type of games haven't been TASed at all (or have they?). Arcade and SNES versions of the game exist too. (I'm not planning to TAS this myself.)
Editor, Experienced Forum User, Published Author, Expert player (2460)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
Wow, this TAS is difficult to follow at first, because it has so much content: all the different weapons, weapon power, jetpack heat, constant damage boosts, health management, suicide, two "characters" moving simultaneously, insane RNG manipulations, strange boss fights and fast-changing levels (each looking completely different from the previous one). It took me a while to understand the game and then it took me another while to understand some of the TAS stuff that just happened here. I can say that this is a very well done GMV.
TASVideoAgent wrote:
Best Genesis movie 2011
Challenge accepted. Also, voting yes.
Editor, Experienced Forum User, Published Author, Expert player (2460)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
Here is a "super jump" script that might be useful for testing stuff:
input.registerhotkey (2, function ()
for i = 1,160,1 do
memory.writebyte(0xff071b,7)
gens.frameadvance()
end
end)
Just press your "Lua Custom Hotkey 2" and then jump.
Editor, Experienced Forum User, Published Author, Expert player (2460)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!