The exact rules of Senet are possibly lost to history, but others have deduced how to play. Senet has a simple board layout of 30 consecutive squares, although every Senet board arranges the board into three rows of ten squares. Because the squares are consecutive, you traverse them in a sort of "reverse S" configuration:
After square 26, if you land on square 27, your piece "dies" and is "resurrected" at square 15. If you land on square 28, you need to throw an exact "3" to move that piece off the board. If you land on square 29, you need to throw an exact "2" to move that piece off the board. Most boards have special markings on these squares.
You can't have more than one piece on any square. And instead of a standard 6-sided die, you make your "throws" by tossing four flat sticks, black on one side and white on the other. Basically, you toss four coins, heads or tails. The "throw" is the number of white sides shown (or number of heads, if you use coins). If no white sides (or heads) then the "throw" is a "6" and you get to go again.
With only these simple rules, Senet is a fun game to play. But it's hard to find people to play Senet with. Several years ago, I had an idea to write a version of Senet that I could play against. Sure, there are a few free Senet games out there, but they either aren't open source software or they are written in a programming language I'm not familiar with. And because not everyone agrees on the rules, every implementation of Senet has its own rules.
I wrote Simple Senet to implement a rule set that I preferred, with an eye to creating a modular rule set that you could configure to your own preferences. As an experiment to see which play style would perform better, I wrote my first version of Simple Senet as a simulator, where one side plays a defensive game, the other plays an aggressive game. Because it was an experiment, I wrote it with ncurses, so it ran at the console.
I haven't touched this program in several years. I think it would be great for someone else to pick up this interesting project and implement it in GNOME. Use a module rules system so you can configure the game play in the Settings. And most importantly, make it turn-based with the option to play against a computer (either defensive or offensive).
If you're interested in becoming the maintainer for this program, let me know. You can either send me an email or post a comment below.
image: Wikimedia (cc)