highinfidelity Posted January 7, 2020 Share Posted January 7, 2020 Activision's Seaquest is definitely amongst my Atari favourites: it has the perfect blend of difficulty progression, average playing time and fast shooting action that sum up to make a fun game. I think we already discussed about the way in which enemies move in a remote past, but I can't find the old thread, if it existed at all. The point is that at the beginning of all stages some enemies move from left to right and others from right to left. But then, from one point onward, I find myself with all enemies moving from left to right of the screen, which is a bit head-spinning at higher scores. I don't get if it's just the way in which the game is programmed, or if I'm missing something in my strategy. I also read again the booklet of the game, but this aspect is not mentioned. Is there anything the gamer can do in order to have the enemies moving more or less 50-50 in both directions? Quote Link to comment Share on other sites More sharing options...
CapitanClassic Posted January 7, 2020 Share Posted January 7, 2020 You might want to check the disassembly. Quote Link to comment Share on other sites More sharing options...
highinfidelity Posted January 8, 2020 Author Share Posted January 8, 2020 Thanks! I know very little of disassembly, however I looked at the code. Frankly, I didn't find the answer; the only code block that seems to refer to the motion of the enemies may be these three lines: lda randomSeed ; get current random seed value and #OBSTACLE_HORIZ_DIR_MASK ; keep D4 value ora tmpObstacleAttributeValue ; combine to set obstacle direction Should be more or less random. It is beyond my comprehension why at a point all "obstacles" move from left to right as a fleet. As a side note I am (negatively) impressed by getting only one reply to this thread: Seaquest is among the best games ever written for the VCS in my opinion, and I thought that many fans would join the discussion. Quote Link to comment Share on other sites More sharing options...
KevKelley Posted January 8, 2020 Share Posted January 8, 2020 Sadly I know nothing that helps but was curious about this thread. I had always thought it would be cool to hack seaQuest to make an Atari port of Sqoon since seaQuest has much of the same elements. Hopefully you get the responses you desire. Quote Link to comment Share on other sites More sharing options...
+save2600 Posted January 8, 2020 Share Posted January 8, 2020 Be nice if it was hacked so the enemies became less predictable and more frantic. Not much of a challenge until you've been playing quite a while IMO, so anything to help ramp up the difficulty would be welcome. Quote Link to comment Share on other sites More sharing options...
CapitanClassic Posted January 8, 2020 Share Posted January 8, 2020 4 hours ago, highinfidelity said: Should be more or less random. It is beyond my comprehension why at a point all "obstacles" move from left to right as a fleet. As a side note I am (negatively) impressed by getting only one reply to this thread: Seaquest is among the best games ever written for the VCS in my opinion, and I thought that many fans would join the discussion. The section of code that gets the next seed value might be useful as well. Normally, the seed is constantly updated every frame, but is only used based upon some users input so that it appears random. While unlikely, it is possible that the random seed has some bug in it, or is based upon some input that you can duplicate every level. As to your side note, the level of interaction in the thread is about what I expect. You need all these elements to likely elicit a response. 1) A player who either believes you that enemies always come from the same side of the screen eventually, or someone who gets high scores regularly and has experienced this themselves. 2) A person who understands and has located the disassembly or has followed the game code in Stella or other emulator. 3) Someone who cares about this behavior more than you do. Someone for which those three things is true is unlikely. Perhaps you could provide some video evidence (or evidence of any kind) that this behavior occurs, and when it occurs (what level, approximate score, etc). Upload a video to YouTube or find a Longplay/High score video which shows this happening. Right now, as you said, it should be more or less random. Quote Link to comment Share on other sites More sharing options...
CapitanClassic Posted January 8, 2020 Share Posted January 8, 2020 Does this Seaquest gameplay exhibit the behavior you are talking about? Quote Link to comment Share on other sites More sharing options...
highinfidelity Posted January 8, 2020 Author Share Posted January 8, 2020 Well, now that's some replies!!! ? Long live Seaquest!!! No, I don't see it happening in the video you posted. They cross each other coming from both directions as I would expect them to do. Only thing I can add is that I play a NTSC cart on a 2600 unit that was sold in Europe displayed on a PAL TV, with wrong colours etc. but I suppose it shouldn't make any difference. The position of the difficulty switches also shouldn't have any influence on the way in which the enemies move, or at least the manual doesn't mention this. I actually have to see if this whole thing is going to happen again the next time I play; I am now wondering if I "fried" the cart just by chance and had it behaving in that weird manner at higher stages. It possibly is so. In case, I will record a video. Coincidentally, I have also just purchased an International Edition of Seaquest at a local thrift shop and I'm also curious to see if it plays all right. Quote Link to comment Share on other sites More sharing options...
CapitanClassic Posted January 8, 2020 Share Posted January 8, 2020 I don’t think that frying the cart would have any effect (not TV/region differences or difficulty switches). Activision was well aware of a technique to clear the Atari 2600 registers and memory using little ROM space. They likely implemented a section of code similar to this below. (Stolen from 8bitworkshop, and similar to what is in Pitfall!). I cannot check the disassembly above, but it likely has a CLEAN_BOOT section just this below. ; Typical initialization routine ; ('start' is a label because it's on the left margin) Start sei ; disable interrupts cld ; disable BCD math mode ldx #$ff ; init stack pointer to $FF (grows upward) txs ; ... transfer X register to S register (stack pointer) ; Another typical thing is to clear the zero page region ($00-$FF) ; This includes a bunch of TIA registers as well as RAM ($80-$FF) lda #$00 ; set A register to zero ('#' denotes constant) ; X register is already at $ff from previous instruction, so let's loop... Zero sta $00,X ; store A register at address ($0 + X) dex ; decrement X by one bne Zero ; branch until X is zero sta $00 ; the loop doesn't cover address 0 Quote Link to comment Share on other sites More sharing options...
highinfidelity Posted January 10, 2020 Author Share Posted January 10, 2020 Well... I went back to the game and in absolutely NO WAY I could have it behaving once again in the way that I described above. So, gentlemen, please excuse the completely useless thread. I have no idea about what happened, my only guess is still that I accidentally "fried" the 2600 and although the game would work the random number genaration algorithm happened to be messed up. Thanks everybody for the respective input, it has been a pleasure chatting about this great game anyway! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.