All Projects β†’ hamoid β†’ Joukkue

hamoid / Joukkue

Licence: MIT license
Collaborative creative coding

Programming Languages

javascript
184084 projects - #8 most used programming language
CSS
56736 projects
HTML
75241 projects
shell
77523 projects

Projects that are alternatives of or similar to Joukkue

counter-interview.dev
a collaborative collection of interview questions collected from both sides of the game: Interviewer(s) and Interviewee.
Stars: ✭ 102 (+191.43%)
Mutual labels:  collaborative
Pad
πŸ““ An online, collaborative, real-time notepad built with WebSockets and NodeJS
Stars: ✭ 33 (-5.71%)
Mutual labels:  collaborative
core
Create 2d primitive shapes, encapsulate and repeat them by handling each repetition and generate recursive shapes
Stars: ✭ 34 (-2.86%)
Mutual labels:  creative-coding
Motus-Art
Weekly motion art projects created in JavaScript.
Stars: ✭ 129 (+268.57%)
Mutual labels:  creative-coding
SyncedStore
SyncedStore CRDT is an easy-to-use library for building live, collaborative applications that sync automatically.
Stars: ✭ 1,053 (+2908.57%)
Mutual labels:  collaborative
TimeWriter
An online collaborative text editor based on event sourcing architecture.
Stars: ✭ 41 (+17.14%)
Mutual labels:  collaborative
Introduction p5js
This is a french introduction to p5*js
Stars: ✭ 29 (-17.14%)
Mutual labels:  creative-coding
nvim
Repository for the Tandem NeoVim Plugin
Stars: ✭ 23 (-34.29%)
Mutual labels:  collaborative
css-art-gallery
A collection of CSS Arts.
Stars: ✭ 127 (+262.86%)
Mutual labels:  creative-coding
rtmidi2
python bindings to rtmidi allowing to listen to multiple ports simultaneously
Stars: ✭ 16 (-54.29%)
Mutual labels:  creative-coding
p5js-snippets
p5js snippets for atom.io
Stars: ✭ 22 (-37.14%)
Mutual labels:  creative-coding
redpanal
RedPanal web
Stars: ✭ 16 (-54.29%)
Mutual labels:  collaborative
2d-diffusion-limited-aggregation-experiments
Visual experiments exploring diffusion-limited aggregation (DLA) as a 2D morphogenesis tool.
Stars: ✭ 41 (+17.14%)
Mutual labels:  creative-coding
CCIDiploma-AutumnWinter2021
Lecture slides, wiki and examples from Unit 1 of the Creative Coding Institute's 2021 to 2022 Diploma in Creative Computing.
Stars: ✭ 19 (-45.71%)
Mutual labels:  creative-coding
creative-coding-notebooks
🎨 An authorial collection of fundamental recipes on Creative Coding and Recreational Programming.
Stars: ✭ 17 (-51.43%)
Mutual labels:  creative-coding
YouTube tutorial
I store all the code I used in my YouTube tutorial here. Feel free to download and play around themπŸ˜‰
Stars: ✭ 56 (+60%)
Mutual labels:  creative-coding
jamhub
low-latency jamming space for musicians
Stars: ✭ 29 (-17.14%)
Mutual labels:  collaborative
microbium-app
Draw new worlds
Stars: ✭ 89 (+154.29%)
Mutual labels:  creative-coding
GenerativeArtists
No description or website provided.
Stars: ✭ 22 (-37.14%)
Mutual labels:  creative-coding
awesome-processing
🎨 Creative Coding @processing Resources that u like
Stars: ✭ 39 (+11.43%)
Mutual labels:  creative-coding

NOTE: this project hasn't been updated in a long time. Some of it's dependencies are insecure! They need to be updated. Also, there's the realtime branch which I never finished. Therefore I will sadly archive Joukkue for the time being.

Joukkue - Collaborative Creative Coding

What is Joukkue?

Joukkue is a node.js based server used for having fun with your coder friends.

You can think of it as a geeky game, in which the players chat and write code (all at the same time or by turns), and the results are visible by all the players in a canvas.

It's like a bunch of people painting on a canvas all at the same time.

This initial version uses p5.js, but other audiovisual JavaScript libraries could be used.

The idea is that players can express themselves through code, learn from each other, react to the graphics generated by other players, and reply with their own code.

On a typical chat words are exchanged. With Joukkue you exchange shapes, colors and animation.

How to use it?

Joukkue is meant to be used in a local network, but nothing stops you from running it on a server (anyone can access it though, no users or passwords).

  1. Install node/npm
  2. Download Joukkue (clone or download zip)
  3. Open a terminal and cd into the Joukkue folder.
  4. npm install
  5. node server.js

At this point you should have a local server running on port 3000.

  • From your computer: open http://localhost:3000

  • Find out your IP address. If, for instance, it's 192.168.0.30, tell other players to open http://192.168.0.30:3000 in their browsers (Firefox / Chrome / Chromium recommended).

  • Click on [new layer]. A new row should appear. In the second column, enter some p5.js code, like

    ellipse(random(width), random(height), 30, 30);

and press ALT+ENTER to send it to everybody.

All players should see lots of ellipses being drawn. Anyone can create, change and delete layers. You can set your own rules for playing. For instance only one layer per person. Or only black and white. Or make a landscape together. Or a monster. You will have to agree (or not) on something :)

Don't use // for comments. They don't work. Use /* */ instead.

At the bottom there's a chat box. You can write messages to others there. If the message starts with a period . it means it's a command and it won't be sent to others, but processed. Try typing .help and press enter to find out about the available commands.

If you create something nice, you can right click the canvas to save a copy.

You can go to a different room by typing .room name-of-the-room The code you create is stored in a local database, so if you start Joukkue later again, the code for each room should be there.

More detailed and organized instructions will follow :)

Rules for playing Joukkue

  1. If someone breaks your code, don't worry. You are not your code :)
  2. Be nice.
  3. Have fun.

Screenshot

Joukkue

Tools used to build Joukkue

Ideas for later

  • Meta (advanced): you can send JavaScript code can listen to other coders coding :) From JS you can inspect the page, and change it. You can inject new functionality.
  • Saving images on the server? .save command. Send image to server.
  • Rewrite it all? :) This was built as a proof of concept without knowing exactly in which direction it would go. It could be simplified and improved by using certain libraries. Also, my day to day job is not JavaScript and it shows :)

Notes from 2017

I've been working on the "realtime" branch. This branch uses share.js and codemirror to automatically synchronize the text fields in real time and provide syntax highlighting and autocompletion. It does not yet have all the features from the master branch, but it works. Since the text field synchronization is taken care of, the code is much simplified.

In Feb 2017's Creative Code Jam I fixed some bugs, and realized that share.js is no longer maintained, and became share.db instead. This link provides some information about a possible upgrade to share.db: http://www.garzul.tonsite.biz/wordpress/2016/10/16/multi-user-collaborative-text-editing-with-sharedb-and-codemirror/

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