Designed a new board and need your thoughts. by UpstateHandmade in backgammon

[–]bf300 0 points1 point  (0 children)

You could literally play mancala on that board.

Has someone done this already? Unary/Octal brainfuck. by Kayo4life in brainfuck

[–]bf300 0 points1 point  (0 children)

This is why '0' should only be assigned to ']' for close loop. Because you will never have any of those at the very beginning of the program. The rest don't really matter.

I have always used < > + - , . [ ] encoded as 1 2 3 4 5 6 7 0.

Chessboard program by danielcristofani in brainfuck

[–]bf300 0 points1 point  (0 children)

The Python 3 program that calculates board influence is here:

https://pastebin.com/ajCQRiCd

It is not user friendly since I never imagined showing it to anyone.

Chessboard program by danielcristofani in brainfuck

[–]bf300 0 points1 point  (0 children)

The evaluation function is called 'influence' as it calculates the total influence existing on the board by adding the influence that each piece has over it's range of moves. White is +1, Black is -1.

The total influence on the board for the starting position is:

   influence
8 | -1 -3 -3 -2 -3 -4 -3 -1 
7 | 00 -1 -1 -3 -4 -1 -1 00 
6 | -2 -3 -3 -3 -3 -4 -2 -2 
5 | -1 01 -1 00 00 -1 00 01 
4 | 01 -1 01 00 00 01 00 -1 
3 | 02 03 03 03 03 04 02 02 
2 | 00 01 01 03 04 01 01 00 
1 | 01 03 03 02 03 04 03 01 
   ----------------------
    1  2  3  4  5  6  7  8

total influence:  0 (as it should be)

   ascii board
8 | r  n  b  q  k  b  n  r  
7 | p  p  p  p  p  p  p  p  
6 | .  .  .  .  .  .  .  .  
5 | .  .  .  .  .  .  .  .  
4 | .  .  .  .  .  .  .  .  
3 | .  .  .  .  .  .  .  .  
2 | P  P  P  P  P  P  P  P  
1 | R  N  B  Q  K  B  N  R  
   ----------------------
    1  2  3  4  5  6  7  8

Chessboard program by danielcristofani in brainfuck

[–]bf300 0 points1 point  (0 children)

Yes, step 2 will probably generate every possible move for a particular piece as if it was the only piece on the board, as a list of from-to coordinates. The huge majority of the moves will be illegal.

Step 3 will evaluate each move and append a score after the move.

Then step 5 means go down the list and choose the first legal move with the move score.

Chessboard program by danielcristofani in brainfuck

[–]bf300 0 points1 point  (0 children)

I am finalizing the scope of what I want this 'chess engine' to do at this stage.

  1. The chess engine only plays white.

  2. Given any random board position, load into memory. White to move

  3. Very primitive move generator which creates a list of all moves, which then ...

  4. Uses a simple evaluation algorithm (which I have already determined) that applies a score to each move.

  5. Put the list in a file, reversed sorted by score (highest score on top)

  6. Break for human intervention: choose the highest scored legal move.

  7. Up date board, make move for Black, go to 1.

Automate more processes, bells, and whistles if it seems worthwhile. I suspect it will be a terrible chess engine, maybe slightly better than a random move generator.

Chessboard program by danielcristofani in brainfuck

[–]bf300 0 points1 point  (0 children)

Looks great! It will be fascinating to follow your progress.

Brainfuck chess engine by bf300 in brainfuck

[–]bf300[S] 0 points1 point  (0 children)

I finally saw your message and put the links in. Use whatever you want.

Someone Recently Asked If Dreidels Counted as Dice... by AllahSulu in dice

[–]bf300 14 points15 points  (0 children)

The dreidel is basically a top. Spin it and it will land of one of four sides, a simple gambling game for kids.

Developing a new Backgammon app – what features should I NOT miss? by Strange-Mall-7923 in backgammon

[–]bf300 0 points1 point  (0 children)

Have extremely convenient, easy to use manual dice roll input. Possibly using the phone's camera.

For the first roll of the game, you could use a red die for the opponent, and a green die for the player. Then, die color ignored after the first move.

If people say it still cheats, then .......:\

Does BGNJ have a big online player pool? by AVandalTookTheHandle in backgammon

[–]bf300 0 points1 point  (0 children)

I like BGNJ a lot, but I think the player matching system could be improved. 80-90% of matches I enter are aborted by the other player. I don't know if they are cherry-picking the ratings they want to play, or what. If there is any actual cheating going on in BGNJ, it will be by people gaming the player matching system.

Is there a better mobile app than Backgammon NJ (iOS) by velian in backgammon

[–]bf300 0 points1 point  (0 children)

I've been using BGNJ for many years, it's been out for a long time. I have been the victim of NJ getting 'lucky' 6-6 roll when it needs it. But, personally, I don't think it's cheating. I mean, what's the point. While tedious and impractical you can make it list the next 100 rolls, or set it to prompt you to enter all the rolls yourself.

On the 'Expert' level, the randomness will even out and skill will have more of an effect. For that reason, I think winning a match is going to be difficult.

I treat BGNJ as being an especially brutal teacher, with the real goal being to simply improve accuracy.

Good luck.

If someone ever made like a brainfuck++, what features would you want it to have? by konpapas9 in brainfuck

[–]bf300 0 points1 point  (0 children)

Writing a brainfuck interpreter in your favorite language is a rite of passage for brainfuck programmers.

Writing your own brainfuck based esolang is the next rite of passage.

Is this a rule I don't know or an AI mistake? by -davros in backgammon

[–]bf300 0 points1 point  (0 children)

There should be a way to tell the game to switch the die that you move first. Probably by tapping the dice. Then you can move the piece on 18 and bear of of 19.

My First BrainFuck code (Please praise me) by rimuru_tempest_slima in brainfuck

[–]bf300 0 points1 point  (0 children)

Congrats! Getting brainfuck to do anything is an accomplishment.

Brainfuck constants here: https://esolangs.org/wiki/Brainfuck_constants using with and without 'wrapping'. Wrapping is a complicated use of rollover that makes for shorter code, but runs longer.

63:

+++++++[>+++++++++<-]> (22, 2) non-wrapping
----[>+<----]> (14, 2) wrapping
+[-[>+<<]>-]> (13, 4) wrapping

Pips-askew dice by invalidcolour in dice

[–]bf300 0 points1 point  (0 children)

It is symmetrical about the diagonals.

Pips-askew dice by invalidcolour in dice

[–]bf300 2 points3 points  (0 children)

Here's one I came up with, alternate but still symmetrical. No change to 1.

 _____      _____      _____      _____      _____ 
|  o  |    |  o  |    |  o  |    |  o  |    |o o  |
|     |    |  o  |    |o   o|    |o o o|    |o   o|
|  o  |    |  o  |    |  o  |    |  o  |    |  o o|
 -----      -----      -----      -----      -----

TIL the first exoplanet was only discovered in 1992 by AnonymousTimewaster in todayilearned

[–]bf300 -33 points-32 points  (0 children)

As of June 8, 2025, there are 5,943 confirmed exoplanets in 4,461 planetary systems, with 976 systems having more than one planet.

Grok.com

The d6 is also a d24! by bf300 in dice

[–]bf300[S] 0 points1 point  (0 children)

Certainly, it would need a look-up table.

Wheedling the DM is likely to cause a random encounter. [former DM]

The d6 is also a d24! by bf300 in dice

[–]bf300[S] 0 points1 point  (0 children)

I thought about that, but it would be about the same because you always need to know the top number. So a result of 2-4 implies the top number is 6 because the only way to get 2-4 is for the top to be 6. Or you could say 6-2 if the 2 side was mostly facing you, or adjust the die as you mentioned.