
Show HN: 2D Tilemap on Top of Jitsi Meet - moron4hire
https://github.com/capnmidnight/lozya
======
liamuk
We had a really similar idea!

[https://town.siempre.io/](https://town.siempre.io/)

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.

~~~
moron4hire
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!

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

------
dvno42
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!

~~~
moron4hire
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.

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

~~~
disk0
TSaaS (Talking Stick as a Service)

~~~
moron4hire
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.

------
detaro
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)

~~~
moron4hire
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.

------
discordianfish
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?

~~~
gregsadetsky
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 :-)

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

------
PTOB
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?

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

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

[https://www.genvidtech.com/](https://www.genvidtech.com/)

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

------
maxired
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](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/](http://www.liberatingstructures.com/)

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

~~~
moron4hire
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.

~~~
talkingtab
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.

~~~
moron4hire
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.

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

[https://github.com/jitsi/lib-jitsi-meet](https://github.com/jitsi/lib-jitsi-
meet)

~~~
moron4hire
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.

------
Vinnl
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/](https://hubs.mozilla.com/)

------
transitivebs
Really interesting idea!

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

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

~~~
moron4hire
Got it in there now!

------
DyslexicAtheist
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...](https://socialmediaexplorer.com/wp-
content/uploads/2014/07/Sococo-1024x617.png)

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

~~~
moron4hire
Love those layouts

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

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

------
davidlinc1
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!

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

~~~
moron4hire
I'm not familiar with the book

~~~
lainga
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.

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

~~~
detaro
2011

------
ebg13
Got any screenshots?

~~~
moron4hire
In the readme now!

