Jump to content
IGNORED

Top & Tom - New 2600 game


Arlasoft

Recommended Posts

After spending the past few years writing C64 & Fairchild Channel F games, I finally got round to giving the 2600 a go. This is my first attempt so I kept the scope deliberately small and knocked this up over the last few days. It's a bit rough round the edges but I've learned enough from the project in terms of what is possible to begin planning something more ambitious.

 

Currently NTSC only, will add in PAL compatibility and an original tune in the next few days. Instructions and some more rambling here: 

https://arlagames.itch.io/toptom-2600

 

 

 

 

Screenshot 2022-09-16 at 22.29.44.png

Untitled.png

Top&Tom.a26

Edited by Arlasoft
  • Like 12
Link to comment
Share on other sites

1 hour ago, Arlasoft said:

add in PAL compatibility

 

To get started, do this in constants.asm:

 

NTSC            = 0
PAL             = 1
COMPILE_VERSION = NTSC
;COMPILE_VERSION = PAL


    IF COMPILE_VERSION = NTSC
   
BG_COLOR = $1			; background color
TOP_COLOUR = $AA
ROAD_COLOUR = $0a
logo_color = $40

    ELSE
    
BG_COLOR = $1			; background color
TOP_COLOUR = $9A
ROAD_COLOUR = $0a
logo_color = $60

    ENDIF

 

then just change which COMPILE_VERSION line is commented/uncommented to build with different colors.  This will generate a PAL60 build.

  • Like 1
Link to comment
Share on other sites

2 hours ago, Arlasoft said:

After spending the past few years writing C64 & Fairchild Channel F games, I finally got round to giving the 2600 a go. This is my first attempt so I kept the scope deliberately small and knocked this up over the last few days. It's a bit rough round the edges but I've learned enough from the project in terms of what is possible to begin planning something more ambitious.

 

Very challenging and clever design for movement of the characters, love it! I'll be featuring your game on this coming Tuesday's ZPH stream!

 

- James

  • Like 2
Link to comment
Share on other sites

Welcome! I am always happy when people chose to face the very special challenge of the 2600. That you you already have a lot of assembler experience shows. And especially with the C64 (which seems to shine through in the game too), that's my origin too. I really like your game and I hope you stick with us for longer.

 

BTW: Is it just me, or is this game really hard?

Edited by Thomas Jentzsch
Link to comment
Share on other sites

9 hours ago, SpiceWare said:

 

To get started, do this in constants.asm:

 

NTSC            = 0
PAL             = 1
COMPILE_VERSION = NTSC
;COMPILE_VERSION = PAL


    IF COMPILE_VERSION = NTSC
   
BG_COLOR = $1			; background color
TOP_COLOUR = $AA
ROAD_COLOUR = $0a
logo_color = $40

    ELSE
    
BG_COLOR = $1			; background color
TOP_COLOUR = $9A
ROAD_COLOUR = $0a
logo_color = $60

    ENDIF

 

then just change which COMPILE_VERSION line is commented/uncommented to build with different colors.  This will generate a PAL60 build.

Yeah I've seen that in a lot of the disassemblies I've been studying, just been lazy :D

  • Like 1
Link to comment
Share on other sites

The only thing I'm not happy with is the P1 obstacle sprites glitching/ghosting on the left side when a double/triple wide sprite moves in from the far right.

I mitigated it happening with repeated sprites by spawning them as single and then upgrading to two/three copies as the sprite moves further to the left. Similarly as they leave the screen on the left, they are switched down to 2 and then 1 copies and shifted back to the right by the distance between them. 

 

Is there a trick to having expanded or repeated sprites move in smoothly from the right side without ghosting?

Edited by Arlasoft
Link to comment
Share on other sites

There is (as always) more than one option. :) 

  1. You could enable HMOVE blanks for each line. This will hide the first 8 pixel. A bit to similar making the screen narrower for soft scrolling on the C64. Note: This would also work if you decide to go for smooth scrolling.
  2. Instead of HMOVE blanks, put a 4 pixel ball on the left or right of the screen (or e.g. 2 pixel left, 2 pixel right). You have to enable PF priority and make the playfield black. For the scrolling effect, just set the background to the current playfield color.
  3. You could change the graphics of the sprite copies when they scroll into or off the screen. This is a bit more complicated and needs good timing, but leaves you with the whole screen width. And since you are scrolling in 4 pixel chunks, this should work well here without having to manipulating the width too.
Edited by Thomas Jentzsch
Link to comment
Share on other sites

7 minutes ago, Thomas Jentzsch said:

There is (as always) more than one option. :) 

  1. You could enable HMOVE blanks for each line. This will hide the first 8 pixel. A bit to similar making the screen narrower for soft scrolling on the C64. Note: This would also work if you decide to go for smooth scrolling.
  2. Instead of HMOVE blanks, put a 4 pixel ball on the left or right of the screen (or e.g. 2 pixel left, 2 pixel right). You have to enable PF priority and make the playfield black. For the scrolling effect, just set the background to the current playfield color.
  3. You could change the graphics of the sprite copies when they scroll into or off the screen. This is a bit more complicated and needs good timing, but leaves you with the whole screen width. And since you are scrolling in 4 pixel chunks, this should work well here without having to manipulating the width too.

Thanks I'll give it some thought. I need to look into the HMOVE after WSYNC on every line, I tried it and P1 obstacles just glitched horribly so didn't look at it any further - next game I'll build it in from the start. 

Link to comment
Share on other sites

ZeroPage Homebrew is playing Top & Tom on tomorrow's stream LIVE on Twitch, hope you can join us!

 
Games:

1517057115_20220920-LetsPlay.thumb.jpg.3ac5a0eae5af96b24a7de25ec08a7c3b.jpg

Link to comment
Share on other sites

On 9/16/2022 at 6:05 PM, Arlasoft said:

After spending the past few years writing C64 & Fairchild Channel F games, I finally got round to giving the 2600 a go. This is my first attempt so I kept the scope deliberately small and knocked this up over the last few days. It's a bit rough round the edges but I've learned enough from the project in terms of what is possible to begin planning something more ambitious.

 

Currently NTSC only, will add in PAL compatibility and an original tune in the next few days. Instructions and some more rambling here: 

https://arlagames.itch.io/toptom-2600

 

 

 

 

Screenshot 2022-09-16 at 22.29.44.png

Untitled.png

Top&Tom.a26 4 kB · 32 downloads

That title screen....... 😃

 

Link to comment
Share on other sites

But maybe I can make you one!

If you want @Arlasoft, I can code you a kernal to do what you want. 😃

Edit: It will be in Assembly language, though. What do you want?

 

Also, you're doing the 40px mode right? Playfeild is only 40 pix and maybe you are trying to render it as if it was a 48 pixel wide player sprite?

 

Can you show me the resulting garbled image?

Edited by Ecernosoft
Link to comment
Share on other sites

15 minutes ago, Ecernosoft said:

But maybe I can make you one!

If you want @Arlasoft, I can code you a kernal to do what you want. 😃

Edit: It will be in Assembly language, though. What do you want?

 

Also, you're doing the 40px mode right? Playfeild is only 40 pix and maybe you are trying to render it as if it was a 48 pixel wide player sprite?

 

Can you show me the resulting garbled image?

This is the project from atari-background-builder, 48 pixel player, colour per scanline. If I download the generated abb.asm file, and add the appropriate labels/ZP locations, it is either garbled or rolls the screen - can't remember which, the mono version just didn't seem to be updating the sprites in time. Just putting the kids to bed so will show what happens in 8bitworkshop later on.

toptom.abb.json

Link to comment
Share on other sites

31 minutes ago, Ecernosoft said:

Huh... picture?

 

Remember, the playfeild is only 40pixels wide. Not 48.

 

Edit: I have no idea what file type that is. Can I run it directly in Javatari or Stella??

It's a project for this tool, which should theoretically output a 6-sprite kernel for the image:

 

https://alienbill.com/2600/atari-background-builder/

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