All Projects → conwayste → conwayste

conwayste / conwayste

Licence: GPL-3.0 license
Multiplayer Conway's Game of Life (desktop app + server) implemented in Rust

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to conwayste

cas
Cellular Automata Simulator
Stars: ✭ 22 (+0%)
Mutual labels:  cellular-automata
ardynia
An adventure game in the style of Zelda, for the Arduboy
Stars: ✭ 42 (+90.91%)
Mutual labels:  game-2d
cabasa
A generic 2D cellular automaton simulator
Stars: ✭ 21 (-4.55%)
Mutual labels:  cellular-automata
Finite-State-Machines
Implementation of the algorithm in the C#. https://tproger.ru/translations/finite-state-machines-theory-and-implementation/
Stars: ✭ 13 (-40.91%)
Mutual labels:  game-2d
goldensun html5
An online Golden Sun Engine entirely built in HTML5 with Phaser 2. Check https://gshtml5.org/
Stars: ✭ 117 (+431.82%)
Mutual labels:  game-2d
ShapeOfThingsThatWere
strategy game based on hex map and discoveries
Stars: ✭ 23 (+4.55%)
Mutual labels:  game-2d
ao-cliente
Client for Argentum Online
Stars: ✭ 61 (+177.27%)
Mutual labels:  game-2d
bomberman
👾 Versão do famoso Bomberman criado com a Linguagem Ruby
Stars: ✭ 19 (-13.64%)
Mutual labels:  game-2d
Growing-Neural-Cellular-Automata-Pytorch
Extended experiments of "Growing Neural Cellular Automata" https://distill.pub/2020/growing-ca/
Stars: ✭ 47 (+113.64%)
Mutual labels:  cellular-automata
playthos
2D Game Engine written in Go.
Stars: ✭ 39 (+77.27%)
Mutual labels:  game-2d
gdx2d
A simple to use Java library for games and graphics, for desktop (PC, Linux and Mac) and Android.
Stars: ✭ 27 (+22.73%)
Mutual labels:  game-2d
netomaton
A Python library for working with Network Automata, Cellular Automata, and other discrete dynamical systems
Stars: ✭ 38 (+72.73%)
Mutual labels:  cellular-automata
general-engine
🚀 Build creative scenarios by general system
Stars: ✭ 27 (+22.73%)
Mutual labels:  game-2d
terrame
TerraME is a programming environment for spatial dynamical modelling
Stars: ✭ 33 (+50%)
Mutual labels:  cellular-automata
evoplex
Evoplex is a fast, robust and extensible platform for developing agent-based models and multi-agent systems on networks. It's available for Windows, Linux and macOS.
Stars: ✭ 98 (+345.45%)
Mutual labels:  cellular-automata
PyGameofLife
Conway's Game of Life using python's matplotlib and numpy
Stars: ✭ 40 (+81.82%)
Mutual labels:  cellular-automata
gym-cellular-automata
Cellular Automata Environments for Reinforcement Learning
Stars: ✭ 12 (-45.45%)
Mutual labels:  cellular-automata
rlifesrc
A Game of Life pattern searcher written in Rust. 用 Rust 搜索生命游戏中的图样。
Stars: ✭ 15 (-31.82%)
Mutual labels:  cellular-automata
WildWorld
Sandbox freestyle multiplayer game/engine in LÖVE/LUA.
Stars: ✭ 35 (+59.09%)
Mutual labels:  game-2d
alchemy
Generate any a-by-( b + c ) finite rectangle SVG containing potentially Infinitely many a-by-( 2 * b ) finite rectangles animated along a number line of ( ( c - b ) / a )^n scale symmetry.
Stars: ✭ 29 (+31.82%)
Mutual labels:  cellular-automata

conwayste

Multiplayer Conway's Game of Life!

License: GPL v3 build status Discord

Life In Action Patterns!
conwayste.mp4
conwayste2.mp4

How to Play

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 and Shift-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.

Setup

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 😄.

Windows / MacOS

The Conwayste client and server compile and run right out of the box. Skip directly to Installation.

Linux

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).

OpenBSD

doas pkg_add llvm

You will also need this environment variable. Add to your profile if desired:

export LIBCLANG_PATH=/usr/local/lib

Installation

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.

Playing the Game

Running The Client

$ cargo run --bin client

Running the Server

$ 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. :)

FAQ

Did you write your own game engine?

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.

When will this be ready?

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.

My installation fails in Linux. What should I do?

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. :)

I found a bug! What should I do?

It would help the developers a lot if you could submit an issue in GitHub describing the bug.

Contributors

  • aaronm04
  • manghi

Your name could be here! Pull requests are welcome!

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].