Multiplayer Conway's Game of Life!
Life In Action | Patterns! |
---|---|
conwayste.mp4 |
conwayste2.mp4 |
Click on the desired menu option after the game boots. Start Game
is a good place to... start ;).
Once in game:
- Left click toggles a cell (by default).
- The number keys control what left click does (whether it toggles a cell or drops a pattern).
- If dropping a pattern, you can use
Shift-left
andShift-right
to rotate the pattern. Enter
to toggle chatbox focus.+
and-
to zoom in and out- Press
r
to toggle running/paused (Will not work in multiplayer mode). Space
to single step (Will not work in multiplayer mode).Esc
to go back to the menu.
Conwayste has been developed with cross-platform support in mind since day one using the Rust programming language! Your dependencies will likely vary based on your choice of operating system.
The easiest way to get the Rust compiler and toolchain is using Rustup.
This has been validated as runnable on:
- Ubuntu Linux (18.04 and 20.04)
- Fedora Linux 32
- Windows 10
- OpenBSD
- macOS Catalina (10.15.7)
There be dragons for any other operating system not listed above. Please tread carefully 😄.
The Conwayste client and server compile and run right out of the box. Skip directly to Installation.
On Linux, the ALSA development files are required. These are provided as part of the libasound2-dev
package on Debian and Ubuntu distributions and alsa-lib-devel
on Fedora. For any other distribution, please refer to your package manager and/or compile them from source.
Also install OpenSSL development files with openssl-dev
or openssl-devel
(depending on your distro).
doas pkg_add llvm
You will also need this environment variable. Add to your profile if desired:
export LIBCLANG_PATH=/usr/local/lib
Please clone this repository, and build the client and server using cargo
. The build may take several minutes to complete, depending on your system specs.
$ git clone https://github.com/conwayste/conwayste --recurse-submodules
$ cd conwayste/
If you cloned this previously and want to update, note that you may need to run git submodule init
then git submodule update
after pulling.
$ cargo run --bin client
$ cargo run --bin server --name "Example Server" --public-address yourserver.example.com:2016
If --public-address
is specified, the server automatically registers itself with the Official Conwayste Registrar. Leave this off if you are running a private server.
An alternate registrar can be specified with the --registrar-url
option:
$ cargo run --bin server --name "Example Server" --public-address yourserver.example.com:2016 --registrar-url https://yourregistrar.example.com/addServer
Use this if we didn't pay our server bills and someone else has their own registrar running. :)
Nope! We are using the ggez
engine and give many thanks to its developers and contributers. Head over to their GitHub page to learn more about it.
The developers have busy lives and enjoy working on this in their spare time. If you are waiting for a release, then I encourage you to contribute 😄. This could take the form of bug reports or design feedback as well as lines of code.
It's likely that we have not kept the installation steps up-to-date. Please Check the Ubuntu section in .travis.yml
for a guaranteed up-to-date list of packages if your installation fails. :)
It would help the developers a lot if you could submit an issue in GitHub describing the bug.
- aaronm04
- manghi
Your name could be here! Pull requests are welcome!