Jump to content
IGNORED

Killer Bees!


Recommended Posts

EDIT: I've decided to merge all my work on my Killer Bees! port to the Atari 2600 here and all the problems I have along with it.

 

 

So apparently this won't work?


Random:
        lda Rand8
        lsr
        bcc noeor
        eor #$B4
noeor:
        sta Rand8
        rts          

 

 ...

 

Bees_buzzing_at_title_screen:

                lda #06
                sta AUDC0
                sta AUDV0

 

           jsr Random
           sta AUDF0

 

All it gives me is a value of 0 for AUDF0. Can I make a random value of AUDF0 or am I just stuck with one?

Link to comment
Share on other sites

OK. The bees can now move. The Beebot just stands still. I wanted to have two Beebots on the screen and have the bees be missile0, but that's not going to happen since I can't figure out a way to have two Beebots be two different colors each. So the bees are player1, the Beebot is player0. The more I'm delving into programming, though, the more it seems like it's a daunting task. I spent all morning just to get the in-game screen to work.

 

killerbees2_1.png

killerbees2.zip

Link to comment
Share on other sites

The Beebot FINALLY has enough sense to run away from the bees.

Here's what I am planning:

Player 0 - Beebot. If one is dead, another will show up.

Player 1 - Your bees.

Missile 0 - Enemy bees.

Ball - RoSha Ray.

Which leaves Missile 1 open. Why I chose the Ball for the RoSha ray is because it will be blue (?) and your bees will be white and the enemy bees will not be blue.

 

What I want to have happen is have the bees be a random pattern instead of just one all the time. Is there a way I can make Player1 be a random jumble of pixels so it looks like bees moving in a swarm together? I tried but didn't do good enough.

 

 

killerbees4.zip

Link to comment
Share on other sites

Here's a way to do a swarm of bees using a missile (labeled as mist here):

 

mist:
  .byte $00,
  .byte $00,$12,$E2,$22
  .byte $00,$F2,$22,$E2
  .byte $00,$12,$E2,$22
  .byte $00,$F2,$22,$E2
  .byte $00,$00

    
                ;-- setup index into mist pattern
setupMist:
  LDA   mainTimer
  LSR
  LSR
  STA  mistCnt
  LDA   #16
  STA  lineCnt
  SBC  mistCnt
  STA  mistCnt
  
                ;--- loop to draw mist
mistLoop:
  STA   WSYNC
  STA   HMOVE
  NOP
  NOP
  NOP
  NOP
  NOP
  LDY  mistCnt
  LDA  mist,Y     ;-- load mist pattern
  STA   ENAM1
  STA   HMM1
  DEC  mistCnt
  DEC  lineCnt
  BNE  mistLoop
    
  ;-- clear mist
  LDA  #0
  STA  ENAM1
  STA  HMM1

mainTimer is a variable that counts to 10 before resetting to 0.  It increments once per frame.  NOPs are there to provide separation between HMOVE and HMM1 to make sure HMOVE is not interrupted.

 

This is the same technique I use in ChaoticGrill to create the pepper spray.

Link to comment
Share on other sites

Thank you, I was afraid it might have been impossible for the missile. How about the player? Can you do that with player1?

I have a new version. Some changes include a steady scanline count at 262 and the Beebots start at their little homes, chosen at "random" upon start up. I also activated the reset switch. Pressing that will take you back to the title screen.

 

killerbees5.zip

  • Like 1
Link to comment
Share on other sites

1 hour ago, splendidnut said:

Here's a way to do a swarm of bees using a missile (labeled as mist here):

 


mist:
  .byte $00,
  .byte $00,$12,$E2,$22
  .byte $00,$F2,$22,$E2
  .byte $00,$12,$E2,$22
  .byte $00,$F2,$22,$E2
  .byte $00,$00

    
                ;-- setup index into mist pattern
setupMist:
  LDA   mainTimer
  LSR
  LSR
  STA  mistCnt
  LDA   #16
  STA  lineCnt
  SBC  mistCnt
  STA  mistCnt
  
                ;--- loop to draw mist
mistLoop:
  STA   WSYNC
  STA   HMOVE
  NOP
  NOP
  NOP
  NOP
  NOP
  LDY  mistCnt
  LDA  mist,Y     ;-- load mist pattern
  STA   ENAM1
  STA   HMM1
  DEC  mistCnt
  DEC  lineCnt
  BNE  mistLoop
    
  ;-- clear mist
  LDA  #0
  STA  ENAM1
  STA  HMM1

mainTimer is a variable that counts to 10 before resetting to 0.  It increments once per frame.  NOPs are there to provide separation between HMOVE and HMM1 to make sure HMOVE is not interrupted.

 

This is the same technique I use in ChaoticGrill to create the pepper spray.

Help. How do I put this in my game?

Link to comment
Share on other sites

1 hour ago, atari2600land said:

Help. How do I put this in my game?

I tried throwing it in there, but with the current display kernel design, it will take a lot of work.

 

BUT I was able to get your current setup working.  I modified and added to your bee graphics and added a random offset.  Code attached.

killerbees5x.asm

Edited by splendidnut
Reworded
Link to comment
Share on other sites

While you were working on this, I did manage to make the bees a missile. Now I just need to figure out how to make it not be a hideous white square.

And there is a bug (no pun intended), When the bees are at the bottom and you press left, the bees move up one pixel. It does not do this if you go to the bottom and press right.

 

killerbees6.zip

Link to comment
Share on other sites

Welp, got both techniques working... It's a little sloppy, but it works.  The display kernel could probably be cleaned up/reworked to hide the HMOVE bars on the left.  The bees could probably be tweaked to be a bit more consistent also.

 

Let me know if you need help with that.

killerbees5_with2setsOfBees.asm

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...