Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: 2D Tilemap on Top of Jitsi Meet (github.com)
162 points by moron4hire 89 days ago | hide | past | web | favorite | 43 comments

We had a really similar idea!


Leaned in way more on the 2d game aspect of it, and have video drop-off too, but the place it came from: "being able to have multiple conversations in the same shared space without hearing everyone at the same time" is the same.

I had a very nice conversation with one of your developers in your app. I hope you folks can build on your tool and find a path to success. Good luck in your endeavors!

I had a lot of really great conversations with completely random people tonight. It was a lot of fun chasing them around the little map, screaming "YOU BETTER RUN!" And then talking about VR and open source and projects and even foreign language learning. It's weird, I didn't set out to have "open office hours for the internet at large", but it's now kind of feeling like a thing, and I'm kind of liking it. Maybe that's the take-away with this stupid project. Maybe everyone should have their own, private voice chat server where anyone else can hop in at any time.

This is really neat. I logged in for a few seconds to check out the interface (should have taken a screenshot). The center of the meeting shows a large white square window and smaller colored squares indicating other meeting participants. You can drag your square (avatar) around the window to place yourself next to others.

I have a standing virtual happy hour with some friends every week. If I can figure out how to get this to work with my docker/traefik deployment, I'll have to try it with my friend group and see how it works.

Thanks for creating and sharing this!

Jitsi Meet itself is really easy to setup. My "game" is just a static HTML file that uses the Jitsi Meet web API, except for the volume control. Because Jitsi Meet's Web API installs through an iframe, I had to modify the web files for my install slightly.

It's one additional line in `/use/share/jitsi-meet/index.html` to include a very small JS file that sets up a RPC pipe between my window and the Jitsi Meet window.

Other than that, I wore everything in vanilla JS and HTML5, so there aren't any other dependencies to manage, no build systems to run. Just dump the files somewhere (I'm running the front end in Azure CDN right now) and go.

Would be cool to have a podium that a user can step up to and speak to all with no falloff. Perhaps with some sort of permission or nomination.

That's a cool idea, I like it.

TSaaS (Talking Stick as a Service)

I got a phone call after posting this today that makes me think you might be able to find a VC in SV willing to pay for that.

Cool idea! Positional audio is something IMHO underused in todays conference solutions. (Mumble supports it out of the box, but as far as I know its position sources are all game plugins)

Thanks. Positional audio teleconf in the browser was something I hacked on back 5 years ago when WebVR first came out. Unfortunately, Google broke positional audio, then WebVR, then changed a lot of how WebAudio worked.

Lately, I'm involved with a few meetups that miss the dynamic of a real meetup. So I threw this together to hopefully get some semblance of the meetup space again.

It's really simple. Jitsi Meet has a web app API that basically loads a standard Jitsi Meet install in an iframe, with some inter-window communication setup using Window.postMessage. I add a small hack on Jitsi Meet's default install to take my own postMessage calls to sniff out the HTML audio elements Jitsi Meet creates and modifies their volume.

For the position of participants, I use Jitsi Meets inter-user text messaging system to send data packages. Then I just scale each user's audio volume based on a linear scale. Anyone closer than 3 squares is rendered in full volume, and anyone further than 14 is muted. And of course, settings in the scripts to scale these values. They could even be per-user, if they wanted to scale how well they can hear.

There's no stereo pan or ambisonics, but hopefully the volume level scaling is enough to make for useful meetups.

This is great! I was toying around with the idea of building some sort virtual comedy stage. It would be a web conference with one person streaming audio and video and everyone else is audience with audio only to have audience/laughter track. Anyone build something similar on jitsi?

I made a prototype a week ago with a face recognition engine on the frontend, connecting into the Jitsi JavaScript API, running my own Jitsi server on DigitalOcean.

The result: the video conferencing only showed faces! Imagine the possibilities of moving those faces around a stage, or using virtual cutouts where the faces would appear, etc.

It was very very fun, I have screenshots of 10 people connecting at once -- hit me up if you want to pursue something :-)

Should be pretty easy with the basic iframe API. I spent more time trying to figure out a cheap way to host everything than I did building the functionality.

It's not in Jitsi, but it's worth the $5. https://store.steampowered.com/app/665360/Comedy_Night/

Awesome! I was thinking along these lines the other day, and picturing a “virtual conference” game where you could walk around and join ad-hoc circles of conversation. Maybe you’d see profile photo avatars for the people near you, and the further away ones would be generic avatars. I think it’d be a cool way to bring some of the serendipity of walking around a conference to online meetings. Maybe introduce a limit to the size of a circle too, so you don’t get 50 people crowded around the 1 famous person.

It made me quite happy to be able to leave the meeting entirely. Do you think you could turn this into an Ad-hoc D&D dungeon so that when you leave, you could take a party out into the rest of the "office" and fight mutated paperclips, overstuffed file cabinets, and disorganized supply closets?

Make the tileset and I'll make it happen :)

Reminds me a little of genvid.

They make tech that takes data from streamed games and lets you use that data to make interactive client side overlays on the stream that sync to the game.


Open for contributions! I just wanted to prove out the core concept of scaling the audio. Now that I know that works, really want to dig into making art assets and interactions for people.

Thanks, this is really cool.

I am also working on my own Jitsi Hack, trying to add feature for Agile meetings -> https://meet.retrolution.co/?utm_source=HN

I was thinking to add some features similar to yours in order to implemented Liberating Structures http://www.liberatingstructures.com/

I think this is great. Thanks! I'm new to jitsi, so is this audio only or can you get a video to work as well? Lots of interesting things. Great work.

Jitsi does video by default. I turned it off because... The map is in the way, you won't see it. Plus, I plan to do customizable avatars.

I'm generally of the opinion that the video feed is useless in 90% of teleconferencing situations.

I 90% agree with your opinion. A video does add some useful information, but 90% of the benefit could come from a small window of the person(s) you are talking to- maybe 90px by 90px.

Unfortunately, not going to work with how Jitsi does their Web API through an iframe. Ol' OpenTok, before they got bought out by Vonage, could have been used because they inftected new DOM elements into the current page. But with the Jisti Meet interface timing in an iframe, I just don't have enough access to composite things like that.

They also have a more low-level API! (There is an example app in the /doc folder, it looked reasonable to use)


Cool, I was looking for something like this but didn't find it.

Also, reminds me that I need to submit a pull request for their iframe API, because I stumbled on some missing information in it. Luckily, was pretty easy to guess at the right values.

Cool! I recently tried Mozilla Hubs [1], which is a similar concept but in 3D. Worked pretty well, although it was a bit awkward to not be able to see facial expressions on your avatar. And I got a bit nauseous after some time.

[1] https://hubs.mozilla.com/

Really interesting idea!

Screenshots in the readme would do wonders for getting the point across.

Now if only Zoom had a robust plugin system...

Got it in there now!

to anyone working on such hacks, I love this. It reminds me a little bit on how Sococo lays out its UI[1][2] in case you're looking for inspiration.

[1] https://socialmediaexplorer.com/wp-content/uploads/2014/07/S...

[2] https://windows-cdn.softpedia.com/screenshots/Sococo_17.png

Love those layouts

Does this hack keep the location of users synced between each other?

If so, this seems like it could "easily" be expanded into something like Roll20 where tokens are on a gridded map with an image background.

Each user basically sends a text message through Jitsi Meet to update each other on their locations.

This looks super rad and inspires me to whip up my own Jitsi hacks.

I had a Jitsi Meet server kicking around months before coronavirus and now it's seeing more use. I'll give this an install!

We are 2 or 3 cool projects like these away from the McGuffin tech in Neal Stephenson's REAMDE.

I'm not familiar with the book

The backstory to REAMDE is that an MMORPG turns out to also be a really good platform for teleconferencing. Gradually more and more business moves into this MMORPG until the company releases a "business version" and a significant proportion of the world economy is run through what is essentially a professional version of WoW.

Sounds like Second Life. https://www.connect.secondlife.com/about

Sounds like ready player one before the contest. When did it come out?


Got any screenshots?

In the readme now!

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact