Jump to content
IGNORED

A li'l game...kinda fishie...


vdub_bobby

Recommended Posts

I agree with the others about the lack of many small fish at the beginning, and the music gets annoying after awhile. Maybe it should fade out at a certain time, or have a toggle or something. :)

 

As for the animation, and the shapes of the fish, maybe I can help with that. I'm studying animation in school now, so I might be able to squeeze in sometime to spruce up the look of the fish and the variety present, if you are interested.

 

How many frames per fish and What are the dimensions in bits and bytes available: 8 x ? Also, I see you have double wide and quad wide for some of the fish. Between you, Adam( salsdat ) and me, maybe we can make the fish look better. 8)

 

The smallest fish probably don't need any changes graphics-wise.

post-2955-1107081153_thumb.jpg

Link to comment
Share on other sites

The game is coming along very nicely!

 

I'll throw in a nod towards needing smaller fish at the beginning. It takes a long time to grow up.

 

Maybe you can make an even smaller target at the beginning - plankton. You could just break a single sprite up into tiny dots that bob up and down. (Like the divers' air bubbles in SeaQuest.) Just to give the little fish some more food.

 

The jellyfish look great - but it'd be nice to see a "death scene" when you hit 'em. Maybe color cycling? (Like in Berzerk, when you get shot.)

 

Regarding the movement of the fish - is there enough vertical space for them to bob up and down a few pixels while moving, without hitting the next rows above or below them? This would make it a little more challenging to nab the smaller fish. Right now, you can just get in front of them and wait. (I also like the idea mentioned about shifting all of the fish up and down as they go along. Megamania does something like that.)

 

I really like how the small fish will run away from you. I'd like to see that even more.

 

As for hiding in the seaweed - maybe that could be what the eel is for. If you're down there for more than a few seconds - he's after you!

 

Excellent progress so far. :thumbsup:

Link to comment
Share on other sites

As for hiding in the seaweed - maybe that could be what the eel is for. If you're down there for more than a few seconds - he's after you!

That's a good solution to the sniping problem. Since an eel is basically a line, you could just do it with the ball sprite to avoid flickering.

Link to comment
Share on other sites

Lot's of good ideas; thanks!

 

As far as the music...trust me, I KNOW it is annoying! I have heard that 4-second tune too many times...

but you can turn it off with the right difficulty switch. :)

And the music is definitely on my list.

 

As far as the sprites go - yeah, some of them are lame. I'm working on it! If anybody wants to try their hand at improving 'em, be my guest. Limits: 9 pixels tall by 8 (single-, double-, or quad-width) pixels wide. There are...um...13 different sizes (16 total fishies: 1 shark, 1 jellyfish, 1 eel, 13 regular fish). Here are the pixel sizes of each fishie:

Size 0: 5 single-width pixels wide by 3 pixels tall

Size 1: 5 single-width pixels wide by 4 pixels tall

Size 2: 5 single-width pixels wide by 5 pixels tall

Size 3: 6 single-width pixels wide by 6 pixels tall

Size 4: 8 single-width pixels wide by 6 pixels tall

Size 5: 6 double-width pixels wide by 6 pixels tall

Size 6: 7 double-width pixels wide by 8 pixels tall

Size 7: 8 double-width pixels wide by 8 pixels tall

Size 8: 5 quad-width pixels wide by 8 pixels tall

Size 9: 6 quad-width pixels wide by 8 pixels tall

Size 10: 7 quad-width pixels wide by 8 pixels tall

Size 11: 8 quad-width pixels wide by 8 pixels tall

Size 12: 8 quad-width pixels wide by 9 pixels tall

 

The specific sizes aren't super important...but each fish needs to be pretty clearly bigger than the smaller ones and smaller than the bigger ones.

 

As many animation frames as you want...I've still got plenty of room for data. They do have to be a single color, though.

 

Using the ball for the eel might work...have to think about that.

 

Oh, and noted that it starts off too slowly. I'll work on that :)

Link to comment
Share on other sites

No graphics help, eh? :D

 

Anyway, here's the latest 'n' greatest:

 

Changes:

-slightly improved graphics. Very slightly.

-added code to improve music. Unfortunately, I haven't actually written any improved music yet, so it is still (mostly) the same.

-title screen. Not nearly done, but it is functional

-increased point values for fishies and changed random distribution of new fishies to speed play up at the beginning.

-changed controls slightly: now the B&W switch turns the music on/off, and the difficulty switch(es) can be used to start as a bigger fish. B=start as the smallest fish, A=start as the...4th or 5th size up, I think. Between the last item and this item I am hoping to eliminate the early-game boredom of waiting for hours for a fish to eat :)

-added an easter egg...heh :)

-two-player play now possible! Heh, this took a while, ate up a ton of code space, and flickers...but it is pretty fun! At least I think so, based on limited play with my wife. :) In two player mode, the first person to get eaten 10 times loses. The other guy wins :) Switch between 1- and 2-player games with the SELECT console switch at the title screen.

 

Summary of control changes:

On title screen:

Fire button (on L controller) starts game

SELECT switches between 1- and 2-player games

Difficulty switches control starting size of player-controlled fish: L difficulty controls player 1; R difficulty controls player 2.

RESET restarts the music.

B&W switches music on and off.

 

While playing:

RESET takes you back to title screen.

B&W switches music on and off.

 

Let me know what ya'll think, alright?

fishies.zip

Link to comment
Share on other sites

I've just now got around to trying this, and it's pretty good. ;) I really like the inertia.

 

Anyway, some suggestions... the impractical one first: maybe you could have the fish move up and down, if only within their individual "lanes", like in sine waves or something? It would add a little to the difficulty...

 

Also, it might look nice if you made the water get darker as it gets deeper. And it could turn red when the shark eats you. :)

Link to comment
Share on other sites

I really like the changes (though I kinda liked the subtle wave crests of the previous build). A couple of questions:

 

In 2-player mode, since you only score when the other player is eaten, what is the motivation for even going after the fish, instead of just staying down below in the coral?

 

Would the music off option work correctly on a 7800? On that console, the B&W switch spring back like the select and reset switches do. The two-tiered solution I used was to attempt to detect which console the program is being played on (by checking ram for specific values on powerup) and saving that result following ram initialization...and then using that result to decide later between 2 seperate routines made specifically for the 2600 or 7800.

Link to comment
Share on other sites

Would the music off option work correctly on a 7800?  On that console, the B&W switch spring back like the select and reset switches do.  The two-tiered solution I used was to attempt to detect which console the program is being played on (by checking ram for specific values on powerup) and saving that result following ram initialization...and then using that result to decide later between 2 seperate routines made specifically for the 2600 or 7800.

Does your autodetect work?

 

Else, you can use the B&W switch like the reset switch and two state changes toggle music.

Link to comment
Share on other sites

First: thanks for the comments, everyone :)

Anyway, some suggestions... the impractical one first: maybe you could have the fish move up and down, if only within their individual "lanes", like in sine waves or something? It would add a little to the difficulty...

 

Also, it might look nice if you made the water get darker as it gets deeper. And it could turn red when the shark eats you.

I could move the fish up and down, and I might. I've considered that a couple of times. The problem with that is that it would require a little more data and a little more code...and I am up against the wall as far as code space is concerned. After I add the rest of the necessary elements (IMO) than I will see what else I have room to fit in.

I really like the changes (though I kinda liked the subtle wave crests of the previous build).

Yeah, I think I do too. I was just messing around with the graphics a little and forgot to switch it back :)

A couple of questions:

 

In 2-player mode, since you only score when the other player is eaten, what is the motivation for even going after the fish, instead of just staying down below in the coral?

Well, just like in the one-player mode, you can increase in size by eating smaller fish. And if you are bigger than the other player, you can just eat him. So in theory you have motivation to leave the safety of the sea-floor. If, in practice, you never want to leave the floor, I'll have to think of something to motivate you. But I have to think that with 10 "lives," that's enough chances for the player that leaves safety to eat enough fish to grow by one size. And at that point the player that didn't leave the safety of the reeds/coral is pretty much screwed. Cuz once his opponent is bigger, he has to leave the bottom (or the other player will eat him). It makes sense in my head, anyway. Please let me know if it doesn't work that way in practice.

 

And anyway, if neither player will leave the coral, then use the difficulty switches to make one of the players bigger - that should get things moving :D

Would the music off option work correctly on a 7800?
I don't think so.
On that console, the B&W switch spring back like the select and reset switches do. The two-tiered solution I used was to attempt to detect which console the program is being played on (by checking ram for specific values on powerup) and saving that result following ram initialization...and then using that result to decide later between 2 seperate routines made specifically for the 2600 or 7800.
Yeah, I remember reading about your solution and I have considered it. If I have room, and if it is pretty robust, I might do something similar.
Link to comment
Share on other sites

Does your autodetect work?

As far as I can tell ;) Since the 7800 supposedly boots with known values sitting in ram, it should work. The theory is that on boot, the program first checks for known values and saves that result to the Y register, and then X and A are used to clear out all ram. Once ram is cleared, the Y register is saved to a single bit in ram and that bit is not changed from then on. This bit is checked later to decide on which routine to use...single state changes for the 2600 or two state changes for the 7800.

 

 

Init routine:

START2:

      CLD                           ;2  

      SEI                           ;2  

      ldy    #$00                   ;2 no bits set = 2600

      lda    $D0                    ;3  

      cmp    #$2C                   ;2  

      bne    Save_Console           ;2 no, use 2600 mode

      lda    $D1                    ;3  

      cmp    #$A9                   ;2  

      bne    Save_Console           ;2 no, use 2600 mode

      ldy    #$10                   ;2 set bit 4 = 7800

Save_Console:
;clear all

      ldx    #$00                   ;2  

      txa                           ;2  

Init_Ram_loop:

      dex                           ;2  

      txs                           ;2  

      pha                           ;3  

      bne    Init_Ram_loop          ;2  

      sty    Lives                  ;3 now keep that bit set before ram clear

 

 

Else, you can use the B&W switch like the reset switch and two state changes toggle music.

The problem with that is then the 2600 users are stuck with having to flip the switch twice (B&W and then back to color). Better to find a method that only requires 1 press for either console (which AFAIK, the above should accomplish).

Link to comment
Share on other sites

Since the 7800 supposedly boots with known values sitting in ram, it should work.  The theory is that on boot, the program first checks for known values and saves that result to the Y register, and then X and A are used to clear out all ram.  Once ram is cleared, the Y register is saved to a single bit in ram and that bit is not changed from then on.  This bit is checked later to decide on which routine to use...single state changes for the 2600 or two state changes for the 7800.

Sooo...if the 2600 boots up with completely random values in RAM, then about once every 65,536 times you run it on a 2600 it will be in the wrong state? :D

Link to comment
Share on other sites

Actually, IIRC the odds would be different depending on what game was ran last (and the odds that those 2 specific ram locations would still be holding those values is really improbable). The thread here shows the values that the 7800 boots with, so you could pick other locations or change the routine to check 3 or more locations if you wish...which would make the odds even higher (the only limitation here is how much space you want to devote to this check). In any case, it wouldn't prevent the game from being played on a 2600...the switch would just need to be moved twice to toggle the music back on after it had been switched off. In that sense, checking even 1 value would probably be enough (preferably one that isn't holding zero or $FF).

Link to comment
Share on other sites

Sooo...if the 2600 boots up with completely random values in RAM, then about once every 65,536 times you run it on a 2600 it will be in the wrong state?  :D

AFAIK the RAM values are not completely random. When the 2600 powers up, by far the most bits are clear.

 

But with frying you might have a better chance. :)

Link to comment
Share on other sites

Wow! This game is really shaping up since I've last seen it. Love the latest version.

 

Here's another idea.. when your fish grows another size make a sound. You know something that sounds like something getting bigger.

 

How about after so long the sun sets and a moon comes out?! The water gets dark and that's when the shark can come out.. maybe the shark could kind of chase you.

 

Would love a way to turn off sound or maybe just something a little less repetitive.

Link to comment
Share on other sites

 

Would love a way to turn off sound or maybe just something a little less repetitive.

 

This was taken care of, see above.

 

The day into night sounds like a dream, I don't know how well the VCS would handle that, although it is done in RS Volleyball to some extent.

Link to comment
Share on other sites

 

Would love a way to turn off sound or maybe just something a little less repetitive.

 

This was taken care of, see above.

 

The day into night sounds like a dream, I don't know how well the VCS would handle that, although it is done in RS Volleyball to some extent.

B&W switch turns music on and off. Though that functionality may not stay once the music is not so lame.

 

Day into night actually wouldn't be that hard to do, probably take one more variable, maybe two, just darken the colors, then brighten them back up. Actually, I kinda like that idea though, as I maybe mentioned before, space is very very scarce right now.

 

Oh, and sound effects are coming, I promise!

Also, it might look nice if you made the water get darker as it gets deeper. And it could turn red when the shark eats you.

The code to make the water darker as it gets deeper was in a couple of (unreleased) earlier builds...I couldn't decide if I liked it, so I left it out. But...it is just a couple of extra bytes in the code and one more byte of RAM, so it isn't really a big deal to add it back in. I'll post a version with that effect in the next couple of days and maybe you guys can tell me what you think. Right now I am ambivalent.

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