Jump to content
IGNORED

SEAQUEST and the way in which enemies move.


highinfidelity

Recommended Posts

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?

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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. 

Link to comment
Share on other sites

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. 

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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!

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...