pixeldike

Crates.iopixeldike
lib.rspixeldike
version0.1.0
sourcesrc
created_at2024-03-25 14:15:45.450297
updated_at2024-03-25 14:15:45.450297
descriptionpixel drawing game for programmers inspired by reddits r/place
homepage
repositoryhttps://github.com/ftsell/pixeldike.git
max_upload_size
id1185327
size624,312
Finn-Thorben Sell (ftsell)

documentation

https://docs.rs/pixeldike

README

pixeldike

crates.io Crate Documentation

A fast and reusable pixelflut implementation

Pixelflut is a competitive programing game that provides a 2D pixel canvas upon which many people can set single color values over the network.

Logo

The implementation contained in this repository is done in Rust and includes a reusable library as well as a standalone binary. The library

Features

The following features are implemented:

  • Generic protocol serialization and parsing
  • TCP Transport
  • UDP Transport
  • WebSocket Transport
  • Live-Streaming of the servers canvas via RTMP/RTSP
  • Live-Display of the servers canvas via a window or linux framebuffer device
  • Drawing of images (and colored rectangles) on a remote servers canvas

Installation

Install via cargo from source

This installation methods assumes you already have a working rust toolchain and a working cargo command. If you do you can run the following:

cargo install --git=https://github.com/ftsell/pixeldike.git --all-features --bin=pixelflut

Usage examples

  • Retrieve command-line help

    pixeldike -h
    pixeldike server -h
    
  • Start a pixelflut tcp server on port 1234 with default size and persisted in the file ~/pixmap.pixmap

    pixeldike server --file ~/pixmap.pixmap --tcp 1234
    
  • Start a pixelflut udp server on port 1234 with custom size and persisted in the file ~/pixmap.pixmap

    pixeldike server --file ~/pixmap.pixmap --udp 1234 --width 10 --height 20
    
Commit count: 394

cargo fmt