Motive, variations, AI? (Tuesday, 10 March 2020, 10:36AM)

Motive

I just pushed a working version of Reversal chess which works surprisingly well.

Overall, the point of Chesses 2 is just to make some more variations, not least because I’ve been trying and failing to work on v r 4 and also because I feel depressed by the (non) reception of The Artist is Present 2 (other than Marina herself, hilariously). Seems like a time to work on something conceptually simple that just requires having a few ideas and implementing them. Plus it’s the semester etc. and it’s hard to get anything terribly sophisticated done. All that spells: variations.

The variations

I had a backlog of potential variations (many of which are terrible), so I basically need to establish a solid eight and implement them. Again focusing on things that are plausible within the chess.js/chessboard.js frame. At present, then, the list looks like this:

  1. REVERAL: when you make a move you piece turns into the opponent’s colour at the end. (I suppose we need an exception for the king, because that wouldn’t make a whole lot of sense. Obviously there are also issues around checkmate since you could checkmate yourself in the process of moving a piece in some circumstances.)
  2. FOG: implement fog of war in chess. Relies on turn taking and players agreeing not to look at the board when it’s not their turn. Two potential representations of vision are: complete fog until you select a piece, at which point you see what it sees (maybe capture potentials, maybe some kind of generic view) (maybe you’re locked to that piece, maybe you can survey the landscape before making your move); or your side shows you everything you can see based on the combined vision of all pieces, and then you make your move.
  3. LIFE: Some version of the Game of Life but for chess pieces. A specific number of adjacent pieces leads to survival/death. It could be something that just doesn’t work. Have to think about how you choose new pieces, possible by adding up piece value and averaging to get the value of the new piece? Could also perform life calculations based on adjacent piece value instead of just pieces. Related would be the idea of a “Go Chess” or “Othello” chess.
  4. AR: Just display a chessboard with the idea that they put chess pieces on the screen and play chess? How to communicate that idea? It’s pretty fucking funny. (I’ve also called this 4’33” in the past, though I don’t think that necessarily makes sense?) Is this actually AR or is in augmented virtuality? Or some other thing? AR: “an interactive experience of a real-world environment where the objects that reside in the real world are enhanced by computer-generated perceptual information” (Wikipedia). So in a sense the game augments reality by creating a virtual chess board. It’s maybe silly enough to work? Might need an “i” button for info about each game though.
  5. MUSICAL: The board as a tone matrix, pieces each have a sound they make. Pawns as drums?
  6. TRACES: A move piece leaves a trail behind it (either just on the square it left or on all intermediate squares?) leading to a kind of heatmap (could be HEATMAP) of action on the board (if they fade over time), or just a kind of painting (if no fading). Could also consider drawing literal lines (ala SOL LEWITT) to create a kind of drawing out of the game. Save the resulting artwork at the end.
  7. DHARMA: (Is that what the concept is called?) When you move a piece it turns into the next piece in series (either going up or down, probably down).
  8. SOLOMON: (Kind of?) where one player chooses the piece and the other player chooses the move.

Maybe pending technology…

  1. ENHANCE - I like the idea of voice controlled chess, especially if it has built-in disobedience, and especially if the computer uses that to beat you? With voice too so it can “apologise” when it puts you in harm’s way. Alternatively it could be a blind chess game, where you speak moves but can’t see the board.
  2. SKILLS - I like the idea of a golf-swing kind of approach where you have to use some kind of timing skill to get the move you want. Most obvious would be that a selected piece cycles all its moves and you click again to trigger the move, requiring skill to hit the move you want. (Harder alternative would be a kind of Angry Bird/Pool thing where you apply a force to a piece and it ends up on the square you manage to get to, but there are a lot of problems with that?)
  3. GREYS - I still like the idea of a completely grey chess set where every piece can move in both black and white directions and can capture any piece etc. Unclear how you handle check and checkmate in a scenario like this, but there’s just something kind of captivating about such a miasma? If both kings are grey there’s literally no end, whereas if you maintained a black and white king the game ends on move one through a queen capture of a king.

AI?

One of the things lacking with the original game was the lack of an AI for people to play against solo. The obvious problem being that an AI is probably going to suck pretty bad. Though THAT said I suppose so long as you have a simulating function that returns board positions it’s still possible to evaluate? But no doubt it would still be kind of horrible? Maybe still not worth the amount of effort it would cost?


How does the grey fog fog? (Wednesday, 11 March 2020, 14:06PM)

Since last we spoke I have REVERSAL, SAMSARA, and (a version of) FOG going. REVERSAL and SAMSARA work pretty great just as they are (with the obvious need to tweak for a few special circumstances like check).

FOG is giving me some trouble. But it’s design trouble mostly. The question is “what can a chess piece see?” And I’m not sure how to answer. Here are some possibilities, is one of them right?

I suppose what I’m seeing here is: I like the implications of adjacent+moves, though there MAY be something to be said for only moves. But the key is it needs to look a little more mysterious and fun, and I think some kind of version where squares’ visibility are controlled by how many units can see them is a solid choice, rather than just on and off.


XR and LeWitt and Next? (Wednesday, 11 March 2020, 16:02PM)

XR

I made the XR (cross reality) game of my dreams (name courtesy of Rilla after some consultation about the correct buzzy term to apply here). It’s literally just a chess board with no pieces on it, with the idea that it’s cross-reality because it provides a “virtual” chess board and the player brings some pieces and plays the game on top, maybe by tipping their laptop over or by playing with tiny pieces on a phone, say.

I like this because I think it perfectly meets my desire to make a game of chess that’s just a board (or some other ultra-static version). I’d originally been thinking about it as 4’33” but pitching it as next-gen technology is much funnier.

The one “issue” it introduces is the need for an information panel to explain the joke in case it’s not totally clear. That’s not ideal by any means, but having information panels might be a way to invite more people in and to clarify specific rules.

LeWitt

Got a prototype of LeWitt up and running with a p5 canvas laid over the chess board. It’s already quite satisfying, with just the potential hurdle of making the lines themselves a bit more “human” in keeping with the idea/spirit of LeWitt’s wall drawings. Each piece draws a line through its trajectory. I like the idea you can save out the work you create after finishing the game. It should even be an automatic thing that prompts you to download the image.

Remaining experiments are around humanising. I’ll try p5.scribble and maybe my own line drawing function with noise() added to wobble it. Can even lerp the line over the move time. It may end up better rolling my own just because I’ll have some control.

Next?

So I have five that I’m genuinely satisfied with. I think FOG is the crowd pleaser here (just as Gravity was previously), and I’m fine with that. I need three more for a set and I have six possibilities: music, traces/heatmap, cut/choose, greys, life, skill…

Unsurprisingly I’ve left these ones until later because less immediately jazzed by them. The heatmap won’t be very hard, so that may make the most sense. Could either map generic activity or could map black and white separately. Could make captures “hotter” that not. Could mark out trajectories of movement or could not. I wonder if it will just look unintelligible.

Music is semi easy but I wonder if it will sound just terrible. If it does… so be it? But if it’s not interesting then… meh?

There’s the problem right? They might just not actually be interesting. But obviously I just make them and see what happens. So I should make: heatmap, music, and probably life just because that’s such a weird idea. But I also really like cut/choose.


LeWitt humanized + Viral tweet (Thursday, 12 March 2020, 11:34AM)

LeWitt humanized

I now have the LEWITT version drawing using p5.scribble and it’s kind of perfect in terms of conveying the idea of a human drawing (on a wall) rather than a totally robotic thing. The drawings that come out of this are surprisingly lovely, too, which is neat. When the game ends it saves out an image with the lines as drawn on a white background so that you get a nice sense of a wall drawing properly. It’s kind of beautiful. I’m very happy with this one.

Viral tweet

I tweeted about the FOG version yesterday and it hit the big time. As of this moment the tweet has 26K likes, 5.6K retweets, and 280 replies. Easily the most “successful” tweet I’ve ever put out there, dwarfing even the gravity chess tweet from the first CHESSES.

By somewhat fun comparison, the LEWITT version, which I also tweeted, has 59 likes and 5 retweets. Pretty obvious what the people like. And this whole thing is kind of a story of that - it’s so apparent that if I make something that’s more of a crowd pleaser it gets a ton more engagement, even if I don’t always think it’s my most interesting work. It’s fine of course, and it’s truly wonderful that I can get this kind of a reaction to an experimental game I’m making, but also lightly dispiriting when I think about the total non-reaction to The Artist Is Present 2. Oh well oh well.

As happened with CHESSES, I won’t be surprised in the slightest if the release is accompanied by far less fanfare than the image tweet. There’s definitely something about the ease of liking it and moving on that works in the twitter economy much better than even the seemingly minimal effort of clicking through and playing the game. Funny really. People want to get the joke and move on, but I’d still claim that playing the game is totally distinct and that you don’t really get many of the play implications without… well, playing.

Fun though.


Not enough? New ideas (Friday, 13 March 2020, 14:42PM)

Not enough?

Looking at what I have right now, I don’t think I have a strong enough set. Notably I don’t have 8 and I’m not seeing the final pieces in the set of ideas I already have. I’m happy with:

I believe in

I’m super skeptical about

That being the case I need some new ideas. Well?

New ideas


How about chessquers? (Friday, 13 March 2020, 20:10PM)

I see there’s already a chesskers (website), but it’s a hyrbidization in which you have both kinds of pieces on the board.

What about a chess where captures have to involve a jump and you could potentially capture multiple pieces in a row on a single capture? You’d have to be adjacent I suppose? Doesn’t make sense to jump someone from a distance? And there has to be a space on the other side of them. I quite like this concept? Has it been thought of? Doesn’t seem to be out there on a cursory look?

Basically this would be chess, but captures work like checkers including multiples jumps. But you have to be next to a piece to capture it, because it seems dumb to have a run-up? Or actually maybe that’s funnier… you approach, then jump, and maybe jump again.

Are jumps compulsory? That interacts with the question of adjacency. Forced capture is a thing, so I guess that needs to be in there. Just if there’s a capture you only see the capture moves.

I guess it’s possible to trial both the version of captures from afar followed by jumps and the adjacent only version. If you capture from afar does that mean you can do the same on subsequent jumps? That seems kind of insane? Most signs point toward adjacency rules I think.

Also I suspect this could suck a bit in terms of the tendency of chess pieces to bunch up? But perhaps not. Worth a go anyway, and it’s funny, and it means you can protect a piece just by putting another piece behind it (or diagonal, or beside). So there’s a lot to like there actually.

Will it be hard to implement? Probably. But I can do it.


Draughts progress and a likeable eight (Monday, 16 March 2020, 16:51PM)

Draughts

Made some progress on the draughts version of chess. Specifically, I implemented the basic capture in which a (linear) piece jumps over the piece to a free space on the other side (and the capture isn’t offered otherwise). It feels pretty good, and definitely worth pursuing further just for the novelty of it. Knights and en passant are my biggest worries right this moment, but I’ll cross that bridge when I have a proper implementation of the easiest pieces that works.

A likeable eight

With draughts (what’s a name for this?) I think I’m back to 8 I can be happy with:

With musical still needing some attention to be actually reasonable, but I think it’ll be strong enough to include just because it’s pretty fun as it stands. Maybe bigger note distances makes sense to get more of a chording effect on multiple pieces played simultaneously or something.


Draught Knights (Tuesday, 17 March 2020, 11:01AM)

Well shit, knights are hard. I’m not seeing a super clear way that they can capture. If they have to be adjacent to the captured piece, fine, but then their jump can be seen as passing over multiple squares which may or may not be clear and which may or may not imply a capture?

A radical “solution” I’m contemplating it to disallow knight captures in the game with the argument that because they more nonlinearly, they don’t meet the requirements for a checkers-style capture (that you jump directly over a piece to the “other side”). They’d still potentially be a useful piece because they can force a capture (I suppose), but more obviously they can serve as guards against capture by taking up a square.

That’s kind of the “clearest” argument I can think of, whereas arguments for how a knight would successfully capture seem really bizarre and hard to explain to myself, let along a person playing the game and probably not reading any of the instructions?

Was suggested on Twitter by @meanporridge that a knight could capture “both” pieces along its trajectory. Gets a bit quantum though… how do you choose which “L” the knight is traveling in? This seems to lead to a lot of trouble.

So I’m leaning toward: no captures for knights because they just don’t move in the right way.


UI (Wednesday, 18 March 2020, 17:01PM)

Spent a bit of time on the UI today, trying to get the info panel idea going. In feeling my way through it I decided it makes more sense to show the info panel only during the play of a specific game, but I’m concerned there would actually be room for it on the screen. Also currently the icon doesn’t always fit on the screen. Hghghgh.

At any rate, at least I’m feeling it out through the materials etc. etc. I suspect it might be necessary to throw an overlay on top of the board instead, with an x to close it before resuming play. That’s relatively tidy and doesn’t take up more screen real estate. Then would just have to fit the issue of the info button and where to place it. Could be literally as simple as reducing font sizes I suppose, though that’s kinda lame.

(By the by I also fixed pixel density in LeWitt, so that works better now. Still issues around mobile, notably prompting a save to camera roll or something.)


Getting there (Thursday, 19 March 2020, 19:48PM)

Now in a place where I have eight working games, as well as an informational UI that’s not too gross to look at it.

The key remaining issue across multiple games is making sure that the checkmate/game over stuff works properly, which means intervening at the right moment and sometimes perhaps being able to simulate moves (which is always very, very scary to think about).

Basically it’s a set of games I like, though, so I’m mostly positive. Just a set of kind of polishing activities remain. I can do this.


Musicals, Checking Checkers (Monday, 23 March 2020, 13:32PM)

Seems like a time to write another entry here as the project edges toward completion?

Musicals

Spent an amount of time on the musical one after I’d got the first prototype working because I wanted something that “sounds nice”. I think there’s an interesting tension there between the idea of chess as a music representation (whether it’s a tone matrix or a score for a melody etc.) and the question of whether any given (or the average) chess position is actually musically interesting. I spent a lot of time trying slightly different configurations of sound and relationship of pieces/position to music, basically searching for something that sounded good - but it might be the case the chess just isn’t a very interesting sounding game. I mean, why should it be?

The final version goes more for mood with a kind of Philip Glassy minimalism most of all because it’s a safe way to process discrete information (a position) into something that sounds at the very least inoffensive. That paired with Rilla’s idea that white and black could be organized into different (related) chords gives you at least some sense of drama and turn taking in the music, which is therefore chess-like. The fact more advanced pieces are higher pitched also helps musically give a sense of what the position is like if you let it play through. So while the music itself is not really something I think I’d listen to voluntarily, it at least feels informationally worthwhile and still sounds at least “okay” as music thanks to the generic usefulness of chords and scales and keys and so forth that organizes musical information.

Checking checkers

The big remaining task in the overall project is polishing off the checkers version which has the most intensely irritating consequences for all the rules of chess. I just realized before lunch that castling through check would now be plausible, so that’s a big and difficult thing to realize - I don’t know if you can force a castling move? If not I suppose you can just set the board that way, but lots of special case stuff going on there. And then there’s check and checkmate that require a bunch of stuff too, not to mention not disallowing particular moves that seem to be in check (which will require looking at all moves not just legal moves, and recalculating legality for myself - but I think that’s something I did for Gravity, so should have the bones of it somewhere).

The checkers version is actually pretty satisfying, so I do want to get it all right so that someone can play in the right spirit.


Done??? (Wednesday, 25 March 2020, 13:35PM)

Am I right in thinking this game is perhaps actually finished? All the games appear to work. I’ve commented and refactored the code so it’s perhaps the least horrific piece of work I’ve put out into the creative commons (attribution) landscape. I’m kind of feeling the sadness of project wind-down. All suggests it’s probably time to write the press kit and move on with something else?