GithubHelp home page GithubHelp logo

8192px's Introduction

8192px - A collaborative pixel canvas that grows over time

8192px is a little pixel art experiment for the web where users have to work together to fill out the canvas as the timeouts in-between being allowed to place a pixel makes it hard for a single person to fill out the canvas.

The rules are quite simple:

  • The canvas starts out at 2x2, and grows by 2x2 every 8192 seconds of users being active.
  • After placing a pixel, a user must wait a deterministic random amount from 0 to 8192, the scale of the value depends on the number of active users.

Mouse and keyboard controls:

  • Click and drag to pan.
  • Shift/Control click to zoom.
  • Double click to place a pixel.

Touch controls:

  • Drag to pan
  • Pinch to zoom.
  • Double tap to place a pixel.

You can see it in action at http://8192px.co, the server is a droplet hosted over at DigitalOcean.

The server is written in Node with the only dependencies being mime and ws. Due to the lack of a good image library for node, it pipes bitmap data through convert, which needs to be available on the server.

The client has no external dependencies, and should run fine in any reasonable modern browser.

8192px's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

8192px's Issues

Sending a packet with bytes 4 or 6 set to 0 causes client to crash

At line 107 of the server file, there is no check for whether width and height are 1 and not 0. If they are set to 0 by a modified client or script, a DOMException occurs on the client and crashes the canvas when the resulting packet is broadcast, necessitating a refresh.

Site seems to be down

Chrome leaves the user with this error when trying to reach the website linked in the readme:
This site can’t be reached
8192px.co’s server IP address could not be found.
Search Google for 8192px co <-- link to google search
ERR_NAME_NOT_RESOLVED

Zooming is a bit trippy

I find that zooming either zooms in a whole lot, or it sometimes zooms out so far you can't even see where the actual canvas is anymore. Could this be fixed? It's kind of annoying trying to find the canvas after zooming out.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.