Jump to content
IGNORED

Squish 'Em for the 2600 (Done!)


vdub_bobby

Recommended Posts

So does the manual detail which bytes we have to patch to get this new version? ;)
Huh?

 

I can't wait to try out this new version--I didn't get a chance to play the first version that took away immortality, so I'm curious to see how far I can get. :)

Patch bytes $F000 through $FFFF and you should be fine. :P

 

Oh... and here I was hoping you'd update the ZIP to contain binaries :ponder: :lol:

:lol:

 

Sorry, I'm too tired and sick to get that joke.

 

I'll update it soon. Binaries are in the first post, though, if you don't want to wait.

 

EDIT: Uploaded the zip file with binaries to the previous post. ;)

Edited by vdub_bobby
Link to comment
Share on other sites

Almost identical graphics.....everything is perfect here. Hard to believe this could fit onto a VCS cart.

Considering that the A8 version is a straight port of the unreleased 2600 version, it's really not that surprising.

Isn't that just speculation?

 

..Al

Many of the sound effects used in A8 Squish 'Em are flat-out impossible with the 2600, notably the game-over effect. The brick-falling sound is also a bit tricky to duplicate.

 

Also, the way the A8 version does its display is kind of odd and cannot in any way be done with the 2600, so the display code clearly isn't translated from the 2600. The A8 version uses character graphics (I think...) for the outer walls and floors of the buildings and two sprites and two missiles for the vertical girders. Also, there is no use of 2600-specific features like doubling/tripling sprites.

 

On the other hand, there is never more than 2 character sprites on any scanline, the playfield is clearly designed to fit the constraints of a 2600 PF1-and-PF2-only asymmetrical screen, and only two sound channels are used (POKEY has four).

 

I'd bet on concurrent development, possibly by the same guy, and/or a game design that was specifically designed to fit both platforms to make porting easy. Since the sound effects really don't translate very well, I'd guess that they were done last, as is usual, and after 2600 development had been halted.

 

My best guesses. :)

Edited by vdub_bobby
Link to comment
Share on other sites

I'd bet on concurrent development, possibly by the same guy, and/or a game design that was specifically designed to fit both platforms to make porting easy. Since the sound effects really don't translate very well, I'd guess that they were done last, as is usual, and after 2600 development had been halted.

That's what I would guess as well. That they knew what the limitations of the 2600 were, and that the codebase was written with those in mind in order to facilitate an easier 2600 port.

 

..Al

Link to comment
Share on other sites

And, for all you high-score getters: my best that I've noted was in the 30,000s, somewhere around the 1st or 2nd random building. :twisted:

Here's my score, at the end of the first building.

post-2641-1197598255_thumb.jpg

 

Not the first random building - the first of the game.

 

You can repeatedly jump back and forth over critters, and rack up a ton of points.

Link to comment
Share on other sites

Possible bug :?:

 

When playing on my NTSC 7800, using CC2, there is a constant buzzing sound, tried several other 2600 games and don't get the same problem, anyone else notice this?

 

Just checked, it happens on my PAL 7800 as well

Link to comment
Share on other sites

Possible bug :?:

 

When playing on my NTSC 7800, using CC2, there is a constant buzzing sound, tried several other 2600 games and don't get the same problem, anyone else notice this?

 

Just checked, it happens on my PAL 7800 as well

Hm. Anyone else notice this as well?

 

Try this new binary - I played around with the sound routine a little, maybe it'll help. It has a few other bug fixes in it as well.

squishem20071213NTSC.bin

squishem20071213PAL60.bin

Link to comment
Share on other sites

Possible bug :?:

 

When playing on my NTSC 7800, using CC2, there is a constant buzzing sound, tried several other 2600 games and don't get the same problem, anyone else notice this?

 

Just checked, it happens on my PAL 7800 as well

Hm. Anyone else notice this as well?

 

Try this new binary - I played around with the sound routine a little, maybe it'll help. It has a few other bug fixes in it as well.

Better, but still there, it is as if the graphix are making some noise, bleeding over? (does that make any sense?)

Anyhow, it is (very) playable and maybe I am the only one experiencing this problem?

Just a bit strange that I dont get the same noise running any other game

Link to comment
Share on other sites

New binaries!

 

I don't know exactly why, but I decided to make some pretty major changes tonight...:ponder: - always dangerous this close to being done.

 

What I did:

-Most notably, I looked closer at the kernel and found that, despite what I wrote earlier, it was, in fact, possible to move all the ENABL writes offscreen - so I didn't need to VDEL the ball. And if I don't need to VDEL, then I can use a missile. So I changed that. Which also involved changing a whole bunch of other stuff, but it's enough to say that now the brick does not blend in with the girders.

-Also very noticeable, I changed all the colors. I spent a little time playing Squish 'Em on my actual 130XE today and discovered that my Atari computer emulation doesn't match the colors very well. I also dug a little deeper into my A800 docs and discovered that the color values are exactly the same as the 2600s. So I changed the colors; now it matches what the A8 looks like in real life.

 

What I didn't do:

-Fix the buzzing. I was able to hear it if I turned up the volume on my TV a little and listened for it. It's there, though not too loud or annoying, IMO. Why didn't I fix it? Partly because I think it is an inevitable side effect of the unique way the sounds are generated, partly because I'm too close to the end to want to spend a lot of time trying to fix something so inconsequential (IMO, again), and mostly because when I fired up Squish 'Em on my 130XE - I heard the same buzz! :lol: So, sorry, it stays.

-Find or fix a level-skipping bug. I don't know how or what is causing this, but while playtesting earlier today it completely skipped one of the monster sets! Though I am positive that this happened, I don't know why it happened, I can't replicate this, nor can I find in the code why or where it might be happening! :| If you see the same thing, let me know. I think it happens rarely, but I dunno.

squishem20071214NTSC.bin

squishem20071214PAL.bin

Edited by vdub_bobby
Link to comment
Share on other sites

Which also involved changing a whole bunch of other stuff, but it's enough to say that now the brick does not blend in with the girders.

Looks great!

 

I don't know how or what is causing this, but while playtesting earlier today it completely skipped one of the monster sets! If you see the same thing, let me know.

I just had it happen on the second building, where it skipped over the first monster entirely, and went directly to the second one on that building.

 

Edit: It just did it again - here's what happened. I died near the top of the first building, so that when I started my next life, there were no monsters on the building - only the suitcase. When I grabbed it, I started on the next building, but on the second monster. You can replicate this just by running into the top-most monster on the building.

Edited by Nathan Strum
Link to comment
Share on other sites

Latest update:

 

squishem20071215NTSC.bin

squishem20071215PAL60.bin

 

I forgot to mention earlier, but since I changed the colors, could someone reconfirm that the PAL60 colors are OK?

 

Before I list the changes, a few responses to some comments/questions:

 

-As Nathan mentioned, you are indeed supposed to get 200 points for hopping a squished monster.

-I am not relying on the "silent" frequency. Volumes are zeroed, though AUDF0 is set to zero every frame, like in the A8 version. It may buzz a little, but to me it is almost unnoticeable and, more importantly to me - :D - identical-sounding to the A8 version.

 

Ok, changes:

-Fixed that level-skip bug. Thank you thank you thank you Nathan for isolating that. It was an obvious and easy fix once I knew what to look for. :)

-Changed how initial enemy/prize/suitcase horizontal positions are generated. Now it matches the A8 version. This was a small, unimportant change, but I figured while I was in there poking around...:ponder: Plus the routine is better code, anyway - it runs in constant time; it didn't before. It didn't seem to matter, but...

 

Thanks, everyone for playing, testing, and commenting! We just might be at the end...

 

(P.S. My last score on this binary was 40,000+ :twisted:)

Link to comment
Share on other sites

I forgot to mention earlier, but since I changed the colors, could someone reconfirm that the PAL60 colors are OK?

 

It's hard to compare them to the previous build regarding which were "better", but they look good to me. There's a few color combos where for example the green shirt drowns a bit in green pillars, but it doesn't hurt the gameplay. The brick is definitely better now.

Link to comment
Share on other sites

Ok, I've done a bunch of testing and I'm calling this done. :)

 

Hmm. While I've got this fresh in my mind, I'll see if I can list all the differences between this and the A8 version:

-Brick colors are different. I think the A8 version has a giant color table that covers the entire screen. I didn't have the room - or at least, not the time to make the room - so I'm just using whatever data is adjacent the the player's color table.

-The side walls don't have the brick pattern.

-All the sounds. The A8 has a higher "base" frequency and a lot more resolution in its divide-down registers. Some of the differences are more noticeable. The game-over sound and brick-falling sounds are the most different.

-When the screen flashes (when your game ends and when you grab a prize), the player and brick do not flash.

-The scrolling play area might be 1 scanline shorter. It was at one time, but I've changed the kernel since then and I don't know if that added the missing scanline or not.

-There is no screensaver/attract mode. The A8 had the standard color-cycling screensaver mode that ran while the game was paused and while no game was being played. I don't really like those, didn't have the time or room to add it, and so I didn't.

-And speaking of pause, there is no pause. I ran out of time and room for this also, and decided that hitting pause on the console was so clunky that it wasn't worth trying to squeeze it in. On the A8, hitting any key pauses the game.

-This is a little technical, but the A8 has a RANDOM register that returns a random byte; I believe it is truly random since it returns the noise level on a pot (paddle?) line. Or something. Anyway, I use a single byte pseudo-random routine to generate random numbers; as far as I can tell you can't see patterns in the "random" data, but you might be able to.

-The scrolling is in 2-line increments; the A8 uses single-line resolution scrolling. It is quick enough that I think it still looks pretty smooth, but it isn't quite as smooth.

 

And I think that's it. :)

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