Giter Club home page Giter Club logo

wooglies's Introduction

Wooglies.com

What this is

This is an experimental project that explores the state of online collaboration tech: multiplayer snapshot interpolation, reliable WebRTC connections, positional audio, WebXR, audio reactivity and others.

It also explores combining raymarching fragment shaders with rasterized scenes, enabling the rendering of soft and fuzzy 'wooglies' - players.

This project was built as a way to learn and experiment with collaborative tech and, as a result, is now a collection of useful solutions for certain common and less common problems in this space (i.e. connecting a WebRTC stream to WebAudio to enable positional audio, using https for WebXR development, or integrating a raymarched shader into a rasterized scene by generating a depth buffer, and so on), so I hope it is useful at least because of that.

It is built primarily with react-three-fiber, drei and react-xr, but it also depends on a number of other great packages. There is a lot of Three.js code sprinkled around. The project also required PRs to Three itself [1, 2].

The first version/prototype was publicly released on February 28th 2021.

All of the code (with the exception of the included fragment shaders, which come with their own individual licenseses) is licensed under the MIT license, so you're welcome to take and use what you need, according to the terms of the license.

What this isn't

This is not a well-documented well-structured bulletproof production ready application that you can pick up and transport to your environment.

Progress

In PROGRESS.md you'll find progress screenshots in chronological order, from the first unlit pair of cubes to the current state.

Contributions

Are very welcome!

Installation

npm install and npm run dev should do the trick - the application will then be accessible on https://localhost:8080. Be sure to configure a .env file with TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN, as the application depends on Twilio's STUN/TURN servers.

Useful references

https://github.com/somikdatta/cuckoo https://github.com/AidanNelson/threejs-webrtc https://github.com/coding-with-chaim/group-video-final https://discourse.threejs.org/t/positionalaudio-setmediastreamsource-with-webrtc-question-not-hearing-any-sound/14301/25

Thanks

  • Thank you @mjurczyk for your help with 3rd-person camera!
  • Thank you Leon Denise (author of the awesome volumetric shader), for letting me use and experiment with your shader!
  • All of the contributors to all of the open source projects this depends on! ๐Ÿ™‡

wooglies's People

Contributors

jure avatar

Watchers

James Cloos avatar  avatar

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.