Jump to content
IGNORED

Chess Hack: Knightmate


Zach

Recommended Posts

Has anyone heard of this game? According to chessvariants.com, Knightmate was invented by Bruce Zimov in 1972. The basic idea is that the knight and kings are swapped.

 

kntmate.gif

 

The object of the game is to checkmate the knight, and the kings can be captured just like any other non-knight piece. The knight can castle with a rook, with the rules and positions being the same as in orthodox chess.

 

Enjoy,

Zach

 

http://www.chessvariants.com/diffobjective...knightmate.html

kntmate.zip

Link to comment
Share on other sites

I have to admit I've never heard of Knightmate. The concept is very interesting, though. I like almost any new wrinkle to chess. Anything that breathes fresh life into a game that's had centuries to grow stale has got to be a good thing.

 

Experienced chess players today rarely bother switching on their brains until the midgame. Because the opening game has been analyzed for centuries, everything up until about the 12th move is nothing more than a predictable demonstration of rote memory. If one player's memorization skills are not on par with his opponent's, then he will suffer a decisive positional disadvantage come the midgame. The player who gained the advantage does so through no creative or analytical effort of his own. His advantage (oft-times a winning advantage) results from the successful regurgitation of moves the player has memorized from the exhaustive analysis of chess masters. Ho hum. Chess should be a battle of wits, of strategy and tactics, from start to finish. Victory should go to the player who demonstrates the greater analytical and problem solving skills, NOT to the player who demonstrates a superior ability to plagiarize.

 

Knightmate is new. Because of its newness, there are no mountains of opening game strategy to memorize. Knightmate imposes the somewhat awkward reality of compelling each player to THINK from move one, as chess was in the beginning. I think that's terrific! Long live Knightmate!

 

I downloaded and played your hack of Knightmate because I knew there had to be more to it than merely tweaking the graphics of King and Knight. The new Knight had to move like the Knight of old, but it also had to adhere to the restrictions placed on the King of old with regard to Check, Checkmate and Castling. And the new Kings, with the exception of retaining the ability to move a single square's distance in all eight directions, otherwise had to be stripped of all other kingly responsibilities of old. Swapping graphics, then, is not enough to turn Video Chess into Knightmate. You have to modify the "personalities" of the King and Knight, as well. That takes a much more sophisticated understanding of the original game code than for your typical graphic hack. I appreciate the effort involved in Knightmate's creation. I really do.

 

Having played Knightmate all of once, I'm wondering if you might have missed something. I played it on Level 1, and in that game I brazenly moved my Knight (which is subject to Checkmate) deep into enemy territory on the side of the board where he was most vulnerable. I purposely moved him into danger to see if he'd get Checkmated by the computer. My Knight went unattacked for three consecutive moves, even though he could have been Checkmated on any of those three moves and in more than one way. I know that Video Chess plays not-so-good on Level 1, but I thought it at least was capable of seeing and capitalizing on a Checkmate-in-one if the move was there. After all, Level 1 isn't the weakest play option for Video Chess. Level 8 is the Beginner's Level. My thoughs are that the manner in which you tweaked the code to change the personalities of Kings and Knights may have inadvertantly and needlessly dumbed down the chess playing engine of Video Chess.

 

I should have recorded the moves. But if I could work myself into a Checkmate-in-one position on my first attempt, then you should be able to recreate the same without much difficulty. Hopefully, you didn't introduce a bug. Maybe Video Chess really is that stupid on Level 1.

 

Another thing I'm curious about (but too lazy to check): When you promote a pawn, will your game permit you to choose a King? What about a Knight?

 

If only more people liked chess your hack would have generated much more excitement than it has. Sadly, games of pure strategy -- especially the snail-paced game of chess -- aren't a very good fit for a video game console. I appreciate the work you've put into it and THANK YOU for introducing me to the rules of Knightmate! But I doubt I'd ever play the game on anything other than a chessboard.

 

 

Ben

Link to comment
Share on other sites

Sadly, games of pure strategy -- especially the snail-paced game of chess -- aren't a very good fit for a video game console.

 

I dunno.. as a kid who ASKED for 2600 Backgammon and Chess for that one magical Christmas, it seemed like a good fit to me. You seem to have appreciated as well. I guess there's always an audience for everything :P

Link to comment
Share on other sites

Hi Pitfall Harry,

 

Thanks for your comments. You've made several interesting points.

 

I like your observations about how chess is a matter of memorization at the opening. That's one of the best justifications I've ever heard for chess variants.

 

I actually did not notice that Knightmate would pass up opportunities to make checkmates on level 1. I investigated Video Chess, setting up positions where the computer could win in one move. Indeed, it often did something else instead. On level 2, I've never seen Video Chess nor Knightmate fail to make a checkmate.

 

Good question about pawn promotions. The web page that describes the rules does not mention that. I would think that allowing promotion to knight would cause too much confusion between the Royal Knight and an ordinary one. Promoting to a king makes more sense. My hack handles promotions just like the original. Pawns automatically become queens upon reaching the eighth square, and you'd have to use the difficulty switches to change it to something else.

 

I knew from the beginning that the audience for Knightmate would be limited. I simply wished to provide the file for those who would be interested.

Link to comment
Share on other sites

  • 6 months later...
  • 7 years later...

Love your Knightmate hack! You can play this variation at ITSYOURTURN.COM. Can you do a "black" background version?

 

Onto another game you mentioned: Backgammon for the 2600. I'm looking for 2 hacks for it. The first is to "speed-up' the computer moves, just wish the computer's pieces moved faster.

 

The second one is Nackgammon, a variation of Backgammon that moves 2 pieces of both players to the 2 point and 23rd point of the board, in the opposing players inner table. Makes you play more defensively! This can also be played at ITSYOURTURN.COM. Can it be done? I can do it with "b" difficulty setting, but that gets old. Thanks, Rob

Link to comment
Share on other sites

Love your Knightmate hack! You can play this variation at ITSYOURTURN.COM. Can you do a "black" background version?

 

Onto another game you mentioned: Backgammon for the 2600. I'm looking for 2 hacks for it. The first is to "speed-up' the computer moves, just wish the computer's pieces moved faster.

 

The second one is Nackgammon, a variation of Backgammon that moves 2 pieces of both players to the 2 point and 23rd point of the board, in the opposing players inner table. Makes you play more defensively! This can also be played at ITSYOURTURN.COM. Can it be done? I can do it with "b" difficulty setting, but that gets old. Thanks, Rob

Thanks. There is a good chance that the hacks you described can be done. When the computer moves pieces it might simply be handled by a timer that is easy to adjust. If I understand Nackgammon correctly the only difference is the starting position? That is probably just a matter of changing a few numbers.

Link to comment
Share on other sites

This is the setup subroutine...

 

       ldx    #$1B                    ;2
LF52B:
      sta    $80,X                   ;4 clear all pieces
      dex                            ;2
      bpl    LF52B                   ;2
      ldx    #$02                    ;2
      stx    $D9                     ;3
      lda    $C4                     ;3 check game var.
      and    #$04                    ;2 Backgammon?
      bne    LF553                   ;2 branch if A/D
      ldy    #$FE                    ;2
      stx    $81                     ;3 2 pieces
      sty    $8F                     ;3 2 pieces (neg=player)
      inx                            ;2
      dey                            ;2
      sty    $89                     ;3 3 pieces (neg=player)
      stx    $97                     ;3 3 pieces
      ldx    #$05                    ;2
      ldy    #$FB                    ;2
      sty    $86                     ;3 5 pieces (neg=player)
      sty    $9B                     ;3 5 pieces (neg=player)
      stx    $94                     ;3 5 pieces
      stx    $8D                     ;3 5 pieces
      rts                            ;6

LF553:
      ldx    #$0F                    ;2 15 pieces
      ldy    #$F1                    ;2 15 pieces (neg=player)
      stx    $87                     ;3 all pieces in bar
      sty    $95                     ;3 all pieces in bar (neg=player)
      rts                            ;6

 

 

$80 (player bearoff) to $8D (top) is the left side of the board, $8E (computer bearoff) to $9B is the other. If a ram location is negative, the program draws them as the player's pieces...that is why they count in reverse.

Link to comment
Share on other sites

  • 1 month later...

Stop using Stella for assembly. Bithacking is fine...but once you drift into code changes, you are better off using Distella/Dasm ;)

 

 

Anyway...I altered the old palette-select hack I did so that all the blots are mapped out at $FFA3 to $FFBE (see the assembly for a breakdown of how they are layed out and what values to use).

An interesting wrinkle is that you could actually assign more or less than 15 stones to either player (but this could cause problems in displaying them).

 

 

The dice roll and movement delays can be altered at $F519 and $F45B respectively in this hack.

 

 

Just as with the original version of the hack, the 7800-compatable color/B&W switch will flip between NTSC and PAL palettes.

Backgammon.zip

Link to comment
Share on other sites

...thanks, here it is:

 

Startup_Pattern: ;positive = red pieces (computer), negative = white pieces (player)

.byte 0 ; $FFA3 ... to $80 player's bear-off (i.e. under left side)

.byte 2 ; $FFA4 ... to $81 \

.byte 2 ; $FFA5 ... to $82 \

.byte 0 ; $FFA6 ... to $83 \ lower 6 places

.byte 0 ; $FFA7 ... to $84 / on left side

.byte 0 ; $FFA8 ... to $85 /

.byte <-4 ; $FFA9 ... to $86 /

.byte 0 ; $FFAA ... to $87 computer's bar

.byte 0 ; $FFAB ... to $88 \

.byte <-3 ; $FFAC ... to $89 \

.byte 0 ; $FFAD ... to $8A \ upper 6 places

.byte 0 ; $FFAE ... to $8B / on left side

.byte 0 ; $FFAF ... to $8C /

.byte 4 ; $FFB0 ... to $8D /

.byte 0 ; $FFB1 ... to $8E computer's bear-off (i.e. under right side)

.byte <-2 ; $FFB2 ... to $8F \

.byte <-2 ; $FFB3 ... to $90 \

.byte 0 ; $FFB4 ... to $91 \ lower 6 places

.byte 0 ; $FFB5 ... to $92 / on right side

.byte 0 ; $FFB6 ... to $93 /

.byte 4 ; $FFB7 ... to $94 /

.byte 0 ; $FFB8 ... to $95 player's bar

.byte 0 ; $FFB9 ... to $96 \

.byte 3 ; $FFBA ... to $97 \

.byte 0 ; $FFBB ... to $98 \ upper 6 places

.byte 0 ; $FFBC ... to $99 / on right side

.byte 0 ; $FFBD ... to $9A /

.byte <-4 ; $FFBE ... to $9B /

Edited by SoundGammon
Link to comment
Share on other sites

http://www.atari2600.org/DASM/

 

Download a package that is listed compatable with your computer system you are using, and also download the Atari 2600 support files package.

 

Extract Dasm to a folder of your choice (allow creation of subfolders), and then extract the support files to the same folder.

 

 

However...

 

 

If you just want to change the pieces for starting, you can edit the hack above using any bithacking program. The entire board is mapped to the addresses shown.

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