Posts for Ford


1 2
5 6 7 8
Ford
He/Him
Experienced Forum User
Joined: 3/5/2013
Posts: 183
Location: California
I attempted to run this movie, but it only managed to run at all in snes9x v1.53, instead of v1.51 like your submission states. And when it does, it just hangs out in the name-pickin' spot and does slightly weird things. WHAT DO?
Ford
He/Him
Experienced Forum User
Joined: 3/5/2013
Posts: 183
Location: California
Samsara wrote:
Do the pods always spawn on the same frame no matter what, or can they be manipulated? If they're deterministic, you might have to just accept that you can't beat it and work on making the waiting period entertaining.
I might have to go the entertainment route, though my options for entertainment are a little on the thin side. The pods always spawn in specific locations anchored to the automatically scrolling background. The only way to make them spawn later would be to start the game later, offsetting their spawn by an identical number of frames. Unattractively, starting the game any later than frame 1 causes the game to go into a demo from which there is no escape for over 100 frames. In my present run, I already make a feeble attempt at entertainment by vibrating my ship against a wall while I wait for the next phase to begin. I also tried crashing my ship, but it doesn't erase the pod either.
Ford
He/Him
Experienced Forum User
Joined: 3/5/2013
Posts: 183
Location: California
Scepheo wrote:
I am not at all familiar with this game, but have you tried collecting the energy pod to get rid of it?
I appreciate the suggestion, but touching an energy pod does not remove it. If you're curious, touching the energy pod has the following effects:
    Invincible: destroy enemies on collision. Intangible: can move through solid objects. Refuel: upon leaving this state, the ship is fully refueled. No shots: the ship cannot fire missiles in this state.
Because killing enemies restores a single unit of fuel, and because I can destroy ships faster than my fuel depletes during frame-by-frame play with rerecords, the refueling aspect of the energy pod does not give sufficient incentive for me to touch it. The real nail in the coffin is that it prevents me from firing missiles (my most efficient method of scoring kills). This means that using energy pods actually makes it take MORE time to complete the game instead of less! (The Stripe Zone much later in the game might be an exception; due to how clustered together enemies are, energy pod use there may actually take the same amount of time as conventional missile fire. I'm considering doing that for entertainment purposes later on.) If the energy pod sprites got removed on use, that would be an interesting aspect to consider though. Once again, I sincerely appreciate the suggestion.
Post subject: Re: Sonic 2!
Ford
He/Him
Experienced Forum User
Joined: 3/5/2013
Posts: 183
Location: California
Game: Atari 2600 Vanguard Author: me Progress: zones 1 and 2 Topic: Thread #15678: Vanguard Encode: Link to video
Ford
He/Him
Experienced Forum User
Joined: 3/5/2013
Posts: 183
Location: California
Link to video Finally got around to doing more work on this. I finished the Mountain Zone and the first Rainbow Zone. I'm making some headway, but this game is giving me a share of frustration and concern. My primary source of frustration stems in part from the way the game determines whether or not you have progressed to the next phase. To progress to the next phase, you must underflow the kill counter and clear the screen of enemy sprites. In the Mountain Zone, the first phase has Mist Ships. Kill counter is set to 16, so you must destroy at least 17 Mist Ships to progress to the next phase. It is then set to 24, and Harley Missiles begin spawning, so you must destroy at least 25 of them to move on to the Rainbow Zone. Deal is, the Mountain Zone also spawns Energy Pods (which ALSO count as "enemy" sprites) at regular intervals, and the damn things keep spawning JUST before I manage to score the target number of kills, forcing me to wait until the pod scoots off the screen before the next phase begins. I tried, but for the life of me, I can't figure out a means to beat either of the pods to the next phase. I'm not too worried about the first one; it spawns so early that I've written off beating it to the next phase as impossible, but the second one is so tantalizingly close! I'm also a little worried that my run through the Rainbow Zone might not be optimized. I dunno, maybe I'm worrying needlessly. I'll try toying around with that area a bit more to see if I can improve it, but what do the rest of you think?
Ford
He/Him
Experienced Forum User
Joined: 3/5/2013
Posts: 183
Location: California
That's-a so nice.
Ford
He/Him
Experienced Forum User
Joined: 3/5/2013
Posts: 183
Location: California
I enjoyed the run, but to me, better still was your explanation of how everything works and how you worked it. Definitely a yes!
Ford
He/Him
Experienced Forum User
Joined: 3/5/2013
Posts: 183
Location: California
creaothceann wrote:
IIRC I wrote that part because after subtracting 8 you'd end up with negative numbers. If you're subtracting from 15 instead it might already be correct. Just try it with a few values from the game.
I did. I ran the script while watching my TAS of the first area of the game. And you were right, too. Simply subtracting made the resulting value jump once every eight pixels. Clamping it to an unsigned 4 bits made it behave itself. Tl;dr: you all earned gold star stickers.
Ford
He/Him
Experienced Forum User
Joined: 3/5/2013
Posts: 183
Location: California
Derakon wrote:
You can clamp to a set number of bits pretty easily by doing a bitwise-AND with a bitpattern of 1s (same number of 1s as the number of bits you want to clamp to). You can represent a set of 4 1s as 15, 0b1111, or 0xf. I don't know offhand what the syntax is for a bitwise-AND in Lua, but in most languages it's a single &, so your command would be "value & 0xf", for example.
while true do
	XLow = ( bit.band( memory.readbyte(0x4f),0x0f ) - 1 ) * 15
	XHi = bit.band( ( 15 - bit.rshift( memory.readbyte(0x4f),4 ) - 8 ),0x0f )
	gui.text(350,352,"  X pos: " .. XLow + XHi )
	gui.text(350,364,"  Y pos: " .. memory.readbyte(0x5c) )
	gui.text(350,376,"Targets: " .. memory.readbyte(0x35) )
	gui.text(350,388,"FrCount: " .. memory.readbyte(0x16) )
	emu.frameadvance()
end
This appears to be doing what I had hoped for. Thank you very much, Derakon!
Ford
He/Him
Experienced Forum User
Joined: 3/5/2013
Posts: 183
Location: California
creaothceann wrote:
Take the lower 4 bits, subtract 1, and multiply by 15. Take the upper 4 bits, invert them, subtract 8, clamp result to unsigned 4 bits. Add this to the result above.
I think I have everything figured out EXCEPT the bold part. Maybe it'll be easier if I show you what I have so far:
while true do
	XLow = ( bit.band( memory.readbyte(0x4f),0x0f ) - 1 ) * 15
	XHi = 15 - bit.rshift( memory.readbyte(0x4f),4 )
	gui.text(350,352,"  X pos: " .. XLow + XHi )
	gui.text(350,364,"  Y pos: " .. memory.readbyte(0x5c) )
	gui.text(350,376,"Targets: " .. memory.readbyte(0x35) )
	gui.text(350,388,"FrCount: " .. memory.readbyte(0x16) )
	emu.frameadvance()
end
I imagine I'd have to change something in the third line or add a line between that and the fourth line.
Ford
He/Him
Experienced Forum User
Joined: 3/5/2013
Posts: 183
Location: California
You really did a hell of a lot of homework here. I like that you occasionally walked backwards on the world map, presumably to save the time it would've taken to turn around. I've played and beaten Drakkhen 1 before. It's not what I'd call a great game.
Ford
He/Him
Experienced Forum User
Joined: 3/5/2013
Posts: 183
Location: California
Thanks, these tips are working out great! Now all I have to do is address the issue of the lower 4 bits incrementing every time the upper 4 bits hit 9 instead of a more sensible number like 0. I got a plan for doing that, but it requires checking a condition. I'll tinker around with it more before I start asking for help again.
Ford
He/Him
Experienced Forum User
Joined: 3/5/2013
Posts: 183
Location: California
I'm starting to get the hang of the basics of lua. I don't know how to grab specific bits from memory, though I think I can turn that weird address into something more useful to me through the use of an equation or two...and possibly also having the script check a condition or something. This is a bit of a jump for me considering the only prior programming language I've ever learned to any considerable extent was QBASIC. This could be more fun than I initially anticipated.
Ford
He/Him
Experienced Forum User
Joined: 3/5/2013
Posts: 183
Location: California
adelikat wrote:
Is it perhaps a 12.4 fixed point value?
Being very new at this, I couldn't tell you, though I'll gladly direct you to where I go into more detail about it.
Ford
He/Him
Experienced Forum User
Joined: 3/5/2013
Posts: 183
Location: California
creaothceann wrote:
Take the lower 4 bits, subtract 1, and multiply by 15. Take the upper 4 bits, invert them, subtract 8, clamp result to unsigned 4 bits. Add this to the result above. If I'm correct then "11" will become 9 and "AA" will become 148. You could then subtract 9 if "11" is really the lowest number in all cases.
That sounds like it would work, but I don't know how to do any of that. Is that done through Bizhawk, or do I need another program to get it to work? Oh yeah, and before I forget, thanks for the response. I really appreciate it and I owe you a cookie.
Post subject: What do I do with weirdly-used memory addresses?
Ford
He/Him
Experienced Forum User
Joined: 3/5/2013
Posts: 183
Location: California
I found the memory address for the player's X position in a game I was doing, but it works very weirdly:
    • The value starts at 11 for the left-most position, and increments as such: 01, F1, E1, D1, C1, B1, A1, 91, 72, 62, 52, 42, 32, 22. • At this point, the pattern repeats, decreasing the upper value and skipping 8, while increasing the lower value every time the upper value hits 9. • The value representing the right-most position legitimately reachable in the game is displayed as AA. • The highest legitimate value for this address is FA, which the game interprets as 5 pixels to the left of the right-most legitimate position. • Values can legitimately end in 8.
Is there a way I can have Bizhawk display this value to me in a more legible way?
Ford
He/Him
Experienced Forum User
Joined: 3/5/2013
Posts: 183
Location: California
Sorry about the double post, but I need some help here. I finally found the address for the player's X position at 4F, but it is weird. Moving the player from the far left side of the screen towards the right, the address shows these values in the following sequence: 11, 01, f1, e1, d1, c1, b1, a1, 91, 72, 62, 52, 42, 32, 22, 12, 02, f2, e2, d2, c2, b2, a2, 92, 73, 63, 53, and so on, all the way up to aa at the far right of the screen. As you may be able to see, the left nibble actually descends as the player goes to the right, whereas the right nibble is treated as the upper nibble and ascends as the player goes to the right. The left nibble also skips the number 8, and the right nibble increments every time the left nibble hits 9. Is there a way I can view this information in a more meaningful way? I'd like to be able to view it from a more traditional sort of view, much like the well-behaved Y position at 5C. Moreover, this is one of the many ROMs that Bizhawk appears to be emulating incorrectly, as the player's visible X location on the screen skips a number of pixels near the left side of the screen. I am fairly certain this does not happen on a regular console, and a number of different a26 ROMs behave in this same, odd fashion. Should I just wait for Bizhawk to receive an update that corrects this? Conceivably, it wouldn't be an issue for the Mountain Zone or the Sticks Zone, as I don't intend to leave any survivors that could cross that point, nor for the City of Mystery or Gondor, as everything either moves vertically or never reaches that point of the screen. It might become an issue in the Rainbow Zones that regularly move sprites horizontally across that region of the screen, or the Stripe Zone if sprites there actually do (I don't rightly remember). While a TAS could be made, I wonder if it would desync in a later version of Bizhawk that does not experience this problem.
Ford
He/Him
Experienced Forum User
Joined: 3/5/2013
Posts: 183
Location: California
quo wrote:
Hey all, started a project I guess with this game, here's what it looks like from start to the end of the first dungeon (VBM in the video description) Link to video There are a few issues here and there but I tried not to make a mistake more then once I guess. Tell me what you think and ideas and whatnot
Having never seen the currently-published run, I think it looks pretty good so far.
Ford
He/Him
Experienced Forum User
Joined: 3/5/2013
Posts: 183
Location: California
ais523 wrote:
certain rarely-playing animations are shorter
Do you refer to their heroic poses? Aren't those normally used during a fanfare? And doesn't the game not resume until the fanfare finishes playing? Or did you mean a different animation?
Ford
He/Him
Experienced Forum User
Joined: 3/5/2013
Posts: 183
Location: California
lol if you continue to emulate this game after the victory screen, loading the saved game causes the game to almost immediately reset! That's awesome!
Ford
He/Him
Experienced Forum User
Joined: 3/5/2013
Posts: 183
Location: California
Game: Vanguard System: Atari 2600 Author: Ford Completed: Mountain Zone (both Mists and Harleys) Link to video Discussion: http://tasvideos.org/forum/viewtopic.php?t=15678
Ford
He/Him
Experienced Forum User
Joined: 3/5/2013
Posts: 183
Location: California
Is using the control pad to move really faster than using the touch screen?
Ford
He/Him
Experienced Forum User
Joined: 3/5/2013
Posts: 183
Location: California
Well good on ya letting Minnie win like that. I'm sure she appreciated it!
Ford
He/Him
Experienced Forum User
Joined: 3/5/2013
Posts: 183
Location: California
Warp wrote:
I never thought of this before, but The Last Roundup is pretty strange. So Applejack is ashamed because she didn't win the rodeo competition. Wouldn't it have been the honest thing to do to come back and just be open about it? And that's not all, consider this: "S'no big deal, guys. I thought cherries would be a nice change from apples, so I took the job and came here. That's it. End of story." This is an outright lie, pure and simple. From Applejack. The element of honesty. (Of course one could reasonably argue that being the element of honesty, and being honest by nature, doesn't mean that you never, ever, ever lie. Her shame was so overwhelming that it made her act against her own nature, and this only adds to the depth of her characterization, rather than erode it.)
Telling the truth probably grated against her sense of honor. Honesty has definitions concerning honor, too. It's not just about truth. Remember when she lied to Pinkie to keep her surprise birthday party a surprise? That was also a lie, but she was honorbound to tell it. She's not the only pony guilty of betraying her element, either. Pinkie has battled depression, and Rarity has been quite stingy previously. I think the thing to take from this is that we all have our moments of weakness.
Ford
He/Him
Experienced Forum User
Joined: 3/5/2013
Posts: 183
Location: California
Watched this, thought it was pretty good. Then I watched Game Grumps play it in real time and fail a few times. I feel like it has increased my appreciation of this TAS.
1 2
5 6 7 8