All Projects → jonathanballs → backgammony

jonathanballs / backgammony

Licence: GPL-3.0 license
A backgammon client with multiplayer support

Programming Languages

d
599 projects
shell
77523 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to backgammony

nicotine-plus
Graphical client for the Soulseek peer-to-peer network
Stars: ✭ 601 (+1524.32%)
Mutual labels:  gtk, p2p
Eiskaltdcpp
File sharing program using DC and ADC protocols
Stars: ✭ 277 (+648.65%)
Mutual labels:  gtk, p2p
Dino
Modern XMPP ("Jabber") Chat Client using GTK+/Vala
Stars: ✭ 1,637 (+4324.32%)
Mutual labels:  gtk, p2p
ascii-chat
A terminal-based peer-to-peer (P2P) end-to-end-encrypted (E2EE) video chat application with text messaging, written in OCaml. Supports up to 4 clients. Supports connections over internet and LAN.
Stars: ✭ 20 (-45.95%)
Mutual labels:  p2p
swarm-peer-server
🖧 A network swarm for creating secure P2P connections over BitTorrent DHT, DNS, and mDNS.
Stars: ✭ 41 (+10.81%)
Mutual labels:  p2p
go-multiverse
Decentralized Version Control System
Stars: ✭ 76 (+105.41%)
Mutual labels:  p2p
reco
A simple audio recording app for modern Linux desktop environment like Pantheon
Stars: ✭ 47 (+27.03%)
Mutual labels:  gtk
combatris
A "perfect" implementation of an old classic
Stars: ✭ 20 (-45.95%)
Mutual labels:  multiplayer
libappindicator-rs
Rust safe bindings for the libappindicator library
Stars: ✭ 27 (-27.03%)
Mutual labels:  gtk
flowchain-ledger
A distributed ledger for the p2p and decentralized IoT devices in JavaScript.
Stars: ✭ 58 (+56.76%)
Mutual labels:  p2p
p2pflow
Ethereum p2p traffic analysis with eBPF
Stars: ✭ 24 (-35.14%)
Mutual labels:  p2p
microsocial
Microsocial is an experimental social platform that takes a peer-to-peer approach to social media.
Stars: ✭ 21 (-43.24%)
Mutual labels:  p2p
WebRTC
Unofficial builds of Google WebRTC iOS Framework
Stars: ✭ 283 (+664.86%)
Mutual labels:  p2p
cloud-game-servers-examples
Collection of examples for using Google Cloud Game Servers.
Stars: ✭ 28 (-24.32%)
Mutual labels:  multiplayer
OSIS
Entity Component System with network support (for haxe)
Stars: ✭ 40 (+8.11%)
Mutual labels:  multiplayer
gsmartcontrol
GSmartControl - Hard disk drive and SSD health inspection tool
Stars: ✭ 183 (+394.59%)
Mutual labels:  gtk
Kosm-Classic-FPS-Template-UE4
Classic Arena First-Person-Shooter Mechanics for Unreal Engine 4.
Stars: ✭ 38 (+2.7%)
Mutual labels:  multiplayer
tordam
A library for peer discovery inside the Tor network
Stars: ✭ 13 (-64.86%)
Mutual labels:  p2p
level10
Phoenix LiveView multiplayer card game
Stars: ✭ 51 (+37.84%)
Mutual labels:  multiplayer
king of tokyo
👑 King of Tokyo Multiplayer Board Game using Phoenix LiveView
Stars: ✭ 25 (-32.43%)
Mutual labels:  multiplayer

Backgammony Build Status

Backgammony is a backgammon client for Linux written with Dlang and GTK. It supports local AIs as well as trustless network games. It's targeted towards casual play and thus forgoes the analysis and tutor features present in other backgammon software in favor of a more streamlined and pleasant user interface.

Screenshot

Installing

flatpak install uk.jnthn.backgammony

Download on Flathub

Artificial Intelligences

Backgammony currently only supports the GNU Backgammon artificial intelligence since there is no standard communication protocol like there is for chess. I am currently writing my own engine and will document the communication protocol (likely based on the Backgammony network play protocol) in an attempt to bring some standardisation to this area.

Network Play

Backgammony has support for both LAN and internet games matched through a remote server. Backgammony brings an innovative approach to network play - predominantly where it has to generate dice rolls. The algorithm uses a basic commitment scheme to ensure that dice rolls are non-interferable and games are trustless. To view the dice roll implementation please inspect the DiceRoll class in the networking package. The protocol lacks certain features notably the doubling cube and could not be considered to be complete. Future work will be invested in fleshing out and documenting the protocol.

Building

Backgammony is written in the D language so make sure that you have a D compiler and the Dub package manager installed. Navigate to the project directory and run:

dub build && ./backgammon
# Or for flatpak (this installs gnubg inside the flatpak container)
flatpak-builder --install build-dir resources/linux/uk.jnthn.backgammon.json --force-clean --user

Make sure that you install GNU Backgammon installed if you wish to play against an AI as Backgammony does not have an AI currently.

A historic event: The first backgammon game in its 5000 year history that was truly trustless

FirstGame

NB: The software crashed halfway through the game

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].