All Projects → Caltrop256 → InfiniCanvas

Caltrop256 / InfiniCanvas

Licence: GPL-3.0 license
An infinite canvas to edit online with other users!

Programming Languages

javascript
184084 projects - #8 most used programming language
TSQL
950 projects
CSS
56736 projects
HTML
75241 projects

Projects that are alternatives of or similar to InfiniCanvas

glNoise
A collection of GLSL noise functions for use with WebGL with an easy to use API.
Stars: ✭ 185 (+611.54%)
Mutual labels:  webgl2
procjam2018
Graph.ical, a procedural texture authoring application developed for PROCJAM 2018.
Stars: ✭ 42 (+61.54%)
Mutual labels:  webgl2
sdf-2d
A graphics library to enable the real-time rendering of 2D signed distance fields on the web.
Stars: ✭ 70 (+169.23%)
Mutual labels:  webgl2
Fruit-API
A Universal Deep Reinforcement Learning Framework
Stars: ✭ 61 (+134.62%)
Mutual labels:  multiplayer-game
experiments
A centralized location for my WebGL and other demos.
Stars: ✭ 34 (+30.77%)
Mutual labels:  webgl2
Final-Bomber
Bomberman/Dynablaster remake in C# using XNA.
Stars: ✭ 21 (-19.23%)
Mutual labels:  multiplayer-game
Webview-unity-3d-2017.3-or-higher-
Webview unity 3d 2017.3 or higher - can be open website url on unity3d or open Html5, html and js on unity offline
Stars: ✭ 18 (-30.77%)
Mutual labels:  html5-canvas
OpenTrivia
Multiplayer quiz game demo using React and Opentdb API
Stars: ✭ 47 (+80.77%)
Mutual labels:  multiplayer-game
Unity-Firebase-Multiplayer-Example
Multiplayer and Matchmaking system using Firebase Realtime Database in Unity
Stars: ✭ 32 (+23.08%)
Mutual labels:  multiplayer-game
urmusic
An application to make your own music visualizer, easily and for free!
Stars: ✭ 52 (+100%)
Mutual labels:  html5-canvas
jsGBC
👾 A GameBoy Color Emulator written in JavaScript
Stars: ✭ 44 (+69.23%)
Mutual labels:  html5-canvas
deck.gl-time-series-widget
A React Time Slider implementation for DECK.GL - (non)temporal data - by CPU filtering ⌛
Stars: ✭ 19 (-26.92%)
Mutual labels:  webgl2
uai shot
A multiplayer ship game built with Elixir, Phoenix Framework and Phaser. 🚀
Stars: ✭ 53 (+103.85%)
Mutual labels:  multiplayer-game
TanksNetworkingInAzure
Tanks Networking demo project from Unity Store that can be deployed in Azure Cloud and scaled using Kubernetes
Stars: ✭ 20 (-23.08%)
Mutual labels:  multiplayer-game
farmhand
A resource management game that puts a farm in your hand
Stars: ✭ 62 (+138.46%)
Mutual labels:  multiplayer-game
resimulated
1st place at Revision 2020 (PC 64K Intro)
Stars: ✭ 18 (-30.77%)
Mutual labels:  webgl2
waveplayer.js
An HTML5 based audio player with a waveform view
Stars: ✭ 73 (+180.77%)
Mutual labels:  html5-canvas
xQube
Boilerplate for realtime 3D rendering and server-side physics in HTML5 and NodeJS
Stars: ✭ 1 (-96.15%)
Mutual labels:  html5-canvas
TPS-SLG-GAME
Unity制作的多人在线的第三人称策略类射击游戏 ,服务端实现怪物寻路,服务端由python 实现。 (服务端没有用任何python第三方库)
Stars: ✭ 150 (+476.92%)
Mutual labels:  multiplayer-game
snake-game-2D
The famous 2D snake game in which your goal is to eat until you get huge and accumulate many points.
Stars: ✭ 18 (-30.77%)
Mutual labels:  html5-canvas

InfiniCanvas

Twitter | Reddit

InfiniCanvas Logo

Table of Contents

About

InfiniCanvas is an open source multiplayer experience in which users can place colored tiles on an infinite canvas. It's currently hosted on canvas.caltrop.dev!


Building

Navigate to the directory in which you want to save the project in.

Clone the repository (this will create a new folder).

$ git clone https://github.com/caltropuwu/infinicanvas

Move into the directory.

$ cd infinicanvas

Install dependencies.

$ npm install --save

Rename creds.example.json to creds.json (located in /backend) and fill out all relevant information.

InfiniCanvas uses MySQL to store data. Make sure a server is running locally. Create a database and execute the queries found in /tables.sql.

Start the application

$ node --harmony app.js

The server should now be online on http://localhost:5000/!

Tutorial

In the following you will learn about the basics of navigating and editing the canvas!

Panning-and-Zooming

There are a total of 3 different ways to pan the camera across the canvas:

  • Dragging the canvas
  • Clicking on a tile to center it
  • Using the Keyboard movement keys (Default: wasd or arrow-keys)

The first two methods are also available for mobile users!

Camera-Pan demonstration

You may zoom the camera in and out by using the mousewheel (on desktop) or pinching the screen (on mobile).


Placing-Tiles

Place tiles by dragging tiles from the color menu (located at the bottom-center of the screen) onto the canvas. You can also use the keyboard shortcut ctrl and shift to cycle through tiles. Pressing e toggles holding a tile. Tile-Placement demonstration


Contributing

You may be interested in contributing to this project, in the following section you will find out how to file Issues and submit code.

Bug-Reports-and-Feature-Requests

You can report Bugs and unintended behaviour here. Feature requests and suggestions can be submitted here.

If you have an unrelated issue you can submit it here.

Code-Contributions

Code contributions are greatly appreciated. You can contribute code by forking the project and filing pull-requests here. Please note that all contributions need to be reviewed before being instated.


Contributors

Shoutouts to:

License

The InfiniCanvas project is licensed under the GNU General Public License v3.0.


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