Jump to content
IGNORED

Chess


Andrew Davie

Recommended Posts

I've always had an interest in computer chess - I wrote two (bad) programs long ago. One in Pascal (1981) and the other in 6502 (Atari 800, 1985).

Anyway, I've just had a go at doing a mockup chessboard display. See the video.

Each frame is generated on the Stella emulator, but I'm just stepping through different instances to make it look like it's animating. In reality this is a screen recording of me flipping through images (screenshots) of multiple runs of Stella - each with a different bitmap.  All I'm trying to establish here is if Interleaved Chronocolour (TM) display is capable of producing a usable (totally flicker-free) chessboard. I think the answer is yes.

This is totally PF graphics, no flicker.
 

Edited by Andrew Davie
  • Like 15
Link to comment
Share on other sites

All these multicolor or mixed flicker based colors on the 2600 always make my head hurt. It's like looking at an out of focus image on purpose if that makes any sense. I might be in the minority but I don't think it adds to the games at all. I'd rather see solid colors and blocks over fuzzy multicolors. It really sticks out when player sprites and background\playfield sprites are doing it at the same time. It can make games nearly unplayable for me. 

  • Like 1
Link to comment
Share on other sites

49 minutes ago, Shawn said:

All these multicolor or mixed flicker based colors on the 2600 always make my head hurt. It's like looking at an out of focus image on purpose if that makes any sense. I might be in the minority but I don't think it adds to the games at all. I'd rather see solid colors and blocks over fuzzy multicolors. It really sticks out when player sprites and background\playfield sprites are doing it at the same time. It can make games nearly unplayable for me. 

 

I understand.  But just to clarify one thing - this does not flicker - it is rock solid.

 

  • Like 1
Link to comment
Share on other sites

8 minutes ago, Andrew Davie said:

 

I understand.  But just to clarify one thing - this does not flicker - it is rock solid.

 

 

I meant by changing colors frame to frame to make a different look, not actual flickering on the screen. Sorry for the miscommunication on my part. :)

 

Link to comment
Share on other sites

3 minutes ago, Shawn said:

 

I meant by changing colors frame to frame to make a different look, not actual flickering on the screen. Sorry for the miscommunication on my part. :)

 

 

Sorry to be pedantic... but... I'm pedantic, so....  it does not change colours frame to frame.  It uses the same colours on every frame.

There is no colour flickering. It is rock solid.

 

  • Like 2
Link to comment
Share on other sites

4 minutes ago, Andrew Davie said:

 

Sorry to be pedantic... but... I'm pedantic, so....  it does not change colours frame to frame.  It uses the same colours on every frame.

There is no colour flickering. It is rock solid.

 

 

I get that, I mean when that effect is used in programs it makes me see a fuzzy image, not specifically in this instance of this chess game you have presented. With this chess game, solid colors and all, it's the different colors on the pieces and skipping lines on the pieces and the chess board that makes it look fuzzy to me. Just not something I personally like or am attracted to in any game, especially the 2600.

Link to comment
Share on other sites

9 minutes ago, Shawn said:

 

I get that, I mean when that effect is used in programs it makes me see a fuzzy image, not specifically in this instance of this chess game you have presented. With this chess game, solid colors and all, it's the different colors on the pieces and skipping lines on the pieces and the chess board that makes it look fuzzy to me. Just not something I personally like or am attracted to in any game, especially the 2600.

 

Somethings achieving something on the machine requires compromises.

Displaying a chessboard is difficult. This is one technique that works - even though the pieces are "fuzzy".

I assume you prefer the original Atari version?  That's fine.  
What I like is the challenge of making the hardware do things that seem impossible at first.  I like exploring the boundaries of those "compromises" to find an acceptable solution. I understand that these boundaries, in this case, are beyond your tolerance and that's fair enough.

I was just giving you a hard time - what you meant was that the colours change on each *scan line*, and that the low-resolution of the playfield means that the pieces have poor definition and that, combined with the gaps to make the colours... doesn't work for you. All good - it's valuable feedback for me.

  • Like 1
Link to comment
Share on other sites

I think I've settled on colours and graphics.

Here's a "full game" just for fun. The reason I did this was that I wanted to have a realistic idea of how the pieces would look on various squares, next to each other, etc.  The vid starts with the center squares showing the full range of available colours. Colour choice is really quite difficult - you do not choose those 8 colours but in fact you choose 3 colours which happen to mix together and hopefully you get a nice range of 8.  This particular set is about the best I've managed to come up with. It's complicated by the fact that you want some darks and some lights, but you also don't get to choose the intensities - it's again the same 3 colours.  So, given that, these colours aren't too bad.

This sort of display would work with the generic BIGASS sprite system I'm working on, so that's a bit more incentive to continue developing that instead of making a chess-only display system.

 

Link to comment
Share on other sites

11 hours ago, Andrew Davie said:

 

Somethings achieving something on the machine requires compromises.


What I like is the challenge of making the hardware do things that seem impossible at first.  I like exploring the boundaries of those "compromises" to find an acceptable solution. I understand that these boundaries, in this case, are beyond your tolerance and that's fair enough.

I was just giving you a hard time - what you meant was that the colours change on each *scan line*, and that the low-resolution of the playfield means that the pieces have poor definition and that, combined with the gaps to make the colours... doesn't work for you.

 

Correct. :)

 

Link to comment
Share on other sites

It would take me a bit to get used to the look of the pieces, but I think for a game that requires a lot of focus on the screen like this one, the lack of flicker, and the ability to use the whole screen width would make the trade-off well worth it. 

 

Also, you might as well make checkers while you are at it. :)

Link to comment
Share on other sites

On 12/3/2019 at 10:10 AM, Andrew Davie said:

I've always had an interest in computer chess - I wrote two (bad) programs long ago. One in Pascal (1981) and the other in 6502 (Atari 800, 1985).

Anyway, I've just had a go at doing a mockup chessboard display. See the video.

Each frame is generated on the Stella emulator, but I'm just stepping through different instances to make it look like it's animating. In reality this is a screen recording of me flipping through images (screenshots) of multiple runs of Stella - each with a different bitmap.  All I'm trying to establish here is if Interleaved Chronocolour (TM) display is capable of producing a usable (totally flicker-free) chessboard. I think the answer is yes.

This is totally PF graphics, no flicker.
 

 

Did you release the pascal and 6502 chess engines ?

 

Link to comment
Share on other sites

I create the graphics as a GIF/PNG file with an 8-colour palette. I set the palette to the visuals that come about by mixing the set 3 colours. This allows me to draw something that looks roughly like what it looks on the screen. Then I run the GIF/PNG through a utility that figures out from each pixel what the Interleaved Chronocolour(TM) usage for that pixel for each of the 3-colour lines making up the pixel. It then writes table data to an asm file so that I can use it directly in the display on the '2600.

So, here's a source image, and the resultant on the '2600.  Note that I've been refining the piece shapes even more, and now I am using "sub-pixel" rendering to get the edges and rounds just that little bit better.

 

   chess.gif.8c7943036ad493aa2630f6c9240b694c.gif1160320634_ScreenShot2019-12-05at11_26_17pm.thumb.png.72338784ff0c05eb73ac6291325681d9.png

Here's the first iteration, just to compare... note the huge improvement (I think!) in knight and king.

 

380154147_ScreenShot2019-12-05at11_46_04pm.thumb.png.52789fa86e09449f5057083a081ab11d.png

Edited by Andrew Davie
  • Like 1
Link to comment
Share on other sites

5 minutes ago, Thomas Jentzsch said:

Maybe it would look better without the shading on the right? But then there would be no gaps, hm...

 

BTW: You don't have to use 3 line pixel. The height of pixels is not fixed. 

 

Funny - each iteration I think "that's the absolute best, it couldn't POSSIBLY be any better".

And then I tweak the colour/intensity, change a few pixels here and there, and it's HEAPS better.

And right now I'm thinking... "it's the absolute best, couldn't possibly be better".

 

I have considered a 2-line pixel, but I don't think there would be sufficient colours. The shading would have to be shared by both black/white pieces.

But, it might be something I'll try later. 

 

Right now... it's the best. :P

 

Link to comment
Share on other sites

Actually I meant that 3 colored pixel must not be defined in intervals of 3 lines. E.g. you could define a 2 line pixel, using only one color and black on top. And above define a 3 line pixel. So the vertical positions can vary and this allows more gradual designs. I did that with the boulders in Boulder Dash.

 

But mixing just 2 colors might work well here too, not sure.

Link to comment
Share on other sites

1 minute ago, Thomas Jentzsch said:

Actually I meant that 3 colored pixel must not be defined in intervals of 3 lines. E.g. you could define a 2 line pixel, using only one color and black on top. And above define a 3 line pixel. So the vertical positions can vary and this allows more gradual designs. I did that with the boulders in Boulder Dash.

 

But mixing just 2 colors might work well here too, not sure.

Yes, I am already doing that. See the odd colours here and there in the GIF.

This is what I meant when I said "sub-pixel rendering".

 

Link to comment
Share on other sites

3 hours ago, Andrew Davie said:

Also, as a side-note - I was thinking about what if.... would it be possible to run the chess engine on the ARM.  That would be pretty awesome.

 

That's funny.  I thought the same thing when I read your first post in this thread.  Running the game logic on the ARM would, if nothing else, make the computer "think" faster.

 

I think that what you're doing here is very cool.  It's certainly an interesting tech demo of making the 2600 do something that it was never intended to do. 

 

The display reminds me a bit of the HAM mode on the Amiga.  HAM allowed lots of color but with limitations where some colors were based on the colors of the pixels to the left.  This created a similar "blurry" effect that when used creatively could create some amazing images.

 

Keep up the great work!

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