Jump to content
Andrew Davie

Chess

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

Share this post


Link to post
Share on other sites

Only 5 pixels across - difficult to make nice pieces. I've been playing with the graphics/shapes.

I think the rook, knight, bishop and pawns are OK. Still got to work on Queen/king.

 

27879965_ScreenShot2019-12-04at1_19_34am.thumb.png.21087fc5c9c9e13f6417bb231b9b0de4.png

Edited by Andrew Davie
  • Like 1

Share this post


Link to post
Share on other sites

Settling on a design for each of the pieces. Severe restrictions on colours and size make things tricky.

Still just a single colour per scanline :)

 

1089288046_ScreenShot2019-12-04at11_22_59am.thumb.png.93221668514ed03bbf874ca3477b6c64.png

 

 

Edited by Andrew Davie
That wasn't me.

Share this post


Link to post
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

Share this post


Link to post
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

Share this post


Link to post
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. :)

 

Share this post


Link to post
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

Share this post


Link to post
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.

Share this post


Link to post
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

Share this post


Link to post
Share on other sites
1 hour ago, Linndrum said:

I think it looks great! The penis pawns really steal the show though

Ha. Well, to some people everything looks like a penis :P

 

  • Like 2
  • Haha 1

Share this post


Link to post
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.

 

Share this post


Link to post
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. :)

 

Share this post


Link to post
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. :)

Share this post


Link to post
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 ?

 

Share this post


Link to post
Share on other sites
7 hours ago, devwebcl said:

Did you release the pascal and 6502 chess engines ?

 

No, lost to the mists of time.

It's possible the 6502 source is lying undiscovered on an old floppy, but chances aren't good.

 

  • Sad 1

Share this post


Link to post
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

Share this post


Link to post
Share on other sites

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. 

Edited by Thomas Jentzsch

Share this post


Link to post
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

 

Share this post


Link to post
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.

Share this post


Link to post
Share on other sites

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.

 

  • Like 2

Share this post


Link to post
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".

 

Share this post


Link to post
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!

Share this post


Link to post
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.

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